public ActionResult Edit(int id, int caseId) { //CaseMember casemember = casememberRepository.Find(id); CaseGoalNew casegoalnew = null; if (id > 0) { //find an existing casemember from database Case varCase = caseRepository.Find(Convert.ToInt32(caseId)); ViewBag.DisplayID = varCase.DisplayID; ViewBag.CaseID = caseId; bool hasAccess = workerroleactionpermissionnewRepository.HasPermission(Convert.ToInt32(caseId), CurrentLoggedInWorkerRoleIDs, CurrentLoggedInWorker.ID, varCase.ProgramID, varCase.RegionID, varCase.SubProgramID, varCase.JamatkhanaID, Constants.Areas.CaseManagement, Constants.Controllers.CaseMember, 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 })); } casegoalnew = caseGoalNewRepository.Find(id); if (casegoalnew == null) { //throw an exception if id is provided but data does not exist in database return(new HttpStatusCodeResult(System.Net.HttpStatusCode.NotFound, "Case Member not found")); } else { if (casegoalnew.IsFamily == true && casegoalnew.IsFamilyMember == false) { casegoalnew.Family = "Family"; } else { casegoalnew.Family = "FamilyMember"; } } } else { //create a new instance if id is not provided casegoalnew = new CaseGoalNew(); casegoalnew.CaseID = caseId.ToInteger(true); } ViewBag.ContactMediaList = contactmediaRepository.AllActiveForDropDownList; casegoalnew.AssesmentIndicators = caseInitialAssessmentRepository.GetAllIndicators(); casegoalnew.CaseInitialAssessment = caseInitialAssessmentRepository.GetCaseAssessment(caseId); casegoalnew.CaseGoalDetailTemplate = caseGoalDetailTemplateRepository.GetByIndicatorType(); casegoalnew.GoalActionWorkNote = new GoalActionWorkNote(); return(View(casegoalnew)); }
public ActionResult Create(CaseGoalNew varCaseGoalNew) { int sortOrder = 0, count = 0; try { varCaseGoalNew.LastUpdatedByWorkerID = CurrentLoggedInWorker.ID; //validate data if (ModelState.IsValid) { if (varCaseGoalNew.Family == "Family") { varCaseGoalNew.IsFamily = true; varCaseGoalNew.IsFamilyMember = false; } else { varCaseGoalNew.IsFamily = false; varCaseGoalNew.IsFamilyMember = true; } //call the repository function to save in database if (!varCaseGoalNew.GoalStatusID.HasValue) { varCaseGoalNew.GoalStatusID = (int)GoalWorkNote.Inprogress; } count = caseGoalNewRepository.CaseGoalNewCountByCaseID(varCaseGoalNew.CaseID); if (count >= 0) { sortOrder = count + 1; } varCaseGoalNew.SortOrder = sortOrder; caseGoalNewRepository.InsertOrUpdate(varCaseGoalNew); caseGoalNewRepository.Save(); if (varCaseGoalNew.GoalActionWorkNote.ContactMethodID > 0) { varCaseGoalNew.GoalActionWorkNote.LastUpdatedByWorkerID = CurrentLoggedInWorker.ID; varCaseGoalNew.GoalActionWorkNote.CaseGoalID = varCaseGoalNew.ID; varCaseGoalNew.GoalActionWorkNote.StatusID = (int)GoalWorkNote.Inprogress; varCaseGoalNew.GoalActionWorkNote.IsGoal = true; varCaseGoalNew.GoalActionWorkNote.IsAction = false; goalActionWorkNoteRepository.InsertOrUpdate(varCaseGoalNew.GoalActionWorkNote); goalActionWorkNoteRepository.Save(); } return(RedirectToAction(Constants.Actions.Index, Constants.Controllers.CaseSummary, new { caseID = varCaseGoalNew.CaseID })); } else { foreach (var modelStateValue in ViewData.ModelState.Values) { foreach (var error in modelStateValue.Errors) { varCaseGoalNew.ErrorMessage = error.ErrorMessage; break; } if (varCaseGoalNew.ErrorMessage.IsNotNullOrEmpty()) { break; } } varCaseGoalNew.ErrorMessage = "Record not saved"; ViewBag.MessageErr = "Record not saved"; return(RedirectToAction(Constants.Actions.Index, Constants.Controllers.CaseGoalNew, new { caseID = varCaseGoalNew.CaseID })); } } catch (CustomException ex) { varCaseGoalNew.ErrorMessage = ex.UserDefinedMessage; } catch (Exception ex) { ExceptionManager.Manage(ex); varCaseGoalNew.ErrorMessage = Constants.Messages.UnhandelledError; } return(View(varCaseGoalNew)); }