public ActionResult Create(int caseId) { bool hasAccess = workerroleactionpermissionnewRepository.HasPermission(CurrentLoggedInWorkerRoleIDs, Constants.Areas.CaseManagement, Constants.Controllers.CaseWorker, 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 })); } CaseWorker caseworker = new CaseWorker(); caseworker.CaseID = caseId; Case varCase = caseRepository.Find(caseId); //List<SelectListItem> workerList = workerRepository.FindAllPossible(varCase.ProgramID, varCase.RegionID, varCase.SubProgramID); List <SelectListItem> workerList = workerRepository.NewFindAllPossible(varCase.ProgramID, varCase.RegionID, varCase.SubProgramID); if (workerList == null || (workerList != null && workerList.Count == 0)) { caseworker.ErrorMessage = "There is no worker found for Program:" + varCase.Program.Name + ", Region:" + varCase.Region.Name + ", Sub-Program:" + varCase.SubProgram.Name; } ViewBag.PossibleWorkerList = workerList; caseworker.CaseWorkerNote = new CaseWorkerNote(); return(View(caseworker)); }
public IHttpActionResult GetSE(string District, string Status) { List <CaseWorker> CWList = new List <CaseWorker>(); using (SqlConnection kvdConn = new SqlConnection(ConfigurationManager.ConnectionStrings["myConnStr"].ConnectionString)) { using (SqlCommand cmd = new SqlCommand("spGetDataToApprovalProcess", kvdConn)) { cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.AddWithValue("@status", Status); //"SESELECTCW" cmd.Parameters.AddWithValue("@District", District); //"Bengaluru Dakshina" cmd.Connection = kvdConn; kvdConn.Open(); using (SqlDataReader sdr = cmd.ExecuteReader()) { while (sdr.Read()) { CaseWorker CW = new CaseWorker(); CW.ApplicationNumber = sdr["ApplicationNumber"].ToString(); CW.ApplicantName = sdr["ApplicantName"].ToString(); CW.FinancialYear = sdr["Gender"].ToString(); CWList.Add(CW); } } kvdConn.Close(); } } return(Ok(CWList)); }
public Task <int> SaveCaseWorker(CaseWorker worker) { if (worker.WorkerId == 0) { return(Database.InsertAsync(worker)); } else { return(Database.UpdateAsync(worker)); } }
public ActionResult Edit(int id) { //find the existing caseworker from database CaseWorker caseworker = caseworkerRepository.Find(id); ViewBag.PossibleCreatedByWorkers = workerRepository.All; ViewBag.PossibleLastUpdatedByWorkers = workerRepository.All; ViewBag.PossibleWorkers = workerRepository.All; //return editor view return(View(caseworker)); }
public ActionResult Edit(CaseWorker caseworker, int caseId) { caseworker.LastUpdatedByWorkerID = CurrentLoggedInWorker.ID; try { //validate data if (ModelState.IsValid) { var primaryWorkerID = GetPrimaryWorkerOfTheCase(caseworker.CaseID); if (caseworker.CreatedByWorkerID != CurrentLoggedInWorker.ID && primaryWorkerID != 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 })); } caseworkerRepository.InsertOrUpdate(caseworker); caseworkerRepository.Save(); return(RedirectToAction(Constants.Views.Index, new { caseId = caseId })); } else { foreach (var modelStateValue in ViewData.ModelState.Values) { foreach (var error in modelStateValue.Errors) { caseworker.ErrorMessage = error.ErrorMessage; break; } if (caseworker.ErrorMessage.IsNotNullOrEmpty()) { break; } } } } catch (CustomException ex) { caseworker.ErrorMessage = ex.UserDefinedMessage; } catch (Exception ex) { ExceptionManager.Manage(ex); caseworker.ErrorMessage = Constants.Messages.UnhandelledError; } ViewBag.PossibleCreatedByWorkers = workerRepository.All; ViewBag.PossibleLastUpdatedByWorkers = workerRepository.All; ViewBag.PossibleWorkers = workerRepository.All; //return view with error message if the operation is failed return(View(caseworker)); }
/// <summary> /// Add or Update caseprogressnote to database /// </summary> /// <param name="caseprogressnote">data to save</param> public void InsertOrUpdate(CaseProgressNote caseprogressnote) { bool isNew = false; caseprogressnote.LastUpdateDate = DateTime.Now; if (caseprogressnote.ID == default(int)) { isNew = true; //set the date when this record was created caseprogressnote.CreateDate = caseprogressnote.LastUpdateDate; //set the id of the worker who has created this record caseprogressnote.CreatedByWorkerID = caseprogressnote.LastUpdatedByWorkerID; //add a new record to database context.CaseProgressNote.Add(caseprogressnote); } else { //update an existing record to database context.Entry(caseprogressnote).State = System.Data.Entity.EntityState.Modified; } Save(); if (caseprogressnote.ID > 0) { CaseWorker primaryWorker = caseworkerRepository.FindPrimary(caseprogressnote.CaseID); if (primaryWorker != null) { string caseLink = "/CaseManagement/CaseProgressNote/Edit?noteID=" + caseprogressnote.ID + "&CaseID=" + caseprogressnote.CaseID + "&CaseMemberID=" + caseprogressnote.CaseMemberID; WorkerNotification workerNotification = new WorkerNotification() { IsRead = false, LastUpdateDate = DateTime.Now, LastUpdatedByWorkerID = caseprogressnote.LastUpdatedByWorkerID, ReferenceLink = caseLink, WorkerID = primaryWorker.WorkerID }; if (isNew) { workerNotification.Notification = "A new progress note has been added to a case. Please <a href='" + caseLink + "' target='_blank'>click here</a> to see the note detail."; } else { workerNotification.Notification = "A progress note has been updated. Please <a href='" + caseLink + "' target='_blank'>click here</a> to see the note detail."; } workernotificationRepository.InsertOrUpdate(workerNotification); workernotificationRepository.Save(); } } }
public NewCaseWorkerViewModel() { caseWorker = new CaseWorker(); caseWorker.CaseWorkerId = ""; caseWorker.Agency = ""; caseWorker.UserName = ""; caseWorker.Password = ""; caseWorker.Email = ""; caseWorker.Name = ""; caseWorker.City = ""; caseWorker.State = ""; lblInfo = ""; btnSaveWorker = new Command(SaveCaseWorker); btnClearWorker = new Command(ClearCaseWorker); }
public void ClearCaseWorker() { caseWorker = new CaseWorker(); caseWorker.CaseWorkerId = ""; caseWorker.Agency = ""; caseWorker.UserName = ""; caseWorker.Password = ""; caseWorker.Email = ""; caseWorker.Name = ""; caseWorker.City = ""; caseWorker.State = ""; login = new Login(); login.AcctType = ""; login.UserName = ""; login.Password = ""; lblInfo = ""; }
public ActionResult Create(CaseWorker caseworker, int caseId) { caseworker.LastUpdatedByWorkerID = CurrentLoggedInWorker.ID; try { //validate data if (ModelState.IsValid) { //call the repository function to save in database caseworkerRepository.InsertOrUpdate(caseworker); caseworkerRepository.Save(); //redirect to list page after successful operation return(RedirectToAction(Constants.Views.Index, new { caseId = caseId })); } else { foreach (var modelStateValue in ViewData.ModelState.Values) { foreach (var error in modelStateValue.Errors) { caseworker.ErrorMessage = error.ErrorMessage; break; } if (caseworker.ErrorMessage.IsNotNullOrEmpty()) { break; } } } } catch (CustomException ex) { caseworker.ErrorMessage = ex.UserDefinedMessage; } catch (Exception ex) { ExceptionManager.Manage(ex); caseworker.ErrorMessage = Constants.Messages.UnhandelledError; } ViewBag.PossibleCreatedByWorkers = workerRepository.All; ViewBag.PossibleLastUpdatedByWorkers = workerRepository.All; ViewBag.PossibleWorkers = workerRepository.All; return(View(caseworker)); }
public ActionResult IndexAjax([DataSourceRequest] DataSourceRequest dsRequest, int caseId) { if (dsRequest.Filters == null) { dsRequest.Filters = new List <IFilterDescriptor>(); } CaseWorker caseWrker = new CaseWorker(); caseWrker.CaseID = caseId; //List<CaseWorker> caseWorkerList = caseworkerRepository.AllIncluding().Where(item => item.CaseID == caseId).OrderBy(item => item.LastUpdateDate).ToList().AsEnumerable().Select(caseworker => new CaseWorker() //{ // ID=caseworker.ID, // WorkerName = caseworker.Worker.FirstName + " " + caseworker.Worker.LastName, // CaseID=caseworker.CaseID, // WorkerID=caseworker.WorkerID, // IsActive=caseworker.IsActive, // AllowNotification=caseworker.AllowNotification, // IsPrimary=caseworker.IsPrimary, //}).ToList(); //if (caseWorkerList != null) //{ // foreach (CaseWorker caseWorker in caseWorkerList) // { // List<CaseWorkerMemberAssignment> memberAssignment = caseworkermemberassignmentRepository.FindAllByCaseWorkerID(caseWorker.ID); // if (memberAssignment != null) // { // foreach (CaseWorkerMemberAssignment member in memberAssignment) // { // caseWorker.AssignedMembers = caseWorker.AssignedMembers.Concate(',', member.CaseMember.FirstName + " " + member.CaseMember.LastName); // } // } // } //} DataSourceResult result = caseworkerRepository.Search(caseWrker, dsRequest); return(Json(result, JsonRequestBehavior.AllowGet)); }
public ActionResult Edit(int id) { bool hasAccess = workerroleactionpermissionnewRepository.HasPermission(CurrentLoggedInWorkerRoleIDs, Constants.Areas.CaseManagement, Constants.Controllers.CaseWorker, 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 })); } CaseWorker caseworker = caseworkerRepository.Find(id); ViewBag.DisplayID = caseRepository.Find(caseworker.CaseID).DisplayID; ViewBag.CaseID = caseworker.CaseID; Case varCase = caseRepository.Find(caseworker.CaseID); caseworker.CaseMemberList = casememberRepository.FindAllByCaseIDForDropDownList(caseworker.CaseID); List <CaseWorkerMemberAssignment> assignment = caseworkermemberassignmentRepository.FindAllByCaseWorkerID(caseworker.ID); if (assignment != null) { foreach (SelectListItem caseMember in caseworker.CaseMemberList) { if (assignment.Where(item => item.CaseMemberID == caseMember.Value.ToInteger(true)).Count() > 0) { caseMember.Selected = true; } } } //List<SelectListItem> workerList = workerRepository.FindAllPossible(varCase.ProgramID, varCase.RegionID, varCase.SubProgramID); List <SelectListItem> workerList = workerRepository.NewFindAllPossible(varCase.ProgramID, varCase.RegionID, varCase.SubProgramID); if (workerList == null || (workerList != null && workerList.Count == 0)) { caseworker.ErrorMessage = "There is no worker found for Program:" + varCase.Program.Name + ", Region:" + varCase.Region.Name + ", Sub-Program:" + varCase.SubProgram.Name; } ViewBag.PossibleWorkerList = workerList; caseworker.CaseWorkerNote = new CaseWorkerNote(); return(View(caseworker)); }
/// <summary> /// Add or Update caseassessment to database /// </summary> /// <param name="caseassessment">data to save</param> public void InsertOrUpdate(CaseAssessment caseassessment, NameValueCollection data) { bool isNew = false; caseassessment.LastUpdateDate = DateTime.Now; if (caseassessment.ID == default(int)) { //set the date when this record was created caseassessment.CreateDate = caseassessment.LastUpdateDate; //set the id of the worker who has created this record caseassessment.CreatedByWorkerID = caseassessment.LastUpdatedByWorkerID; //add a new record to database context.CaseAssessment.Add(caseassessment); isNew = true; } else { //update an existing record to database context.Entry(caseassessment).State = System.Data.Entity.EntityState.Modified; } Save(); if (caseassessment.ID > 0) { CaseMember existingCaseMember = context.CaseMember.SingleOrDefault(item => item.ID == caseassessment.CaseMemberID); if (existingCaseMember != null) { try { existingCaseMember.MemberStatusID = caseassessment.MemberStatusID; existingCaseMember.LastUpdateDate = DateTime.Now; existingCaseMember.LastUpdatedByWorkerID = caseassessment.LastUpdatedByWorkerID; context.Entry(existingCaseMember).State = System.Data.Entity.EntityState.Modified; Save(); } catch { context.Entry(existingCaseMember).State = System.Data.Entity.EntityState.Detached; } } List <CaseAssessmentLivingCondition> existingQOLList = new List <CaseAssessmentLivingCondition>(); if (!isNew) { existingQOLList = caseassessmentlivingconditionRepository.FindAllByCaseAssessmentID(caseassessment.ID).ToList(); if (existingQOLList == null) { existingQOLList = new List <CaseAssessmentLivingCondition>(); } } string selectedQOL = caseassessment.QualityOfLifeIDs; selectedQOL = selectedQOL.Replace("false", string.Empty); string[] arraySelectedQOL = selectedQOL.ToStringArray(',', true); if (arraySelectedQOL != null && arraySelectedQOL.Length > 0) { foreach (string qolID in arraySelectedQOL) { if (existingQOLList.Where(item => item.QualityOfLifeID == qolID.ToInteger(true)).Count() == 0) { CaseAssessmentLivingCondition newCaseAssessmentLivingCondition = new CaseAssessmentLivingCondition() { QualityOfLifeID = qolID.ToInteger(true), CaseAssessmentID = caseassessment.ID, LastUpdateDate = DateTime.Now, LastUpdatedByWorkerID = caseassessment.LastUpdatedByWorkerID, }; newCaseAssessmentLivingCondition.Note = data["txtQualityOfLifeIDs" + qolID].ToString(true); caseassessmentlivingconditionRepository.InsertOrUpdate(newCaseAssessmentLivingCondition); caseassessmentlivingconditionRepository.Save(); } else { CaseAssessmentLivingCondition caseAssessmentLivingCondition = caseassessmentlivingconditionRepository.Find(caseassessment.ID, qolID.ToInteger(true)); if (caseAssessmentLivingCondition != null) { caseAssessmentLivingCondition.Note = data["txtQualityOfLifeIDs" + qolID].ToString(true); caseAssessmentLivingCondition.LastUpdateDate = DateTime.Now; caseassessmentlivingconditionRepository.InsertOrUpdate(caseAssessmentLivingCondition); caseassessmentlivingconditionRepository.Save(); } } } } foreach (CaseAssessmentLivingCondition existingQOL in existingQOLList) { if (arraySelectedQOL == null || !arraySelectedQOL.Contains(existingQOL.QualityOfLifeID.ToString(true))) { caseassessmentlivingconditionRepository.Delete(existingQOL); caseassessmentlivingconditionRepository.Save(); } } CaseWorker primaryWorker = caseworkerRepository.FindPrimary(caseassessment.CaseID); if (primaryWorker != null) { string caseLink = "/CaseManagement/CaseAssessment?CaseID=" + caseassessment.CaseID + "&CaseMemberID=" + caseassessment.CaseMemberID; WorkerNotification workerNotification = new WorkerNotification() { IsRead = false, LastUpdateDate = DateTime.Now, LastUpdatedByWorkerID = caseassessment.LastUpdatedByWorkerID, ReferenceLink = caseLink, WorkerID = primaryWorker.WorkerID }; if (isNew) { workerNotification.Notification = "A new assessment has been added to a case. Please <a href='" + caseLink + "' target='_blank'>click here</a> to see the assessment detail."; } else { workerNotification.Notification = "An assessment has been updated. Please <a href='" + caseLink + "' target='_blank'>click here</a> to see the assessment detail."; } workernotificationRepository.InsertOrUpdate(workerNotification); workernotificationRepository.Save(); } } }
public ActionResult Edit(CaseWorker caseworker) { caseworker.LastUpdatedByWorkerID = CurrentLoggedInWorker.ID; try { //validate data if (ModelState.IsValid) { var primaryWorkerID = GetPrimaryWorkerOfTheCase(caseworker.CaseID); if (caseworker.CreatedByWorkerID != CurrentLoggedInWorker.ID && primaryWorkerID != 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 })); } caseworkerRepository.InsertOrUpdate(caseworker); caseworkerRepository.Save(); string selectedCaseMember = Request.Form["SelectedCaseMember"].ToString(true); selectedCaseMember = selectedCaseMember.Replace("false", string.Empty); string[] arraySelectedCaseMember = selectedCaseMember.ToStringArray(',', true); List <CaseWorkerMemberAssignment> assignment = caseworkermemberassignmentRepository.FindAllByCaseWorkerID(caseworker.ID); if (arraySelectedCaseMember != null && arraySelectedCaseMember.Length > 0) { foreach (string caseMemberID in arraySelectedCaseMember) { if (assignment.Where(item => item.CaseMemberID == caseMemberID.ToInteger(true)).Count() == 0) { CaseWorkerMemberAssignment newCaseWorkerMemberAssignment = new CaseWorkerMemberAssignment() { CaseMemberID = caseMemberID.ToInteger(true), CaseWorkerID = caseworker.ID, LastUpdateDate = DateTime.Now, LastUpdatedByWorkerID = caseworker.LastUpdatedByWorkerID }; caseworkermemberassignmentRepository.InsertOrUpdate(newCaseWorkerMemberAssignment); caseworkermemberassignmentRepository.Save(); } } } foreach (CaseWorkerMemberAssignment existingMember in assignment) { if (arraySelectedCaseMember == null || !arraySelectedCaseMember.Contains(existingMember.CaseMemberID.ToString(true))) { caseworkermemberassignmentRepository.Delete(existingMember); caseworkermemberassignmentRepository.Save(); } } //if (caseworker.CaseWorkerNote.ContactMethodID > 0) //{ // caseworker.CaseWorkerNote.LastUpdatedByWorkerID = CurrentLoggedInWorker.ID; // caseworker.CaseWorkerNote.CaseID = caseworker.CaseID; // //caseMember.CaseWorkerNote.CaseStatusID = varCase.CaseStatusID; // //caseMember.CaseWorkerNote.ProgramID = varCase.ProgramID; // caseworker.CaseWorkerNote.IsFamily = true; // caseworker.CaseWorkerNote.IsFamilyMember = false; // caseworker.CaseWorkerNote.WorkerNoteActivityTypeID = (int)WorkerNoteActivityType.CaseWorker; // //varCase.CaseWorkerNote.NoteDate = Convert.ToDateTime(varCase.ContactDate); // caseWorkerNoteRepository.InsertOrUpdate(caseworker.CaseWorkerNote); // caseWorkerNoteRepository.Save(); //} //return RedirectToAction(Constants.Views.Index, new { caseId = caseId }); return(RedirectToAction(Constants.Actions.Index, Constants.Controllers.CaseSummary, new { caseID = caseworker.CaseID })); } else { foreach (var modelStateValue in ViewData.ModelState.Values) { foreach (var error in modelStateValue.Errors) { caseworker.ErrorMessage = error.ErrorMessage; break; } if (caseworker.ErrorMessage.IsNotNullOrEmpty()) { break; } } } } catch (CustomException ex) { caseworker.ErrorMessage = ex.UserDefinedMessage; } catch (Exception ex) { ExceptionManager.Manage(ex); caseworker.ErrorMessage = Constants.Messages.UnhandelledError; } ViewBag.PossibleCreatedByWorkers = workerRepository.All; ViewBag.PossibleLastUpdatedByWorkers = workerRepository.All; ViewBag.PossibleWorkers = workerRepository.All; //return view with error message if the operation is failed return(View(caseworker)); }
public ActionResult Create(CaseWorker caseworker) { caseworker.LastUpdatedByWorkerID = CurrentLoggedInWorker.ID; try { //validate data if (ModelState.IsValid) { //if (!string.IsNullOrEmpty(caseworker.CaseWorkerNote.Note) || caseworker.CaseWorkerNote.NoteDate != null || // caseworker.CaseWorkerNote.TimeSpentHours != null || caseworker.CaseWorkerNote.TimeSpentMinutes != null // || (caseworker.CaseWorkerNote.ContactMethodID != null && caseworker.CaseWorkerNote.ContactMethodID > 0)) //{ // var isnoteerror = false; // if (string.IsNullOrEmpty(caseworker.CaseWorkerNote.Note)) // { // ModelState.AddModelError("", "Please enter work note."); // isnoteerror = true; // } // if (caseworker.CaseWorkerNote.NoteDate == null) // { // ModelState.AddModelError("", "Please enter not date"); // isnoteerror = true; // } // if ((caseworker.CaseWorkerNote.TimeSpentHours == null || caseworker.CaseWorkerNote.TimeSpentHours == 0) && // (caseworker.CaseWorkerNote.TimeSpentMinutes == null || caseworker.CaseWorkerNote.TimeSpentMinutes == 0)) // { // ModelState.AddModelError("", "Please enter time spent"); // isnoteerror = true; // } // if (caseworker.CaseWorkerNote.ContactMethodID == null || caseworker.CaseWorkerNote.ContactMethodID == 0) // { // ModelState.AddModelError("", "Please select contact method"); // isnoteerror = true; // } // if (isnoteerror) // { // Case varCase = caseRepository.Find(caseId); // List<SelectListItem> workerList = workerRepository.NewFindAllPossible(varCase.ProgramID, varCase.RegionID, varCase.SubProgramID); // if (workerList == null || (workerList != null && workerList.Count == 0)) // { // caseworker.ErrorMessage = "There is no worker found for Program:" + varCase.Program.Name + ", Region:" + varCase.Region.Name + ", Sub-Program:" + varCase.SubProgram.Name; // } // ViewBag.PossibleWorkerList = workerList; // return View(caseworker); // } //} //call the repository function to save in database caseworker.IsActive = true; caseworkerRepository.InsertOrUpdate(caseworker); caseworkerRepository.Save(); string selectedCaseMember = Request.Form["SelectedCaseMember"].ToString(true); selectedCaseMember = selectedCaseMember.Replace("false", string.Empty); string[] arraySelectedCaseMember = selectedCaseMember.ToStringArray(',', true); List <CaseWorkerMemberAssignment> assignment = caseworkermemberassignmentRepository.FindAllByCaseWorkerID(caseworker.ID); if (arraySelectedCaseMember != null && arraySelectedCaseMember.Length > 0) { foreach (string caseMemberID in arraySelectedCaseMember) { if (assignment.Where(item => item.CaseMemberID == caseMemberID.ToInteger(true)).Count() == 0) { CaseWorkerMemberAssignment newCaseWorkerMemberAssignment = new CaseWorkerMemberAssignment() { CaseMemberID = caseMemberID.ToInteger(true), CaseWorkerID = caseworker.ID, LastUpdateDate = DateTime.Now, LastUpdatedByWorkerID = caseworker.LastUpdatedByWorkerID }; caseworkermemberassignmentRepository.InsertOrUpdate(newCaseWorkerMemberAssignment); caseworkermemberassignmentRepository.Save(); } } } foreach (CaseWorkerMemberAssignment existingMember in assignment) { if (arraySelectedCaseMember == null || !arraySelectedCaseMember.Contains(existingMember.CaseMemberID.ToString(true))) { caseworkermemberassignmentRepository.Delete(existingMember); caseworkermemberassignmentRepository.Save(); } } //if (caseworker.CaseWorkerNote.ContactMethodID > 0) //{ // caseworker.CaseWorkerNote.LastUpdatedByWorkerID = CurrentLoggedInWorker.ID; // caseworker.CaseWorkerNote.CaseID = caseworker.CaseID; // //caseMember.CaseWorkerNote.CaseStatusID = varCase.CaseStatusID; // //caseMember.CaseWorkerNote.ProgramID = varCase.ProgramID; // caseworker.CaseWorkerNote.IsFamily = true; // caseworker.CaseWorkerNote.IsFamilyMember = false; // caseworker.CaseWorkerNote.WorkerNoteActivityTypeID = (int)WorkerNoteActivityType.CaseWorker; // //varCase.CaseWorkerNote.NoteDate = Convert.ToDateTime(varCase.ContactDate); // caseWorkerNoteRepository.InsertOrUpdate(caseworker.CaseWorkerNote); // caseWorkerNoteRepository.Save(); //} //redirect to list page after successful operation //return RedirectToAction(Constants.Views.Index, new { caseId = caseId }); return(RedirectToAction(Constants.Actions.Index, Constants.Controllers.CaseSummary, new { caseID = caseworker.CaseID })); } else { foreach (var modelStateValue in ViewData.ModelState.Values) { foreach (var error in modelStateValue.Errors) { caseworker.ErrorMessage = error.ErrorMessage; break; } if (caseworker.ErrorMessage.IsNotNullOrEmpty()) { break; } } } } catch (CustomException ex) { caseworker.ErrorMessage = ex.UserDefinedMessage; } catch (Exception ex) { ExceptionManager.Manage(ex); caseworker.ErrorMessage = Constants.Messages.UnhandelledError; } ViewBag.PossibleCreatedByWorkers = workerRepository.All; ViewBag.PossibleLastUpdatedByWorkers = workerRepository.All; ViewBag.PossibleWorkers = workerRepository.All; ViewBag.DisplayID = caseRepository.Find(caseworker.CaseID).DisplayID; ViewBag.CaseID = caseworker.CaseID; return(View(caseworker)); }
/// <summary> /// Add or Update caseaction to database /// </summary> /// <param name="caseaction">data to save</param> public void InsertOrUpdate(CaseAction caseaction) { bool isNew = false; if (caseaction.CaseSmartGoalServiceProviderID > 0) { caseaction.CaseProgressNoteID = null; caseaction.CaseSmartGoalID = null; } if (caseaction.CaseProgressNoteID == 0) { caseaction.CaseProgressNoteID = null; } if (caseaction.CaseSmartGoalID == 0) { caseaction.CaseSmartGoalID = null; } caseaction.LastUpdateDate = DateTime.Now; if (caseaction.ID == default(int)) { isNew = true; //set the date when this record was created caseaction.CreateDate = caseaction.LastUpdateDate; //set the id of the worker who has created this record caseaction.CreatedByWorkerID = caseaction.LastUpdatedByWorkerID; //add a new record to database context.CaseAction.Add(caseaction); } else { //update an existing record to database context.Entry(caseaction).State = System.Data.Entity.EntityState.Modified; } Save(); if (caseaction.CaseProgressNoteID.HasValue && caseaction.CaseProgressNoteID.Value > 0) { CaseWorker primaryWorker = caseworkerRepository.FindPrimary(caseaction.CaseID); if (primaryWorker != null) { string caseLink = "/CaseManagement/CaseProgressNote/Edit?noteID=" + caseaction.CaseProgressNoteID.Value + "&CaseID=" + caseaction.CaseID + "&CaseMemberID=" + caseaction.CaseMemberID; WorkerNotification workerNotification = new WorkerNotification() { IsRead = false, LastUpdateDate = DateTime.Now, LastUpdatedByWorkerID = caseaction.LastUpdatedByWorkerID, ReferenceLink = caseLink, WorkerID = primaryWorker.WorkerID }; if (isNew) { workerNotification.Notification = "A new action has been added to a progress note. Please <a href='" + caseLink + "' target='_blank'>click here</a> to see the note detail."; } else { workerNotification.Notification = "A progress note action has been updated. Please <a href='" + caseLink + "' target='_blank'>click here</a> to see the note detail."; } workernotificationRepository.InsertOrUpdate(workerNotification); workernotificationRepository.Save(); } } else if (caseaction.CaseSmartGoalServiceProviderID.HasValue && caseaction.CaseSmartGoalServiceProviderID.Value > 0) { CaseSmartGoalServiceProvider casesmartgoalserviceprovider = casesmartgoalserviceproviderRepository.Find(caseaction.CaseSmartGoalServiceProviderID.Value); if (casesmartgoalserviceprovider != null && casesmartgoalserviceprovider.WorkerID.HasValue && casesmartgoalserviceprovider.WorkerID.Value > 0) { string caseLink = "/CaseManagement/CaseSmartGoalServiceProvider/Index?casesmartgoalId=" + casesmartgoalserviceprovider.CaseSmartGoalID + "&CaseID=" + caseaction.CaseID + "&CaseMemberID=" + caseaction.CaseMemberID; WorkerNotification workerNotification = new WorkerNotification() { IsRead = false, LastUpdateDate = DateTime.Now, LastUpdatedByWorkerID = casesmartgoalserviceprovider.LastUpdatedByWorkerID, ReferenceLink = caseLink, WorkerID = casesmartgoalserviceprovider.WorkerID.Value }; if (isNew) { workerNotification.Notification = "A new action has been added to a service provider. Please <a href='" + caseLink + "' target='_blank'>click here</a> to see the service provider detail."; } else { workerNotification.Notification = "A service provider action has been updated. Please <a href='" + caseLink + "' target='_blank'>click here</a> to see the service provider detail."; } workernotificationRepository.InsertOrUpdate(workerNotification); workernotificationRepository.Save(); } } if (caseaction.CaseWorkerID.HasValue && caseaction.CaseWorkerID.Value > 0) { int workerID = 0; if (caseaction.CaseSmartGoalServiceProviderID.HasValue && caseaction.CaseSmartGoalServiceProviderID.Value > 0) { CaseSmartGoalServiceProvider casesmartgoalserviceprovider = casesmartgoalserviceproviderRepository.Find(caseaction.CaseSmartGoalServiceProviderID.Value); if (casesmartgoalserviceprovider != null && casesmartgoalserviceprovider.WorkerID.HasValue) { workerID = casesmartgoalserviceprovider.WorkerID.Value; } } if (workerID == 0) { CaseWorker caseWorker = caseworkerRepository.Find(caseaction.CaseWorkerID.Value); if (caseWorker != null) { workerID = caseWorker.WorkerID; } } if (workerID > 0) { string caseLink = "/CaseManagement/CaseAction/Index?CaseID=" + caseaction.CaseID + "&CaseMemberID=" + caseaction.CaseMemberID; WorkerToDo workerToDo = new WorkerToDo() { LastUpdateDate = DateTime.Now, LastUpdatedByWorkerID = caseaction.LastUpdatedByWorkerID, ReferenceLink = caseLink, WorkerID = workerID, IsCompleted = false, }; if (isNew) { workerToDo.Subject = "A new action has been assigned to you. Please <a href='" + caseLink + "' target='_blank'>click here</a> to see the detail."; } else if (caseaction.IsCompleted) { workerToDo.Subject = "An action assigned to you has been completed. Please <a href='" + caseLink + "' target='_blank'>click here</a> to see the detail."; } else { workerToDo.Subject = "An action assigned to you has been updated. Please <a href='" + caseLink + "' target='_blank'>click here</a> to see the detail."; } workertodoRepository.InsertOrUpdate(workerToDo); workertodoRepository.Save(); } } }
public static void SeedData(this FormContext formContext) { if (formContext.Forms.Any()) { formContext.Forms.RemoveRange(formContext.Forms); } var member_1 = new Member() { Cpr = "230956-3434", FirstName = "Hans", LastName = "Pedersen", Gender = Gender.Male, City = "København", Street = "Nørrebrogade 123, 2 tv", MemberInfo = new List <MemberInfo> { new MemberInfo { Key = "MeetingNote", Value = "Kom igen for sent", DateOfInfo = DateTime.Parse("05/02/2018") } } }; var member_2 = new Member() { Cpr = "110985-2456", FirstName = "Grete", LastName = "Andersen", Gender = Gender.Female, City = "Vejle", Street = "Nørregade 12", }; var caseWorker = new CaseWorker() { Name = "Sanne Hansen", Location = "København", }; var previousEmployer = new Employer() { Name = "Coloplast", Address = "Coloplast Alle 1, Coloplast By", CVR = "34343-232-22", }; var forms = new List <Form> { new UnemployedForm { Member = member_1, DateSubmitted = DateTime.Now, PreviousEmployer = previousEmployer, CaseWorker = caseWorker, DateUnemployed = DateTime.Now - TimeSpan.FromDays(33), DateProcessed = DateTime.Now - TimeSpan.FromDays(3), IsProcessed = true }, new UnemployedForm { Member = member_2, DateSubmitted = DateTime.Now - TimeSpan.FromDays(100), PreviousEmployer = previousEmployer, CaseWorker = caseWorker, DateUnemployed = DateTime.Now - TimeSpan.FromDays(102), DateProcessed = DateTime.Now - TimeSpan.FromDays(90), IsProcessed = true }, new UnemployedForm { Member = member_2, DateSubmitted = DateTime.Now - TimeSpan.FromDays(200), PreviousEmployer = previousEmployer, CaseWorker = caseWorker, DateUnemployed = DateTime.Now - TimeSpan.FromDays(102), DateProcessed = DateTime.Now - TimeSpan.FromDays(90), IsProcessed = true }, new UnemployedForm { Member = member_2, DateSubmitted = DateTime.Now - TimeSpan.FromDays(15), PreviousEmployer = previousEmployer, CaseWorker = caseWorker, DateUnemployed = DateTime.Now - TimeSpan.FromDays(102), DateProcessed = DateTime.Now - TimeSpan.FromDays(90), IsProcessed = true }, new UnemployedForm { Member = member_2, DateSubmitted = DateTime.Now - TimeSpan.FromDays(11), PreviousEmployer = previousEmployer, CaseWorker = caseWorker, DateUnemployed = DateTime.Now - TimeSpan.FromDays(102), DateProcessed = DateTime.Now - TimeSpan.FromDays(90), IsProcessed = true }, new UnemployedForm { Member = member_2, DateSubmitted = DateTime.Now - TimeSpan.FromDays(10), PreviousEmployer = previousEmployer, CaseWorker = caseWorker, DateUnemployed = DateTime.Now - TimeSpan.FromDays(102), IsProcessed = false } }; formContext.Forms.AddRange(forms); formContext.SaveChanges(); }
/// <summary> /// Add or Update casemember to database /// </summary> /// <param name="casemember">data to save</param> public void InsertOrUpdate(CaseMember casemember) { //set a member as primary if there is no primary member has been set if (!casemember.IsPrimary) { int count = context.CaseMember.Where(item => item.CaseID == casemember.CaseID && item.IsPrimary == true).Count(); if (count == 0) { casemember.IsPrimary = true; } } string caseDisplayID = string.Empty; //when a member is set as primary, release others from primary is there is any if (casemember.IsPrimary && casemember.CaseID > 0) { string sqlQuery = "UPDATE CaseMember SET IsPrimary=0 WHERE CaseID=" + casemember.CaseID; context.Database.ExecuteSqlCommand(sqlQuery); context.SaveChanges(); //Case varCase = context.Case.SingleOrDefault(item => item.ID == casemember.CaseID); //if (varCase != null) //{ // string regionCode = varCase.Region.Code; // if (regionCode.IsNullOrEmpty()) // { // if (varCase.Region.Name.IsNotNullOrEmpty()) // { // regionCode = varCase.Region.Name.Substring(0, 2).ToUpper(); // } // } // if (varCase.DisplayID.IsNotNullOrEmpty() && varCase.DisplayID.Contains("NA")) // { // varCase.DisplayID = MiscUtility.GetCasePersonalizedId(regionCode, casemember.FirstName, casemember.LastName, casemember.CaseID, varCase.DisplayID); // } // context.Entry(varCase).State = System.Data.Entity.EntityState.Modified; // context.SaveChanges(); // caseDisplayID = varCase.DisplayID; //} } //if (casemember.DisplayID.IsNullOrEmpty()) //{ // if (caseDisplayID.IsNullOrEmpty()) // { // Case varCase = context.Case.SingleOrDefault(item => item.ID == casemember.CaseID); // if (varCase != null) // { // caseDisplayID = varCase.DisplayID; // } // if (caseDisplayID.IsNullOrEmpty()) // { // CaseMember originalCaller = GetOriginalCaller(casemember.CaseID); // if (originalCaller == null) // { // originalCaller = context.CaseMember.OrderBy(item => item.ID).FirstOrDefault(item=>item.CaseID==casemember.CaseID); // if (originalCaller != null) // { // originalCaller.IsPrimary = true; // context.Entry(originalCaller).State = System.Data.Entity.EntityState.Modified; // context.SaveChanges(); // } // } // string regionCode = varCase.Region.Code; // if (regionCode.IsNullOrEmpty()) // { // if (varCase.Region.Name.IsNotNullOrEmpty()) // { // regionCode = varCase.Region.Name.Substring(0, 2).ToUpper(); // } // } // if (varCase.DisplayID.IsNotNullOrEmpty() && varCase.DisplayID.Contains("NA")) // { // varCase.DisplayID = MiscUtility.GetCasePersonalizedId(regionCode, casemember.FirstName, casemember.LastName, casemember.CaseID, varCase.DisplayID); // } // context.Entry(varCase).State = System.Data.Entity.EntityState.Modified; // context.SaveChanges(); // caseDisplayID = varCase.DisplayID; // } // } //} int sequence = 1; //Update case display id List <CaseMember> allCaseMember = context.CaseMember.Where(item => item.CaseID == casemember.CaseID && item.ID != casemember.ID).OrderBy(item => item.ID).ToList(); if (allCaseMember != null) { foreach (CaseMember existingCaseMember in allCaseMember) { casemember.Sequence = sequence; casemember.DisplayID = caseDisplayID + "-" + casemember.Sequence.ToString().PadLeft(3, '0'); sequence++; } Save(); } casemember.Sequence = sequence; casemember.DisplayID = caseDisplayID + "-" + casemember.Sequence.ToString().PadLeft(3, '0'); casemember.LastUpdateDate = DateTime.Now; if (casemember.ID == default(int)) { //set the date when this record was created casemember.CreateDate = casemember.LastUpdateDate; //set the id of the worker who has created this record casemember.CreatedByWorkerID = casemember.LastUpdatedByWorkerID; //add a new record to database context.CaseMember.Add(casemember); Save(); CaseWorker primaryWorker = caseworkerRepository.FindPrimary(casemember.CaseID); if (primaryWorker != null) { CaseWorkerMemberAssignment newCaseWorkerMemberAssignment = new CaseWorkerMemberAssignment() { CaseMemberID = casemember.ID, CaseWorkerID = primaryWorker.ID, CreateDate = DateTime.Now, CreatedByWorkerID = casemember.CreatedByWorkerID, LastUpdateDate = DateTime.Now, LastUpdatedByWorkerID = casemember.CreatedByWorkerID }; caseworkermemberassignmentRepository.InsertOrUpdate(newCaseWorkerMemberAssignment); caseworkermemberassignmentRepository.Save(); } } else { //update an existing record to database context.Entry(casemember).State = System.Data.Entity.EntityState.Modified; } }
public ActionResult Create(CaseWorker caseworker, int caseId) { caseworker.LastUpdatedByWorkerID = CurrentLoggedInWorker.ID; caseworker.CaseID = caseId; try { //validate data if (ModelState.IsValid) { if (!string.IsNullOrEmpty(caseworker.CaseWorkerNote.Note) || caseworker.CaseWorkerNote.NoteDate != null || caseworker.CaseWorkerNote.TimeSpentHours != null || caseworker.CaseWorkerNote.TimeSpentMinutes != null || (caseworker.CaseWorkerNote.ContactMethodID != null && caseworker.CaseWorkerNote.ContactMethodID > 0)) { var isnoteerror = false; if (string.IsNullOrEmpty(caseworker.CaseWorkerNote.Note)) { ModelState.AddModelError("", "Please enter work note."); isnoteerror = true; } if (caseworker.CaseWorkerNote.NoteDate == null) { ModelState.AddModelError("", "Please enter not date"); isnoteerror = true; } if ((caseworker.CaseWorkerNote.TimeSpentHours == null || caseworker.CaseWorkerNote.TimeSpentHours == 0) && (caseworker.CaseWorkerNote.TimeSpentMinutes == null || caseworker.CaseWorkerNote.TimeSpentMinutes == 0)) { ModelState.AddModelError("", "Please enter time spent"); isnoteerror = true; } if (caseworker.CaseWorkerNote.ContactMethodID == null || caseworker.CaseWorkerNote.ContactMethodID == 0) { ModelState.AddModelError("", "Please select contact method"); isnoteerror = true; } if (isnoteerror) { Case varCase = caseRepository.Find(caseId); List <SelectListItem> workerList = workerRepository.NewFindAllPossible(varCase.ProgramID, varCase.RegionID, varCase.SubProgramID); if (workerList == null || (workerList != null && workerList.Count == 0)) { caseworker.ErrorMessage = "There is no worker found for Program:" + varCase.Program.Name + ", Region:" + varCase.Region.Name + ", Sub-Program:" + varCase.SubProgram.Name; } ViewBag.PossibleWorkerList = workerList; return(View(caseworker)); } } //call the repository function to save in database caseworker.IsActive = true; caseworkerRepository.InsertOrUpdate(caseworker); caseworkerRepository.Save(); if (caseworker.CaseWorkerNote.ContactMethodID > 0) { caseworker.CaseWorkerNote.LastUpdatedByWorkerID = CurrentLoggedInWorker.ID; caseworker.CaseWorkerNote.CaseID = caseworker.CaseID; //caseMember.CaseWorkerNote.CaseStatusID = varCase.CaseStatusID; //caseMember.CaseWorkerNote.ProgramID = varCase.ProgramID; caseworker.CaseWorkerNote.IsFamily = true; caseworker.CaseWorkerNote.IsFamilyMember = false; caseworker.CaseWorkerNote.WorkerNoteActivityTypeID = (int)WorkerNoteActivityType.CaseWorker; //varCase.CaseWorkerNote.NoteDate = Convert.ToDateTime(varCase.ContactDate); caseWorkerNoteRepository.InsertOrUpdate(caseworker.CaseWorkerNote); caseWorkerNoteRepository.Save(); } //redirect to list page after successful operation //return RedirectToAction(Constants.Views.Index, new { caseId = caseId }); return(RedirectToAction(Constants.Actions.Index, Constants.Controllers.CaseSummary, new { caseID = caseId })); } else { foreach (var modelStateValue in ViewData.ModelState.Values) { foreach (var error in modelStateValue.Errors) { caseworker.ErrorMessage = error.ErrorMessage; break; } if (caseworker.ErrorMessage.IsNotNullOrEmpty()) { break; } } } } catch (CustomException ex) { caseworker.ErrorMessage = ex.UserDefinedMessage; } catch (Exception ex) { ExceptionManager.Manage(ex); caseworker.ErrorMessage = Constants.Messages.UnhandelledError; } ViewBag.PossibleCreatedByWorkers = workerRepository.All; ViewBag.PossibleLastUpdatedByWorkers = workerRepository.All; ViewBag.PossibleWorkers = workerRepository.All; return(View(caseworker)); }