public ActionResult Edit(CaseProgressNote caseprogressnote, int caseID, int?caseMemberID) { caseprogressnote.LastUpdatedByWorkerID = CurrentLoggedInWorker.ID; try { //if (caseprogressnote.NoteDate > DateTime.Today) //{ // throw new CustomException("Note date can't be future date."); //} //validate data if (ModelState.IsValid) { //<JL:Comment:No need to check access again on post. On edit we are already checking permission.> //if (caseprogressnote.ID > 0 && caseprogressnote.CreatedByWorkerID != CurrentLoggedInWorker.ID && CurrentLoggedInWorkerRoleIDs.IndexOf(1) == -1 && (CurrentLoggedInWorkerRoleIDs.IndexOf(SiteConfigurationReader.RegionalManagerRoleID) == -1)) //{ // WebHelper.CurrentSession.Content.ErrorMessage = "You are not eligible to do this action"; // //return Json(new { success = true, url = Url.Action(Constants.Actions.AccessDenied, Constants.Controllers.Home, new { Area = String.Empty }) }); // return RedirectToAction(Constants.Actions.AccessDenied, Constants.Controllers.Home, new { Area = String.Empty }); //} //</JL:Comment:07/08/2017> //call the repository function to save in database caseprogressnoteRepository.InsertOrUpdate(caseprogressnote); caseprogressnoteRepository.Save(); if (caseprogressnote.CaseMembersIds != null && caseprogressnote.CaseMembersIds.Count() > 0) { foreach (var item in caseprogressnote.CaseMembersIds) { CaseProgressNoteMembers caseProgressNoteMembers = new CaseProgressNoteMembers(); caseProgressNoteMembers.CaseMemberID = Convert.ToInt32(item); caseProgressNoteMembers.CaseProgressNoteID = Convert.ToInt32(caseprogressnote.ID); caseProgressNoteMembersRepository.InsertOrUpdate(caseProgressNoteMembers); caseProgressNoteMembersRepository.Save(); } } //redirect to list page after successful operation if (caseprogressnote.IsInitialContact) { return(RedirectToAction(Constants.Actions.InitialContact, new { caseID = caseprogressnote.CaseID })); } else { return(RedirectToAction(Constants.Actions.Edit, new { noteID = caseprogressnote.ID, caseID = caseprogressnote.CaseID })); } } else { foreach (var modelStateValue in ViewData.ModelState.Values) { foreach (var error in modelStateValue.Errors) { caseprogressnote.ErrorMessage = error.ErrorMessage; break; } if (caseprogressnote.ErrorMessage.IsNotNullOrEmpty()) { break; } } } } catch (CustomException ex) { caseprogressnote.ErrorMessage = ex.UserDefinedMessage; } catch (Exception ex) { ExceptionManager.Manage(ex); caseprogressnote.ErrorMessage = Constants.Messages.UnhandelledError; } if (caseMemberID.HasValue && caseMemberID.Value > 0) { caseprogressnote.CaseMemberID = caseMemberID.Value; CaseMember caseMember = casememberRepository.Find(caseprogressnote.CaseMemberID); if (caseMember != null) { ViewBag.DisplayID = caseMember.DisplayID; } } else { Case varCase = caseRepository.Find(caseID); if (varCase != null) { ViewBag.DisplayID = varCase.DisplayID; } } //return view with error message if the operation is failed return(View(caseprogressnote)); }
public ActionResult SaveAjax(CaseProgressNote caseprogressnote) { //id=0 means add operation, update operation otherwise bool isNew = caseprogressnote.ID == 0; //validate data if (ModelState.IsValid) { if (caseprogressnote.NoteDate > DateTime.Today) { throw new CustomException("Note date can't be future date."); } try { //<JL:Comment:No need to check access again on post. On edit we are already checking permission.> //if (caseprogressnote.ID > 0 && caseprogressnote.CreatedByWorkerID != CurrentLoggedInWorker.ID && CurrentLoggedInWorkerRoleIDs.IndexOf(1) == -1 && (CurrentLoggedInWorkerRoleIDs.IndexOf(SiteConfigurationReader.RegionalManagerRoleID) == -1)) //{ // WebHelper.CurrentSession.Content.ErrorMessage = "You are not eligible to do this action"; // return Json(new { success = true, url = Url.Action(Constants.Actions.AccessDenied, Constants.Controllers.Home, new { Area = String.Empty }) }); // //return RedirectToAction(Constants.Actions.AccessDenied, Constants.Controllers.Home, new { Area = String.Empty }); //} //</JL:Comment:07/08/2017> caseprogressnote.LastUpdatedByWorkerID = CurrentLoggedInWorker.ID; caseprogressnoteRepository.InsertOrUpdate(caseprogressnote); caseprogressnoteRepository.Save(); //Audit log var caseprogressmembers = caseProgressNoteMembersRepository.SearchMembers(caseprogressnote.ID); foreach (var item in caseprogressmembers) { caseProgressNoteMembersRepository.Delete(item); } if (caseprogressnote.CaseMembersIds != null && caseprogressnote.CaseMembersIds.Count() > 0) { foreach (var item in caseprogressnote.CaseMembersIds) { CaseProgressNoteMembers caseProgressNoteMembers = new CaseProgressNoteMembers(); caseProgressNoteMembers.CaseMemberID = Convert.ToInt32(item); caseProgressNoteMembers.CaseProgressNoteID = Convert.ToInt32(caseprogressnote.ID); caseProgressNoteMembersRepository.InsertOrUpdate(caseProgressNoteMembers); caseProgressNoteMembersRepository.Save(); } } if (isNew) { caseprogressnote.SuccessMessage = "Case Progress Note has been added successfully"; } else { caseprogressnote.SuccessMessage = "Case Progress Note has been updated successfully"; } } catch (CustomException ex) { caseprogressnote.ErrorMessage = ex.UserDefinedMessage; } catch (Exception ex) { ExceptionManager.Manage(ex); caseprogressnote.ErrorMessage = Constants.Messages.UnhandelledError; } } else { foreach (var modelStateValue in ViewData.ModelState.Values) { foreach (var error in modelStateValue.Errors) { caseprogressnote.ErrorMessage = error.ErrorMessage; break; } if (caseprogressnote.ErrorMessage.IsNotNullOrEmpty()) { break; } } } //return the status message in json if (caseprogressnote.ErrorMessage.IsNotNullOrEmpty()) { return(Json(new { success = false, data = this.RenderPartialViewToString(Constants.PartialViews.Alert, caseprogressnote) })); } else { return(Json(new { success = true, data = this.RenderPartialViewToString(Constants.PartialViews.Alert, caseprogressnote) })); } }
public ActionResult Create(CaseProgressNote caseProgressNote, int caseID, int?caseMemberID) { caseProgressNote.LastUpdatedByWorkerID = CurrentLoggedInWorker.ID; try { //if (caseProgressNote.NoteDate > DateTime.Today) //{ // throw new CustomException("Note date can't be future date."); //} //validate data if (ModelState.IsValid) { caseProgressNote.LastUpdatedByWorkerID = CurrentLoggedInWorker.ID; caseprogressnoteRepository.InsertOrUpdate(caseProgressNote); caseprogressnoteRepository.Save(); if (caseProgressNote.IsInitialContact) { if (caseProgressNote.CaseMembersIds != null && caseProgressNote.CaseMembersIds.Count() > 0) { foreach (var item in caseProgressNote.CaseMembersIds) { CaseProgressNoteMembers caseProgressNoteMembers = new CaseProgressNoteMembers(); caseProgressNoteMembers.CaseMemberID = Convert.ToInt32(item); caseProgressNoteMembers.CaseProgressNoteID = Convert.ToInt32(caseProgressNote.ID); caseProgressNoteMembersRepository.InsertOrUpdate(caseProgressNoteMembers); caseProgressNoteMembersRepository.Save(); } } else { throw new CustomException("Select atleast one family member"); } } else { if (caseProgressNote.CaseMemberID > 0) { CaseProgressNoteMembers caseProgressNoteMembers = new CaseProgressNoteMembers(); caseProgressNoteMembers.CaseMemberID = caseProgressNote.CaseMemberID; caseProgressNoteMembers.CaseProgressNoteID = Convert.ToInt32(caseProgressNote.ID); caseProgressNoteMembersRepository.InsertOrUpdate(caseProgressNoteMembers); caseProgressNoteMembersRepository.Save(); } else { throw new CustomException("Please select family or family member"); } } //Audit Log if (caseProgressNote.IsInitialContact) { return(RedirectToAction(Constants.Actions.Index, Constants.Controllers.CaseWorker, new { caseID = caseProgressNote.CaseID, caseMemberID = caseMemberID })); } else { return(RedirectToAction(Constants.Actions.Edit, new { noteID = caseProgressNote.ID, caseID = caseProgressNote.CaseID, caseMemberID = caseMemberID })); } } else { foreach (var modelStateValue in ViewData.ModelState.Values) { foreach (var error in modelStateValue.Errors) { caseProgressNote.ErrorMessage = error.ErrorMessage; break; } if (caseProgressNote.ErrorMessage.IsNotNullOrEmpty()) { break; } } } } catch (CustomException ex) { caseProgressNote.ErrorMessage = ex.UserDefinedMessage; } catch (Exception ex) { ExceptionManager.Manage(ex); caseProgressNote.ErrorMessage = Constants.Messages.UnhandelledError; } if (caseMemberID.HasValue && caseMemberID.Value > 0) { caseProgressNote.CaseMemberID = caseMemberID.Value; CaseMember caseMember = casememberRepository.Find(caseProgressNote.CaseMemberID); if (caseMember != null) { ViewBag.DisplayID = caseMember.DisplayID; } } else { Case varCase = caseRepository.Find(caseID); if (varCase != null) { ViewBag.DisplayID = varCase.DisplayID; } } return(View(caseProgressNote)); }