public ActionResult CreateInitialContactRead(int caseID) { var varCase = caseRepository.Find(caseID); bool hasAccess = workerroleactionpermissionnewRepository.HasPermission(caseID, CurrentLoggedInWorkerRoleIDs, CurrentLoggedInWorker.ID, varCase.ProgramID, varCase.RegionID, varCase.SubProgramID, varCase.JamatkhanaID, Constants.Areas.CaseManagement, Constants.Controllers.CaseProgressNote, Constants.Actions.CreateInitialContact, true); if (!hasAccess) { WebHelper.CurrentSession.Content.ErrorMessage = "You are not eligible to do this action"; return(RedirectToAction(Constants.Actions.AccessDenied, Constants.Controllers.Home, new { Area = String.Empty })); } CaseProgressNote caseprogressnote = caseprogressnoteRepository.FindInitialNoteByCaseID(caseID); if (caseprogressnote != null) { return(RedirectToAction(Constants.Actions.InitialContact, Constants.Controllers.CaseProgressNote, new { caseID = caseID })); } if (caseprogressnote == null) { caseprogressnote = new CaseProgressNote(); caseprogressnote.CaseID = caseID; caseprogressnote.ActivityTypeID = 2; caseprogressnote.ContactMethodID = 1; ViewBag.DisplayID = caseRepository.Find(caseID).DisplayID; } return(View(caseprogressnote)); }
public ActionResult Create(int caseID, int?caseMemberID) { bool hasAccess = workerroleactionpermissionnewRepository.HasPermission(CurrentLoggedInWorkerRoleIDs, Constants.Areas.CaseManagement, Constants.Controllers.CaseProgressNote, Constants.Actions.Create, true); if (!hasAccess) { WebHelper.CurrentSession.Content.ErrorMessage = "You are not eligible to do this action"; return(RedirectToAction(Constants.Actions.AccessDenied, Constants.Controllers.Home, new { Area = String.Empty })); } //create a new instance of caseprogressnote CaseProgressNote caseProgressNote = new CaseProgressNote(); caseProgressNote.CaseID = caseID; caseProgressNote.IsInitialContact = false; 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)); }
public ActionResult Read(int noteID, int caseID, int?caseMemberID) { Case varCase = caseRepository.Find(caseID); bool hasAccess = workerroleactionpermissionnewRepository.HasPermission(caseID, CurrentLoggedInWorkerRoleIDs, CurrentLoggedInWorker.ID, varCase.ProgramID, varCase.RegionID, varCase.SubProgramID, varCase.JamatkhanaID, Constants.Areas.CaseManagement, Constants.Controllers.CaseProgressNote, Constants.Actions.Read, true); if (!hasAccess) { WebHelper.CurrentSession.Content.ErrorMessage = "You are not eligible to do this action"; return(RedirectToAction(Constants.Actions.AccessDenied, Constants.Controllers.Home, new { Area = String.Empty })); } //find the existing caseprogressnote from database CaseProgressNote caseProgressNote = caseprogressnoteRepository.Find(noteID); caseProgressNote.CaseID = caseID; List <string> MemberList = new List <string>(); if (caseProgressNote.CaseMemberID > 0) { MemberList.Add(caseProgressNote.CaseMemberID.ToString()); } else { var caseProgressNoteMembers = caseProgressNoteMembersRepository.SearchMembers(caseProgressNote.ID); if (caseProgressNoteMembers != null && caseProgressNoteMembers.Count > 0) { foreach (var item in caseProgressNoteMembers) { MemberList.Add(item.CaseMemberID.ToString()); } } } if (MemberList.Count > 0) { string[] members = MemberList.ToArray(); caseProgressNote.CaseMembersIds = members; } 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 editor view return(View(caseProgressNote)); }
public ActionResult EditorAjax(int id, string caseId) { CaseProgressNote caseprogressnote = null; if (id > 0) { Case varCase = caseRepository.Find(Convert.ToInt32(caseId)); bool hasAccess = workerroleactionpermissionnewRepository.HasPermission(Convert.ToInt32(caseId), CurrentLoggedInWorkerRoleIDs, CurrentLoggedInWorker.ID, varCase.ProgramID, varCase.RegionID, varCase.SubProgramID, varCase.JamatkhanaID, Constants.Areas.CaseManagement, Constants.Controllers.CaseProgressNote, Constants.Actions.Edit, true); if (!hasAccess) { WebHelper.CurrentSession.Content.ErrorMessage = "You are not eligible to do this action"; return(RedirectToAction(Constants.Actions.AccessDenied, Constants.Controllers.Home, new { Area = String.Empty })); } //find an existing caseprogressnote from database caseprogressnote = caseprogressnoteRepository.Find(id); if (caseprogressnote == null) { //throw an exception if id is provided but data does not exist in database return(new HttpStatusCodeResult(System.Net.HttpStatusCode.NotFound, "Case Progress Note not found")); } } else { //create a new instance if id is not provided caseprogressnote = new CaseProgressNote(); caseprogressnote.CaseID = caseId.ToInteger(true); } ViewBag.PossibleCreatedByWorkers = workerRepository.All; ViewBag.PossibleLastUpdatedByWorkers = workerRepository.All; ViewBag.PossibleCaseMembers = casememberRepository.All; //ViewBag.PossibleActivityTypes = activitytypeRepository.All; ViewBag.PossibleTimeSpents = timespentRepository.All; ViewBag.PossibleContactMethods = contactmethodRepository.All; //return the html of editor to display on popup return(Content(this.RenderPartialViewToString(Constants.PartialViews.EditorPopUp, 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 Index(int caseID, int?caseMemberID) { var varCase = caseRepository.Find(caseID); bool hasAccess = workerroleactionpermissionnewRepository.HasPermission(caseID, CurrentLoggedInWorkerRoleIDs, CurrentLoggedInWorker.ID, varCase.ProgramID, varCase.RegionID, varCase.SubProgramID, varCase.JamatkhanaID, Constants.Areas.CaseManagement, Constants.Controllers.CaseProgressNote, Constants.Actions.Index, true); if (!hasAccess) { WebHelper.CurrentSession.Content.ErrorMessage = "You are not eligible to do this action"; return(RedirectToAction(Constants.Actions.AccessDenied, Constants.Controllers.Home, new { Area = String.Empty })); } CaseProgressNote caseProgressNote = new CaseProgressNote(); //caseProgressNote.ActivityTypeID = 1; caseProgressNote.CaseID = caseID; if (caseMemberID.HasValue && caseMemberID > 0) { caseProgressNote.CaseMemberID = caseMemberID.Value; CaseMember caseMember = casememberRepository.Find(caseProgressNote.CaseMemberID); if (caseMember != null) { ViewBag.DisplayID = caseMember.DisplayID; int muridProfileCount = casememberprofileRepository.All.Count(item => item.CaseMember.CaseID == caseID && item.CaseMemberID == caseMemberID.Value); if (muridProfileCount == 0) { caseProgressNote.ErrorMessage = "There is no profile created for family or family member " + caseMember.FirstName + " " + caseMember.LastName; } else { int assessmentCount = caseassessmentRepository.All.Count(item => item.CaseMember.CaseID == caseID && item.CaseMemberID == caseMemberID.Value); if (assessmentCount == 0) { caseProgressNote.ErrorMessage = "There is no assessment created for family or family member " + caseMember.FirstName + " " + caseMember.LastName; } else { int goalCount = caseGoalRepository.All.Count(item => item.CaseMember.CaseID == caseID && item.CaseMemberID == caseMemberID.Value); if (goalCount == 0) { caseProgressNote.ErrorMessage = "There is no goal identified for family or family member " + caseMember.FirstName + " " + caseMember.LastName; } } } } } else { caseProgressNote.CaseMemberID = 0; int muridProfileCount = casememberprofileRepository.All.Count(item => item.CaseMember.CaseID == caseID); if (muridProfileCount == 0) { caseProgressNote.ErrorMessage = "There is no profile created for this case"; } else { int assessmentCount = caseassessmentRepository.All.Count(item => item.CaseMember.CaseID == caseID); if (assessmentCount == 0) { caseProgressNote.ErrorMessage = "There is no assessment created for this case"; } else { int goalCount = caseGoalRepository.All.Count(item => item.CaseMember.CaseID == caseID); if (goalCount == 0) { caseProgressNote.ErrorMessage = "There is no goal identified for this case"; } } } } if (caseMemberID.HasValue && caseMemberID.Value > 0) { caseProgressNote.CaseMemberID = caseMemberID.Value; CaseMember caseMember = casememberRepository.Find(caseProgressNote.CaseMemberID); if (caseMember != null) { ViewBag.DisplayID = caseMember.DisplayID; } } else { if (varCase == null) { varCase = caseRepository.Find(caseID); } if (varCase != null) { ViewBag.DisplayID = varCase.DisplayID; } } return(View(caseProgressNote)); }
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 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)); }