protected override void List() { foreach (var appointment in repository.GetAll()) { System.Console.WriteLine("Dr. {0}: {1}", appointment.Doctor.Name, appointment.StartDate); } }
protected override void PopulateRelatedEntities(IndexVM model) { model.AppointmentsIndexVM = model.AppointmentsIndexVM ?? new ViewModels.Appointments.IndexVM(); model.AppointmentsIndexVM.Filter = model.AppointmentsIndexVM.Filter ?? new ViewModels.Appointments.FilterVM(); model.AppointmentsIndexVM.Filter.Prefix = "AppointmentsIndexVM.Filter"; model.AppointmentsIndexVM.Pager = model.AppointmentsIndexVM.Pager ?? new PagerVM(); model.AppointmentsIndexVM.Pager.Prefix = "AppointmentsIndexVM.Pager"; model.AppointmentsIndexVM.Pager.Page = model.AppointmentsIndexVM.Pager.Page <= 0 ? 1 : model.Pager.Page; model.AppointmentsIndexVM.Pager.ItemsPerPage = model.AppointmentsIndexVM.Pager.ItemsPerPage <= 0 ? 10 : model.AppointmentsIndexVM.Pager.ItemsPerPage; ActivitiesRepository aRepo = new ActivitiesRepository(); List <Activity> dbActivities = aRepo.GetAll(a => true); List <SelectListItem> listItems = new List <SelectListItem>(); listItems.Add(new SelectListItem() { Text = "", Value = null }); foreach (Activity activity in dbActivities) { listItems.Add(new SelectListItem() { Text = activity.Name, Value = activity.Id.ToString() }); } model.AppointmentsIndexVM.Filter.activitiesList = new SelectList(listItems, "Value", "Text", model.AppointmentsIndexVM.Filter.ActivityId.ToString() ?? null); Expression <Func <Appointment, bool> > Appointmentsfilter = model.AppointmentsIndexVM.Filter.GenerateFilter(); model.AppointmentsIndexVM.OrderBy = model.AppointmentsIndexVM.OrderBy ?? new ViewModels.Appointments.OrderBy(); Func <IQueryable <Appointment>, IOrderedQueryable <Appointment> > AppointmentsorderBy = model.AppointmentsIndexVM.OrderBy.orderBy(); AppointmentsRepository repo = new AppointmentsRepository(); model.AppointmentsIndexVM.Items = repo.GetAll(Appointmentsfilter, model.AppointmentsIndexVM.Pager.Page, model.AppointmentsIndexVM.Pager.ItemsPerPage, AppointmentsorderBy); model.AppointmentsIndexVM.Pager.PagesCount = (int)Math.Ceiling(repo.Count(Appointmentsfilter) / (double)(model.AppointmentsIndexVM.Pager.ItemsPerPage)); }