public void SetUp() { _dayModel = new Day { Date = new DateTime(2014, 8, 26), Slots = new List <Slot> { new Slot { StartTime = new DateTime(2014, 8, 26, 7, 30, 0) } } }; _sut = new AgendaDayViewModel(_dayModel); }
public void SetUp() { _repository = new MockRepository(); _timeService = new MockTimeService(); _sut = new AgendaViewModel(_repository, _timeService) { AgendaDays = new List <AgendaDayViewModel> { new AgendaDayViewModel { Date = new DateTime(2014, 10, 6) }, new AgendaDayViewModel { Date = new DateTime(2014, 10, 7) }, new AgendaDayViewModel { Date = new DateTime(2014, 10, 8) } } }; _firstDay = _sut.AgendaDays.First(); _lastDay = _sut.AgendaDays.Last(); }
public PartialViewResult Agenda() { var model = new AgendaViewModel(); var user = UserManager.FindByName(User.Identity.Name); var begin = DateTime.Today; var end = DateTime.Today.AddDays(7); // Alle Dates bei denen der Benutzer als Dozent eingetragen ist var lectureDates = Db.ActivityDates.Where(d => d.Hosts.Any(l => !string.IsNullOrEmpty(l.UserId) && l.UserId.Equals(user.Id)) && d.End >= begin && d.End <= end).OrderBy(d => d.Begin).ToList(); foreach (var date in lectureDates) { var agendaDay = model.Days.SingleOrDefault(d => d.Day.Date == date.Begin.Date); if (agendaDay == null) { agendaDay = new AgendaDayViewModel { Day = date.Begin.Date }; model.Days.Add(agendaDay); } var agendaActivity = new AgendaActivityViewModel { Date = date }; agendaDay.Activities.Add(agendaActivity); } // Alle Eintragungen var subscriptions = Db.ActivityDates.Where(d => (d.Activity.Occurrence.Subscriptions.Any(s => s.UserId.Equals(user.Id)) || d.Occurrence.Subscriptions.Any(s => s.UserId.Equals(user.Id)) || d.Slots.Any(slot => slot.Occurrence.Subscriptions.Any(s => s.UserId.Equals(user.Id)))) && d.End >= begin && d.End <= end).OrderBy(d => d.Begin).ToList(); foreach (var date in subscriptions) { var agendaDay = model.Days.SingleOrDefault(d => d.Day.Date == date.Begin.Date); if (agendaDay == null) { agendaDay = new AgendaDayViewModel { Day = date.Begin.Date }; model.Days.Add(agendaDay); } var agendaActivity = new AgendaActivityViewModel { Date = date }; // den slot prüfen agendaActivity.Slot = date.Slots.FirstOrDefault(x => x.Occurrence.Subscriptions.Any(s => s.UserId.Equals(user.Id))); agendaDay.Activities.Add(agendaActivity); } return(PartialView(model)); }