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));
        }
Ejemplo n.º 2
0
        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));
        }
Ejemplo n.º 3
0
 public Task <int> SaveCaseWorker(CaseWorker worker)
 {
     if (worker.WorkerId == 0)
     {
         return(Database.InsertAsync(worker));
     }
     else
     {
         return(Database.UpdateAsync(worker));
     }
 }
Ejemplo n.º 4
0
        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));
        }
Ejemplo n.º 5
0
 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));
 }
Ejemplo n.º 6
0
        /// <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        = "";
        }
Ejemplo n.º 9
0
 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));
 }
Ejemplo n.º 10
0
        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));
        }
Ejemplo n.º 11
0
        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));
        }
Ejemplo n.º 12
0
        /// <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();
                }
            }
        }
Ejemplo n.º 13
0
        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));
        }
Ejemplo n.º 14
0
        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));
        }
Ejemplo n.º 15
0
        /// <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();
                }
            }
        }
Ejemplo n.º 16
0
        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();
        }
Ejemplo n.º 17
0
        /// <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;
            }
        }
Ejemplo n.º 18
0
        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));
        }