public ActionResult AddCareUnit(MedicalPlaceProfileViewModel model) { if (ModelState.IsValid) { CareUnit careunit = new CareUnit() { Name = model.NewCareUnit.Name, Description = model.NewCareUnit.Description, Cost = model.NewCareUnit.Cost, LastUpdate = model.NewCareUnit.LastUpdate, CareUnitTypeID = model.NewCareUnit.CareUnitTypeID, AvailableRoomCount = model.NewCareUnit.AvailableRoomCount, ProviderID = model.NewCareUnit.ProviderID }; CareUnitBusinessLayer.AddCareUnit(careunit); } return(ProfilePage(model.MedicalPlaceID)); }
public CareUnitController() { _careUnitBusinessLayer = new CareUnitBusinessLayer(); }
public ActionResult ProfilePage(long id) { var medicalPlace = MedicalPlaceBusinessLayer.GetMedicalPlace(id); MedicalPlaceProfileViewModel model = new MedicalPlaceProfileViewModel() { MedicalPlaceID = medicalPlace.ID, Services = new List <ServiceViewModel>(), CareUnits = new List <CareUnitViewModel>(), ServiceCategories = ServiceBusinessLayer.GetServiceCategories(), CareUnitTypes = CareUnitBusinessLayer.GetCareUnitTypes(), IsAdmin = medicalPlace.Admins.Select(m => m.Id).Contains(User.Identity.GetUserId <long>()), MedicalPlace = medicalPlace, IsCurrentPlace = Request.Cookies["placeInfo"] != null && Convert.ToInt64(Request.Cookies["placeInfo"].Values["id"]) == id?true : false, }; foreach (var service in medicalPlace.Services) { var groupedSlots = service.WorkSlots.GroupBy(slot => new { slot.StartTime, slot.EndTime }); ServiceViewModel smodel = new ServiceViewModel() { ID = service.ID, Name = service.Name, Cost = service.Cost ?? 0, Description = service.Description, CategoryID = service.CategoryID, ProviderID = service.ProviderID ?? 0, WorkSlots = new List <WorkSlotViewModel>() }; foreach (var element in groupedSlots) { WorkSlotViewModel wmodel = new WorkSlotViewModel(); wmodel.StartTime = element.Key.StartTime ?? TimeSpan.Zero; wmodel.EndTime = element.Key.EndTime ?? TimeSpan.Zero; wmodel.ServiceID = service.ID; foreach (var day in element) { switch (day.DayName) { case "Saturday": wmodel.IsSaturday = true; break; case "Sunday": wmodel.IsSunday = true; break; case "Monday": wmodel.IsMonday = true; break; case "Tuesday": wmodel.IsTuesday = true; break; case "Wednesday": wmodel.IsWednesday = true; break; case "Thursday": wmodel.IsThursday = true; break; case "Friday": wmodel.IsFriday = true; break; } } smodel.WorkSlots.Add(wmodel); } model.Services.Add(smodel); } foreach (var careunit in medicalPlace.CareUnits) { CareUnitViewModel cmodel = new CareUnitViewModel() { ID = careunit.ID, Name = careunit.Name, CareUnitTypeID = careunit.CareUnitTypeID, AvailableRoomCount = careunit.AvailableRoomCount ?? 0, Cost = careunit.Cost, ProviderID = careunit.ProviderID, Description = careunit.Description, LastUpdate = careunit.LastUpdate }; model.CareUnits.Add(cmodel); } return(View("ProfilePage", model)); }
public MedicalPlaceController(MedicalPlaceBusinessLayer medicalPlaceBusinessLayer, CareUnitBusinessLayer careUnitBusinessLayer, ServiceBusinessLayer serviceBusinessLayer) { _medicalPlaceBusinessLayer = medicalPlaceBusinessLayer; _careUnitBusinessLayer = careUnitBusinessLayer; _serviceBusinessLayer = serviceBusinessLayer; }