diff --git a/Hdnug.Web/Controllers/HomeController.cs b/Hdnug.Web/Controllers/HomeController.cs index cf38175..6472a41 100644 --- a/Hdnug.Web/Controllers/HomeController.cs +++ b/Hdnug.Web/Controllers/HomeController.cs @@ -28,13 +28,15 @@ public ActionResult Index() var prizeSponsors = _repo.Find(new ActivePrizeSponsors()).ToList(); var currentMonthMeetings = meetings.Where(x => x.MeetingStartDateTime.Month == DateTime.Today.Month && x.MeetingStartDateTime.Year == DateTime.Today.Year); var sponsors = currentMonthMeetings.SelectMany(x => x.Sponsors); + var upcomingMeetingCount = _repo.Find(new UpcomingMeetings()).ToList().Count; var viewModel = new HomeViewModel { PresentationCount = presentationCount, Meetings = meetings, SliderImages = sliderImages, Sponsors = sponsors, - PrizeSponsors = prizeSponsors + PrizeSponsors = prizeSponsors, + UpcomingMeetingCount = upcomingMeetingCount }; return View(viewModel); @@ -44,10 +46,12 @@ public ActionResult UpcomingMeetings() { var meetings = _repo.Find(new UpcomingMeetings()).ToList(); var presentationCount = meetings.Select(x => x.Presentations).Count(); + var upcomingMeetingCount = meetings.Count; var viewModel = new MeetingListViewModel { PresentationCount = presentationCount, Meetings = meetings, + UpcomingMeetingCount = upcomingMeetingCount }; return View(viewModel); @@ -57,10 +61,12 @@ public ActionResult PastMeetings() { var meetings = _repo.Find(new PastMeetings()).ToList(); var presentationCount = meetings.Select(x => x.Presentations).Count(); + var upcomingMeetingCount = _repo.Find(new UpcomingMeetings()).ToList().Count; var viewModel = new MeetingListViewModel { PresentationCount = presentationCount, Meetings = meetings, + UpcomingMeetingCount = upcomingMeetingCount }; return View(viewModel); @@ -68,12 +74,22 @@ public ActionResult PastMeetings() public ActionResult About() { - return View(); + var upcomingMeetingCount = _repo.Find(new UpcomingMeetings()).ToList().Count; + var viewModel = new ViewModelBase + { + UpcomingMeetingCount = upcomingMeetingCount + }; + return View(viewModel); } public ActionResult Contact() { - return View(); + var upcomingMeetingCount = _repo.Find(new UpcomingMeetings()).ToList().Count; + var viewModel = new ViewModelBase + { + UpcomingMeetingCount = upcomingMeetingCount + }; + return View(viewModel); } [HttpPost] diff --git a/Hdnug.Web/Controllers/MeetingsController.cs b/Hdnug.Web/Controllers/MeetingsController.cs index d9f8b10..ae5bf72 100644 --- a/Hdnug.Web/Controllers/MeetingsController.cs +++ b/Hdnug.Web/Controllers/MeetingsController.cs @@ -34,12 +34,14 @@ public ActionResult Details(int meetingId, int id) var presentation = meeting.Presentations.Single(x => x.Id == id); var sponsors = meeting.Sponsors.ToList(); var prizeSponsors = _repository.Find(new ActivePrizeSponsors()).ToList(); + var upcomingMeetingCount = _repository.Find(new UpcomingMeetings()).ToList().Count; var meetingDetailsViewModel = new MeetingDetailsViewModel { Meeting = meeting, Presentation = presentation, Sponsors = sponsors, - PrizeSponsors = prizeSponsors + PrizeSponsors = prizeSponsors, + UpcomingMeetingCount = upcomingMeetingCount }; return View(meetingDetailsViewModel); } diff --git a/Hdnug.Web/Hdnug.Web.csproj b/Hdnug.Web/Hdnug.Web.csproj index 2eba808..dfa4c29 100644 --- a/Hdnug.Web/Hdnug.Web.csproj +++ b/Hdnug.Web/Hdnug.Web.csproj @@ -265,6 +265,7 @@ + diff --git a/Hdnug.Web/Models/ViewModels/HomeViewModel.cs b/Hdnug.Web/Models/ViewModels/HomeViewModel.cs index 7b1766f..34f044b 100644 --- a/Hdnug.Web/Models/ViewModels/HomeViewModel.cs +++ b/Hdnug.Web/Models/ViewModels/HomeViewModel.cs @@ -3,7 +3,7 @@ namespace Hdnug.Web.Models.ViewModels { - public class HomeViewModel + public class HomeViewModel : ViewModelBase { public HomeViewModel() { diff --git a/Hdnug.Web/Models/ViewModels/MeetingDetailsViewModel.cs b/Hdnug.Web/Models/ViewModels/MeetingDetailsViewModel.cs index d207e30..620c070 100644 --- a/Hdnug.Web/Models/ViewModels/MeetingDetailsViewModel.cs +++ b/Hdnug.Web/Models/ViewModels/MeetingDetailsViewModel.cs @@ -3,7 +3,7 @@ namespace Hdnug.Web.Models.ViewModels { - public class MeetingDetailsViewModel + public class MeetingDetailsViewModel : ViewModelBase { public Meeting Meeting { get; set; } diff --git a/Hdnug.Web/Models/ViewModels/MeetingListViewModel.cs b/Hdnug.Web/Models/ViewModels/MeetingListViewModel.cs index 9a0a6e9..2a2352d 100644 --- a/Hdnug.Web/Models/ViewModels/MeetingListViewModel.cs +++ b/Hdnug.Web/Models/ViewModels/MeetingListViewModel.cs @@ -3,7 +3,7 @@ namespace Hdnug.Web.Models.ViewModels { - public class MeetingListViewModel + public class MeetingListViewModel : ViewModelBase { public int PresentationCount { get; set; } public IEnumerable Meetings { get; set; } = new List(); diff --git a/Hdnug.Web/Models/ViewModels/ViewModelBase.cs b/Hdnug.Web/Models/ViewModels/ViewModelBase.cs new file mode 100644 index 0000000..6246588 --- /dev/null +++ b/Hdnug.Web/Models/ViewModels/ViewModelBase.cs @@ -0,0 +1,10 @@ +using System.Collections.Generic; +using Hdnug.Domain.Data.Models; + +namespace Hdnug.Web.Models.ViewModels +{ + public class ViewModelBase + { + public int UpcomingMeetingCount { get; set; } + } +} \ No newline at end of file diff --git a/Hdnug.Web/Views/Shared/_Layout.cshtml b/Hdnug.Web/Views/Shared/_Layout.cshtml index 85449f8..f0d63d1 100644 --- a/Hdnug.Web/Views/Shared/_Layout.cshtml +++ b/Hdnug.Web/Views/Shared/_Layout.cshtml @@ -1,4 +1,5 @@ - +@model Hdnug.Web.Models.ViewModels.ViewModelBase + @@ -26,7 +27,7 @@