public void SaveStaffingLog(StaffingLogSaveRequest req) { var staffingLogDb = Context.StaffingLog.SingleOrDefault(m => m.ID == req.ID); if (staffingLogDb == null) { throw new Exception($"Staffing log with id '${req.ID}' does not exist."); } staffingLogDb.ParentalRestaffRequest = req.ParentalRestaffRequest; staffingLogDb.HoursOfABATherapy = req.HoursOfABATherapy; staffingLogDb.AidesRespondingNo = req.AidesRespondingNo; staffingLogDb.AidesRespondingMaybe = req.AidesRespondingMaybe; staffingLogDb.ScheduleRequest = req.ScheduleRequest; staffingLogDb.ProviderGenderPreference = req.ProviderGenderPreference?.ToString(); staffingLogDb.SpecialAttentionNeeds.Clear(); if (req.SpecialAttentionNeedIds != null && req.SpecialAttentionNeedIds.Length > 0) { var needsDb = Context.SpecialAttentionNeeds.Where(n => req.SpecialAttentionNeedIds.Contains(n.ID)).ToList(); foreach (var attentionNeed in needsDb) { staffingLogDb.SpecialAttentionNeeds.Add(attentionNeed); } } Context.SaveChanges(); }
public ActionResult Edit(StaffingLogVM model) { var request = new StaffingLogSaveRequest { ID = model.CaseID, ParentalRestaffRequest = model.ParentalRestaffRequest, HoursOfABATherapy = model.HoursOfABATherapy, AidesRespondingNo = model.AidesRespondingNo, AidesRespondingMaybe = model.AidesRespondingMaybe, ScheduleRequest = model.ScheduleRequest != null?model.ScheduleRequest.ToInt() : 0, SpecialAttentionNeedIds = CheckBoxListExtension.GetSelectedValues <int>("SpecialAttentionNeedIds"), ProviderGenderPreference = model.ProviderGenderPreference != '0' ? model.ProviderGenderPreference : null }; return(SaveFullAction(model, model.ViewHelper, "Search", "Edit", "ErrorPartial", () => repository.SaveStaffingLog(request))); }