예제 #1
0
        public ActionResult Create(int caseID, int?caseMemberID)
        {
            bool hasAccess = workerroleactionpermissionnewRepository.HasPermission(CurrentLoggedInWorkerRoleIDs, Constants.Areas.CaseManagement, Constants.Controllers.CaseProgressNote, Constants.Actions.Create, true);

            if (!hasAccess)
            {
                WebHelper.CurrentSession.Content.ErrorMessage = "You are not eligible to do this action";
                return(RedirectToAction(Constants.Actions.AccessDenied, Constants.Controllers.Home, new { Area = String.Empty }));
            }

            //create a new instance of caseprogressnote
            CaseProgressNote caseProgressNote = new CaseProgressNote();

            caseProgressNote.CaseID           = caseID;
            caseProgressNote.IsInitialContact = false;
            if (caseMemberID.HasValue && caseMemberID.Value > 0)
            {
                caseProgressNote.CaseMemberID = caseMemberID.Value;
                CaseMember caseMember = casememberRepository.Find(caseProgressNote.CaseMemberID);
                if (caseMember != null)
                {
                    ViewBag.DisplayID = caseMember.DisplayID;
                }
            }
            else
            {
                Case varCase = caseRepository.Find(caseID);
                if (varCase != null)
                {
                    ViewBag.DisplayID = varCase.DisplayID;
                }
            }
            return(View(caseProgressNote));
        }
예제 #2
0
        public ActionResult Read(int id, int caseId, int?caseMemberID)
        {
            bool hasAccess = workerroleactionpermissionnewRepository.HasPermission(CurrentLoggedInWorkerRoleIDs, Constants.Areas.CaseManagement, Constants.Controllers.CaseMemberProfile, Constants.Actions.Read, true);

            if (!hasAccess)
            {
                WebHelper.CurrentSession.Content.ErrorMessage = "You are not eligible to do this action";
                return(RedirectToAction(Constants.Actions.AccessDenied, Constants.Controllers.Home, new { Area = String.Empty }));
            }

            //find the existing casememberprofile from database
            CaseMemberProfile casememberprofile = casememberprofileRepository.Find(id);

            casememberprofile.CaseID = caseId;
            if (casememberprofile.CaseMemberID > 0)
            {
                CaseMember caseMember = casememberRepository.Find(casememberprofile.CaseMemberID);
                if (caseMember != null)
                {
                    ViewBag.DisplayID = caseMember.DisplayID;
                }
            }
            else
            {
                Case varCase = caseRepository.Find(casememberprofile.CaseID);
                if (varCase != null)
                {
                    ViewBag.DisplayID = varCase.DisplayID;
                }
            }
            //return editor view
            return(View(casememberprofile));
        }
예제 #3
0
        public ActionResult Index([DataSourceRequest(Prefix = "Grid")] DataSourceRequest dsRequest, CaseAssessment searchCaseAssessment, int caseId, int?caseMemberId)
        {
            var  varCase   = caseRepository.Find(caseId);
            bool hasAccess = workerroleactionpermissionnewRepository.HasPermission(caseId, CurrentLoggedInWorkerRoleIDs, CurrentLoggedInWorker.ID, varCase.ProgramID, varCase.RegionID, varCase.SubProgramID, varCase.JamatkhanaID, Constants.Areas.CaseManagement, Constants.Controllers.CaseAssessment, Constants.Actions.Index, true);

            if (!hasAccess)
            {
                WebHelper.CurrentSession.Content.ErrorMessage = "You are not eligible to do this action";
                return(RedirectToAction(Constants.Actions.AccessDenied, Constants.Controllers.Home, new { Area = String.Empty }));
            }
            searchCaseAssessment.CaseID = caseId;
            if (caseMemberId.HasValue && caseMemberId.Value > 0)
            {
                searchCaseAssessment.CaseMemberID = caseMemberId.Value;
                CaseMember caseMember = casememberRepository.Find(searchCaseAssessment.CaseMemberID);
                if (caseMember != null)
                {
                    ViewBag.DisplayID = caseMember.DisplayID;
                }
            }
            else
            {
                if (varCase == null)
                {
                    varCase = caseRepository.Find(caseId);
                }
                if (varCase != null)
                {
                    ViewBag.DisplayID = varCase.DisplayID;
                }
            }
            searchCaseAssessment.HasPermissionToCreate = workerroleactionpermissionnewRepository.HasPermission(CurrentLoggedInWorkerRoleIDs, Constants.Areas.CaseManagement, Constants.Controllers.CaseAssessment, Constants.Actions.Create, true);
            return(View(searchCaseAssessment));
        }
예제 #4
0
        public ActionResult IndexRead(int caseID)
        {
            var  varCase   = caseRepository.Find(caseID);
            bool hasAccess = workerroleactionpermissionnewRepository.HasPermission(caseID, CurrentLoggedInWorkerRoleIDs, CurrentLoggedInWorker.ID, varCase.ProgramID, varCase.RegionID, varCase.SubProgramID, varCase.JamatkhanaID, Constants.Areas.CaseManagement, Constants.Controllers.CaseMember, Constants.Actions.Index, true);

            if (!hasAccess)
            {
                WebHelper.CurrentSession.Content.ErrorMessage = "You are not eligible to do this action";
                return(RedirectToAction(Constants.Actions.AccessDenied, Constants.Controllers.Home, new { Area = String.Empty }));
            }
            CaseMember caseMember = new CaseMember();

            if (varCase != null)
            {
                caseMember.CaseID = caseID;
                ViewBag.DisplayID = varCase.DisplayID;
                ViewBag.CaseID    = caseID;
            }
            else
            {
                caseMember.EnrollDate     = DateTime.Now;
                caseMember.MemberStatusID = 1;
            }
            return(View(caseMember));
        }
예제 #5
0
        public ActionResult DeleteAjax(int id)
        {
            //find the varCase in database
            BaseModel statusModel = new BaseModel();

            try
            {
                bool hasAccess = workerroleactionpermissionnewRepository.HasPermission(CurrentLoggedInWorkerRoleIDs, Constants.Areas.CaseManagement, Constants.Controllers.CaseMember, Constants.Actions.Delete, 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 }));
                }

                CaseMember caseMember = casememberRepository.Find(id);
                //<JL:Comment:No need to check access again on post. On edit we are already checking permission.>
                //var primaryWorkerID = GetPrimaryWorkerOfTheCase(caseMember.CaseID);
                //if (caseMember.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 });
                //}
                //</JL:Comment:07/08/2017>
                //delete varCase from database
                casememberRepository.Delete(id);
                casememberRepository.Save();
                //Audit Log


                //set success message
                statusModel.SuccessMessage = "Case individual has been deleted successfully";
            }
            catch (CustomException ex)
            {
                statusModel.ErrorMessage = ex.UserDefinedMessage;
            }
            catch (Exception ex)
            {
                if (ex.Message == "Store update, insert, or delete statement affected an unexpected number of rows (0). Entities may have been modified or deleted since entities were loaded. See http://go.microsoft.com/fwlink/?LinkId=472540 for information on understanding and handling optimistic concurrency exceptions.")
                {
                    statusModel.SuccessMessage = "Case individual has been deleted successfully";
                }
                else
                {
                    ExceptionManager.Manage(ex);
                    statusModel.ErrorMessage = Constants.Messages.UnhandelledError;
                }
            }
            //return action status in json to display on a message bar
            if (statusModel.ErrorMessage.IsNotNullOrEmpty())
            {
                return(Json(new { success = false, data = this.RenderPartialViewToString(Constants.PartialViews.AlertSliding, statusModel) }));
            }
            else
            {
                return(Json(new { success = true, data = this.RenderPartialViewToString(Constants.PartialViews.AlertSliding, statusModel) }));
            }
        }
예제 #6
0
        public ActionResult Read(int noteID, int caseID, int?caseMemberID)
        {
            Case varCase = caseRepository.Find(caseID);

            bool hasAccess = workerroleactionpermissionnewRepository.HasPermission(caseID, CurrentLoggedInWorkerRoleIDs, CurrentLoggedInWorker.ID, varCase.ProgramID, varCase.RegionID, varCase.SubProgramID, varCase.JamatkhanaID, Constants.Areas.CaseManagement, Constants.Controllers.CaseProgressNote, Constants.Actions.Read, true);

            if (!hasAccess)
            {
                WebHelper.CurrentSession.Content.ErrorMessage = "You are not eligible to do this action";
                return(RedirectToAction(Constants.Actions.AccessDenied, Constants.Controllers.Home, new { Area = String.Empty }));
            }

            //find the existing caseprogressnote from database
            CaseProgressNote caseProgressNote = caseprogressnoteRepository.Find(noteID);

            caseProgressNote.CaseID = caseID;
            List <string> MemberList = new List <string>();

            if (caseProgressNote.CaseMemberID > 0)
            {
                MemberList.Add(caseProgressNote.CaseMemberID.ToString());
            }
            else
            {
                var caseProgressNoteMembers = caseProgressNoteMembersRepository.SearchMembers(caseProgressNote.ID);
                if (caseProgressNoteMembers != null && caseProgressNoteMembers.Count > 0)
                {
                    foreach (var item in caseProgressNoteMembers)
                    {
                        MemberList.Add(item.CaseMemberID.ToString());
                    }
                }
            }
            if (MemberList.Count > 0)
            {
                string[] members = MemberList.ToArray();
                caseProgressNote.CaseMembersIds = members;
            }
            if (caseMemberID.HasValue && caseMemberID.Value > 0)
            {
                caseProgressNote.CaseMemberID = caseMemberID.Value;
                CaseMember caseMember = casememberRepository.Find(caseProgressNote.CaseMemberID);
                if (caseMember != null)
                {
                    ViewBag.DisplayID = caseMember.DisplayID;
                }
            }
            else
            {
                //Case varCase = caseRepository.Find(caseID);
                if (varCase != null)
                {
                    ViewBag.DisplayID = varCase.DisplayID;
                }
            }
            //return editor view
            return(View(caseProgressNote));
        }
예제 #7
0
        public ActionResult Edit(int id, int caseId, int?caseMemberId)
        {
            var  varCase   = caseRepository.Find(caseId);
            bool hasAccess = workerroleactionpermissionnewRepository.HasPermission(caseId, CurrentLoggedInWorkerRoleIDs, CurrentLoggedInWorker.ID, varCase.ProgramID, varCase.RegionID, varCase.SubProgramID, varCase.JamatkhanaID, Constants.Areas.CaseManagement, Constants.Controllers.CaseGoal, Constants.Actions.Edit, true);

            if (!hasAccess)
            {
                WebHelper.CurrentSession.Content.ErrorMessage = "You are not eligible to do this action";
                return(RedirectToAction(Constants.Actions.AccessDenied, Constants.Controllers.Home, new { Area = String.Empty }));
            }

            //find the existing caseGoal from database
            CaseGoal caseGoal = caseGoalRepository.Find(id);
            List <CaseGoalLivingCondition> qolList = qualityoflifecategoryRepository.All.Where(item => item.IsActive == true).AsEnumerable().Select(item => new CaseGoalLivingCondition()
            {
                QualityOfLifeCategoryID = item.ID, QualityOfLifeCategoryName = item.Name
            }).ToList();
            List <CaseGoalLivingCondition> existingQOLList = casegoallivingconditionRepository.AllIncluding(id).ToList();

            foreach (CaseGoalLivingCondition qol in qolList)
            {
                if (existingQOLList != null)
                {
                    foreach (CaseGoalLivingCondition existingQOL in existingQOLList)
                    {
                        if (qol.QualityOfLifeCategoryID == existingQOL.QualityOfLifeCategoryID)
                        {
                            qol.ID   = existingQOL.ID;
                            qol.Note = existingQOL.Note;
                            break;
                        }
                    }
                }
            }
            ViewBag.QualityOfLifeCategory = qolList;
            caseGoal.CaseID = caseId;
            if (caseMemberId.HasValue && caseMemberId.Value > 0)
            {
                caseGoal.CaseMemberID = caseMemberId.Value;
                CaseMember caseMember = casememberRepository.Find(caseGoal.CaseMemberID);
                if (caseMember != null)
                {
                    ViewBag.DisplayID = caseMember.DisplayID;
                }
            }
            else
            {
                //Case varCase = caseRepository.Find(caseId);
                if (varCase != null)
                {
                    ViewBag.DisplayID = varCase.DisplayID;
                }
            }
            //return editor view
            return(View(caseGoal));
        }
예제 #8
0
        public ActionResult DetailsAjax(int id)
        {
            CaseMember casemember = casememberRepository.Find(id);

            if (casemember == null)
            {
                return(new HttpStatusCodeResult(System.Net.HttpStatusCode.NotFound, "Case Member not found"));
            }
            return(Content(this.RenderPartialViewToString(Constants.PartialViews.Details, casemember)));
        }
예제 #9
0
        public ActionResult GetDisplayIDAjax(int id)
        {
            CaseMember caseMember = casememberRepository.Find(id);

            if (caseMember != null)
            {
                return(Json(new { data = caseMember.DisplayID }, JsonRequestBehavior.AllowGet));
            }
            else
            {
                return(Json(new { data = string.Empty }, JsonRequestBehavior.AllowGet));
            }
        }
예제 #10
0
        public ActionResult Edit(int id, int caseId)
        {
            //CaseMember casemember = casememberRepository.Find(id);

            CaseMember casemember = null;

            if (id > 0)
            {
                //find an existing casemember from database
                Case varCase = caseRepository.Find(Convert.ToInt32(caseId));
                ViewBag.DisplayID = varCase.DisplayID;
                ViewBag.CaseID    = caseId;
                bool hasAccess = workerroleactionpermissionnewRepository.HasPermission(Convert.ToInt32(caseId), CurrentLoggedInWorkerRoleIDs, CurrentLoggedInWorker.ID, varCase.ProgramID, varCase.RegionID, varCase.SubProgramID, varCase.JamatkhanaID, Constants.Areas.CaseManagement, Constants.Controllers.CaseMember, Constants.Actions.Edit, true);
                if (!hasAccess)
                {
                    WebHelper.CurrentSession.Content.ErrorMessage = "You are not eligible to do this action";
                    return(RedirectToAction(Constants.Actions.AccessDenied, Constants.Controllers.Home, new { Area = String.Empty }));
                }

                casemember = casememberRepository.Find(id);
                if (casemember == null)
                {
                    //throw an exception if id is provided but data does not exist in database
                    return(new HttpStatusCodeResult(System.Net.HttpStatusCode.NotFound, "Case Member not found"));
                }
                else
                {
                    //string Ethnicity = caseEthinicityRepository.FindEthnicity(id);
                    //if (!string.IsNullOrEmpty(Ethnicity))
                    //{
                    //    casemember.CaseEthinicity = Ethnicity.Split(',');
                    //}
                    //else
                    //{
                    //    casemember.CaseEthinicity = new string[] { casemember.EthnicityID.ToString() };
                    //}
                }
            }
            else
            {
                //create a new instance if id is not provided
                casemember          = new CaseMember();
                casemember.CaseID   = caseId.ToInteger(true);
                casemember.IsActive = true;
            }

            ViewBag.ContactMediaList  = contactmediaRepository.AllActiveForDropDownList;
            casemember.CaseWorkerNote = new CaseWorkerNote();

            return(View(casemember));
        }
        public void UpdateReviewPanel(PanelFormData panelData)
        {
            ReviewPanel reviewPanel = dbContext.ReviewPanels.SingleOrDefault(r => r.ReviewID == panelData.ReviewID);

            if (reviewPanel != null)
            {
                CaseMember    member       = panelData.Reviews[0];
                List <Member> panelMembers = dbContext.Members.Where(m => member.Members.Contains(m.MemberID)).ToList();
                reviewPanel.Members.Clear();
                dbContext.SaveChanges();
                reviewPanel.ReviewDetails = panelData.ReviewDetails;
                reviewPanel.CreatedBy     = panelData.CreatedBy;
                reviewPanel.CreatedOn     = panelData.CreatedOn;
                reviewPanel.Members       = panelMembers;

                dbContext.SaveChanges();
            }
        }
예제 #12
0
        public ActionResult EditorAjax(int id, string caseId)
        {
            CaseMember casemember = null;

            if (id > 0)
            {
                //find an existing casemember from database
                Case varCase   = caseRepository.Find(Convert.ToInt32(caseId));
                bool hasAccess = workerroleactionpermissionnewRepository.HasPermission(Convert.ToInt32(caseId), CurrentLoggedInWorkerRoleIDs, CurrentLoggedInWorker.ID, varCase.ProgramID, varCase.RegionID, varCase.SubProgramID, varCase.JamatkhanaID, Constants.Areas.CaseManagement, Constants.Controllers.CaseMember, Constants.Actions.Edit, true);
                if (!hasAccess)
                {
                    WebHelper.CurrentSession.Content.ErrorMessage = "You are not eligible to do this action";
                    return(RedirectToAction(Constants.Actions.AccessDenied, Constants.Controllers.Home, new { Area = String.Empty }));
                }

                casemember = casememberRepository.Find(id);
                if (casemember == null)
                {
                    //throw an exception if id is provided but data does not exist in database
                    return(new HttpStatusCodeResult(System.Net.HttpStatusCode.NotFound, "Case Member not found"));
                }
                else
                {
                    string Ethnicity = caseEthinicityRepository.FindEthnicity(id);
                    if (!string.IsNullOrEmpty(Ethnicity))
                    {
                        casemember.CaseEthinicity = Ethnicity.Split(',');
                    }
                    else
                    {
                        casemember.CaseEthinicity = new string[] { casemember.EthnicityID.ToString() };
                    }
                }
            }
            else
            {
                //create a new instance if id is not provided
                casemember          = new CaseMember();
                casemember.CaseID   = caseId.ToInteger(true);
                casemember.IsActive = true;
            }
            //return the html of editor to display on popup
            return(Content(this.RenderPartialViewToString(Constants.PartialViews.CreateOrEdit, casemember)));
        }
예제 #13
0
        public ActionResult Create(int caseID)
        {
            //create a new instance of casemember
            var varCase = caseRepository.Find(caseID);

            if (varCase == null)
            {
                return(new HttpStatusCodeResult(System.Net.HttpStatusCode.NotFound, "Case not found"));
            }
            CaseMember caseMember = new CaseMember();

            caseMember.CaseID         = caseID;
            ViewBag.DisplayID         = varCase.DisplayID;
            ViewBag.CaseID            = caseID;
            caseMember.EnrollDate     = DateTime.Now;
            caseMember.MemberStatusID = 1;
            caseMember.IsActive       = true;
            caseMember.CaseWorkerNote = new CaseWorkerNote();
            return(View(caseMember));
        }
예제 #14
0
        public ViewResult Index(int casesmartgoalId, int caseId, int?caseMemberId)
        {
            CaseSmartGoal caseSmartGoal = casesmartgoalRepository.Find(casesmartgoalId);

            if (caseSmartGoal != null)
            {
                List <CaseSmartGoalAssignment> goalAssignmentList = casesmartgoalRepository.FindAllCaseSmartGoalAssignmentByCaseSmargGoalID(caseSmartGoal.ID);
                if (goalAssignmentList != null)
                {
                    foreach (CaseSmartGoalAssignment goalAssignment in goalAssignmentList)
                    {
                        caseSmartGoal.SmartGoalName = caseSmartGoal.SmartGoalName.Concate(",", goalAssignment.SmartGoal.Name);
                    }
                }
            }
            caseSmartGoal.CaseID = caseId;
            CaseSmartGoalProgress caseSmartGoalProgress = new CaseSmartGoalProgress();

            caseSmartGoalProgress.CaseSmartGoal      = caseSmartGoal;
            caseSmartGoalProgress.CaseSmartGoalID    = casesmartgoalId;
            caseSmartGoalProgress.PendingActionCount = caseactionRepository.FindPendingActionCount(casesmartgoalId);

            if (caseMemberId.HasValue && caseMemberId.Value > 0)
            {
                caseSmartGoalProgress.CaseMemberID = caseMemberId.Value;
                CaseMember caseMember = casememberRepository.Find(caseSmartGoalProgress.CaseMemberID);
                if (caseMember != null)
                {
                    ViewBag.DisplayID = caseMember.DisplayID;
                }
            }
            else
            {
                var varCase = caseRepository.Find(caseId);
                if (varCase != null)
                {
                    ViewBag.DisplayID = varCase.DisplayID;
                }
            }
            return(View(caseSmartGoalProgress));
        }
예제 #15
0
        public ActionResult Create(int caseId, int?caseMemberId)
        {
            bool hasAccess = workerroleactionpermissionnewRepository.HasPermission(CurrentLoggedInWorkerRoleIDs, Constants.Areas.CaseManagement, Constants.Controllers.CaseGoal, Constants.Actions.Create, true);

            if (!hasAccess)
            {
                WebHelper.CurrentSession.Content.ErrorMessage = "You are not eligible to do this action";
                return(RedirectToAction(Constants.Actions.AccessDenied, Constants.Controllers.Home, new { Area = String.Empty }));
            }
            //create a new instance of caseGoal
            CaseGoal caseGoal = new CaseGoal();

            caseGoal.CaseID               = caseId;
            caseGoal.StartDate            = DateTime.Now;
            caseGoal.EndDate              = caseGoal.StartDate.AddMonths(1);
            ViewBag.QualityOfLifeCategory = qualityoflifecategoryRepository.All.Where(item => item.IsActive == true).AsEnumerable().Select(item => new CaseGoalLivingCondition()
            {
                QualityOfLifeCategoryID = item.ID, QualityOfLifeCategoryName = item.Name
            });
            if (caseMemberId.HasValue && caseMemberId.Value > 0)
            {
                caseGoal.CaseMemberID = caseMemberId.Value;
                CaseMember caseMember = casememberRepository.Find(caseGoal.CaseMemberID);
                if (caseMember != null)
                {
                    ViewBag.DisplayID = caseMember.DisplayID;
                }
            }
            else
            {
                Case varCase = caseRepository.Find(caseId);
                if (varCase != null)
                {
                    ViewBag.DisplayID = varCase.DisplayID;
                }
            }
            //return view result
            return(View(caseGoal));
        }
예제 #16
0
        public ActionResult Read(int id, int caseID)
        {
            //find the existing varCase from database
            Case varCase = caseRepository.Find(caseID);

            if (varCase == null)
            {
                return(RedirectToAction(Constants.Actions.Create, Constants.Controllers.Case, new { area = Constants.Areas.CaseManagement }));
            }

            ViewBag.HasAccessToAssignmentModule     = false;
            ViewBag.HasAccessToIndividualModule     = false;
            ViewBag.HasAccessToInitialContactModule = false;
            ViewBag.HasAccessToCaseAuditLogModule   = true;
            if (CurrentLoggedInWorkerRoleIDs.IndexOf(1) == -1)
            {
                ViewBag.HasAccessToAssignmentModule     = workerroleactionpermissionnewRepository.HasPermission(caseID, CurrentLoggedInWorkerRoleIDs, CurrentLoggedInWorker.ID, varCase.ProgramID, varCase.RegionID, varCase.SubProgramID, varCase.JamatkhanaID, Constants.Areas.CaseManagement, Constants.Controllers.CaseWorker, Constants.Actions.Index, true);
                ViewBag.HasAccessToIndividualModule     = workerroleactionpermissionnewRepository.HasPermission(caseID, CurrentLoggedInWorkerRoleIDs, CurrentLoggedInWorker.ID, varCase.ProgramID, varCase.RegionID, varCase.SubProgramID, varCase.JamatkhanaID, Constants.Areas.CaseManagement, Constants.Controllers.CaseMember, Constants.Actions.Index, true);
                ViewBag.HasAccessToInitialContactModule = workerroleactionpermissionnewRepository.HasPermission(caseID, CurrentLoggedInWorkerRoleIDs, CurrentLoggedInWorker.ID, varCase.ProgramID, varCase.RegionID, varCase.SubProgramID, varCase.JamatkhanaID, Constants.Areas.CaseManagement, Constants.Controllers.CaseProgressNote, Constants.Actions.InitialContact, true);
            }
            else
            {
                ViewBag.HasAccessToAssignmentModule     = true;
                ViewBag.HasAccessToIndividualModule     = true;
                ViewBag.HasAccessToInitialContactModule = true;
            }

            bool hasAccess = workerroleactionpermissionnewRepository.HasPermission(caseID, CurrentLoggedInWorkerRoleIDs, CurrentLoggedInWorker.ID, varCase.ProgramID, varCase.RegionID, varCase.SubProgramID, varCase.JamatkhanaID, Constants.Areas.CaseManagement, Constants.Controllers.CaseMember, Constants.Actions.Read, true);

            if (!hasAccess)
            {
                WebHelper.CurrentSession.Content.ErrorMessage = "You are not eligible to do this action";
                return(RedirectToAction(Constants.Actions.AccessDenied, Constants.Controllers.Home, new { Area = String.Empty }));
            }

            CaseMember casemember = casememberRepository.Find(id);

            return(View(casemember));
        }
예제 #17
0
        public ActionResult Create(int caseId, int?caseMemberID)
        {
            bool hasAccess = workerroleactionpermissionnewRepository.HasPermission(CurrentLoggedInWorkerRoleIDs, Constants.Areas.CaseManagement, Constants.Controllers.CaseAssessment, Constants.Actions.Create, true);

            if (!hasAccess)
            {
                WebHelper.CurrentSession.Content.ErrorMessage = "You are not eligible to do this action";
                return(RedirectToAction(Constants.Actions.AccessDenied, Constants.Controllers.Home, new { Area = String.Empty }));
            }
            //create a new instance of caseassessment
            CaseAssessment caseassessment = new CaseAssessment();

            caseassessment.CaseID         = caseId;
            caseassessment.DocumentedByID = CurrentLoggedInWorker.ID;
            caseassessment.StartDate      = DateTime.Now;
            caseassessment.DischargeDate  = DateTime.Now;
            caseassessment.MemberStatusID = 1;
            if (caseMemberID.HasValue && caseMemberID.Value > 0)
            {
                caseassessment.CaseMemberID = caseMemberID.Value;
                CaseMember caseMember = casememberRepository.Find(caseassessment.CaseMemberID);
                if (caseMember != null)
                {
                    ViewBag.DisplayID = caseMember.DisplayID;
                }
            }
            else
            {
                Case varCase = caseRepository.Find(caseId);
                if (varCase != null)
                {
                    ViewBag.DisplayID = varCase.DisplayID;
                }
            }
            WebHelper.CurrentSession.Content.Data = null;
            //return view result
            return(View(caseassessment));
        }
예제 #18
0
        public ActionResult View(int id, int caseId, int?caseMemberID)
        {
            bool hasAccess = workerroleactionpermissionnewRepository.HasPermission(CurrentLoggedInWorkerRoleIDs, Constants.Areas.CaseManagement, Constants.Controllers.CaseAssessment, Constants.Actions.Edit, true);

            if (!hasAccess)
            {
                WebHelper.CurrentSession.Content.ErrorMessage = "You are not eligible to do this action";
                return(RedirectToAction(Constants.Actions.AccessDenied, Constants.Controllers.Home, new { Area = String.Empty }));
            }
            //find the existing caseassessment from database
            CaseAssessment caseassessment = caseassessmentRepository.Find(id);

            caseassessment.CaseID = caseId;
            //if (caseassessment.AssessmentTypeID == 3)
            //{
            //    return RedirectToAction(Constants.Actions.Termination, Constants.Controllers.CaseAssessment, new { Id = caseassessment.ID, CaseID = caseassessment.CaseID, CaseMemberID = caseassessment.CaseMemberID });
            //}
            WebHelper.CurrentSession.Content.Data = caseassessmentlivingconditionRepository.FindAllByCaseAssessmentID(id).ToList();
            if (caseassessment.CaseMemberID > 0)
            {
                CaseMember caseMember = casememberRepository.Find(caseassessment.CaseMemberID);
                if (caseMember != null)
                {
                    ViewBag.DisplayID = caseMember.DisplayID;
                }
            }
            else
            {
                Case varCase = caseRepository.Find(caseassessment.CaseID);
                if (varCase != null)
                {
                    ViewBag.DisplayID = varCase.DisplayID;
                }
            }
            //return editor view
            return(View(caseassessment));
        }
예제 #19
0
 public ActionResult Create(CaseMemberProfile casememberprofile, int caseId, int?caseMemberID)
 {
     casememberprofile.LastUpdatedByWorkerID = CurrentLoggedInWorker.ID;
     try
     {
         //if (casememberprofile.ProfileDate > DateTime.Today)
         //{
         //    throw new CustomException("Profile date can't be future date.");
         //}
         //validate data
         if (ModelState.IsValid)
         {
             //call the repository function to save in database
             casememberprofileRepository.InsertOrUpdate(casememberprofile);
             casememberprofileRepository.Save();
             //redirect to list page after successful operation
             return(RedirectToAction(Constants.Views.Index, new { caseId = casememberprofile.CaseID, caseMemberID = casememberprofile.CaseMemberID }));
         }
         else
         {
             foreach (var modelStateValue in ViewData.ModelState.Values)
             {
                 foreach (var error in modelStateValue.Errors)
                 {
                     casememberprofile.ErrorMessage = error.ErrorMessage;
                     break;
                 }
                 if (casememberprofile.ErrorMessage.IsNotNullOrEmpty())
                 {
                     break;
                 }
             }
         }
     }
     catch (CustomException ex)
     {
         casememberprofile.ErrorMessage = ex.UserDefinedMessage;
     }
     catch (Exception ex)
     {
         ExceptionManager.Manage(ex);
         casememberprofile.ErrorMessage = Constants.Messages.UnhandelledError;
     }
     //return view with error message if operation is failed
     if (casememberprofile.CaseMemberID > 0)
     {
         CaseMember caseMember = casememberRepository.Find(casememberprofile.CaseMemberID);
         if (caseMember != null)
         {
             ViewBag.DisplayID = caseMember.DisplayID;
         }
     }
     else
     {
         Case varCase = caseRepository.Find(casememberprofile.CaseID);
         if (varCase != null)
         {
             ViewBag.DisplayID = varCase.DisplayID;
         }
     }
     return(View(casememberprofile));
 }
예제 #20
0
        public ActionResult SaveAjax(CaseMember casemember, int caseId = 0, bool isredirect = false)
        {
            //id=0 means add operation, update operation otherwise
            bool isNew = casemember.ID == 0;

            if (casemember.CaseID == 0 && caseId > 0)
            {
                casemember.CaseID = caseId;
            }
            //validate data
            if (ModelState.IsValid)
            {
                try
                {
                    //if (casemember.MemberStatusID == null || casemember.MemberStatusID == 0)
                    //{
                    //    casemember.ErrorMessage = "Please select Status";
                    //}
                    //else
                    //{
                    //<JL:Comment:No need to check access again on post. On edit we are already checking permission.>
                    //if (!isNew)
                    //{
                    //    var primaryWorkerID = GetPrimaryWorkerOfTheCase(casemember.CaseID);
                    //    List<CaseWorker> caseworker = caseworkerRepository.FindAllByCaseID(caseId).Where(x => x.WorkerID == CurrentLoggedInWorker.ID).ToList();
                    //    if ((caseworker == null || caseworker.Count() == 0) && casemember.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 });
                    //    }
                    //}
                    //</JL:Comment:07/08/2017>
                    casemember.MemberStatusID = 1;
                    if (isNew)
                    {
                        casemember.EnrollDate = System.DateTime.Now;
                    }
                    //set the id of the worker who has added/updated this record
                    casemember.LastUpdatedByWorkerID = CurrentLoggedInWorker.ID;
                    //call repository function to save the data in database
                    casememberRepository.InsertOrUpdate(casemember);
                    casememberRepository.Save();
                    //if (casemember.CaseEthinicity != null && casemember.CaseEthinicity.Length > 0)
                    //{
                    //    CaseMemberEthinicity ethinicityModel = new CaseMemberEthinicity();
                    //    ethinicityModel.CaseID = casemember.ID;
                    //    string EthinicityIds = string.Join(",", casemember.CaseEthinicity);
                    //    if (!String.IsNullOrEmpty(EthinicityIds))
                    //    {
                    //        ethinicityModel.EthinicityID = EthinicityIds;
                    //        ethinicityModel.CreateDate = DateTime.Now;
                    //        caseEthinicityRepository.InsertOrUpdate(ethinicityModel);
                    //        caseEthinicityRepository.Save();
                    //    }
                    //}
                    //set status message
                    if (isNew)
                    {
                        casemember.SuccessMessage = "Case individual has been added successfully";
                    }
                    else
                    {
                        casemember.SuccessMessage = "Case individual has been updated successfully";
                    }
                }
                //}
                catch (CustomException ex)
                {
                    casemember.ErrorMessage = ex.UserDefinedMessage;
                }
                catch (Exception ex)
                {
                    ExceptionManager.Manage(ex);
                    casemember.ErrorMessage = Constants.Messages.UnhandelledError;
                }
            }
            else
            {
                foreach (var modelStateValue in ViewData.ModelState.Values)
                {
                    foreach (var error in modelStateValue.Errors)
                    {
                        casemember.ErrorMessage = error.ErrorMessage;
                        break;
                    }
                    if (casemember.ErrorMessage.IsNotNullOrEmpty())
                    {
                        break;
                    }
                }
            }
            //return the status message in json
            if (casemember.ErrorMessage.IsNotNullOrEmpty())
            {
                return(Json(new { success = false, data = this.RenderPartialViewToString(Constants.PartialViews.AlertSliding, casemember) }));
            }
            else
            {
                string[] BlankArray = { };
                casemember.CaseEthinicity = BlankArray;
                if (isredirect)
                {
                    return(Json(new { success = true, url = Url.Action(Constants.Actions.InitialContact, Constants.Controllers.CaseProgressNote, new { caseID = casemember.CaseID }) }));
                }
                else
                {
                    return(Json(new { success = true, data = this.RenderPartialViewToString(Constants.PartialViews.AlertSliding, casemember) }));
                }
            }
        }
예제 #21
0
        public ActionResult Termination(CaseAssessment caseassessment, int?id, int caseMemberId, int caseId)
        {
            caseassessment.AssessmentTypeID      = 3;
            caseassessment.LastUpdatedByWorkerID = CurrentLoggedInWorker.ID;
            try
            {
                if (caseassessment.CaseMemberID > 0)
                {
                    if (casesmartgoalRepository.HasOpenSmartGoal(caseassessment.CaseMemberID))
                    {
                        throw new CustomException("You can't discharge this Family or Family Member because the Family or Family Member has open goals.");
                    }
                }
                //validate data
                if (ModelState.IsValid)
                {
                    //<JL:Comment:No need to check access again on post. On edit we are already checking permission.>
                    //if (caseassessment.ID > 0 && caseassessment.CreatedByWorkerID != CurrentLoggedInWorker.ID && CurrentLoggedInWorkerRoleIDs.IndexOf(1) == -1 && (CurrentLoggedInWorkerRoleIDs.IndexOf(SiteConfigurationReader.RegionalManagerRoleID) == -1))
                    //{
                    //        WebHelper.CurrentSession.Content.ErrorMessage = "You are not eligible to do this action";
                    //        return RedirectToAction(Constants.Actions.AccessDenied, Constants.Controllers.Home, new { Area = String.Empty });
                    //    }
                    //</JL:Comment:07/08/2017>
                    caseassessment.QualityOfLifeIDs   = string.Empty;
                    caseassessment.NextAssessmentDate = DateTime.Today;
                    //call the repository function to save in database
                    caseassessmentRepository.InsertOrUpdate(caseassessment, Request.Form);
                    caseassessmentRepository.Save();

                    CaseMember caseMember = casememberRepository.Find(caseassessment.CaseMemberID);
                    if (caseMember != null)
                    {
                        caseMember.MemberStatusID = caseassessment.MemberStatusID;
                        casememberRepository.UpdateAndSave(caseMember);
                    }
                    //redirect to list page after successful operation
                    return(RedirectToAction(Constants.Views.Index, new { caseId = caseassessment.CaseID }));
                }
                else
                {
                    foreach (var modelStateValue in ViewData.ModelState.Values)
                    {
                        foreach (var error in modelStateValue.Errors)
                        {
                            caseassessment.ErrorMessage = error.ErrorMessage;
                            break;
                        }
                        if (caseassessment.ErrorMessage.IsNotNullOrEmpty())
                        {
                            break;
                        }
                    }
                }
            }
            catch (CustomException ex)
            {
                caseassessment.ErrorMessage = ex.UserDefinedMessage;
            }
            catch (Exception ex)
            {
                ExceptionManager.Manage(ex);
                caseassessment.ErrorMessage = Constants.Messages.UnhandelledError;
            }
            List <CaseAssessment>  assessmentList     = caseassessmentRepository.FindAllByCaseMemberID(caseassessment.CaseMemberID);
            List <LookupBaseModel> presentingProblems = new List <LookupBaseModel>();
            List <LookupBaseModel> underlyingProblems = new List <LookupBaseModel>();
            List <LookupBaseModel> generalComments    = new List <LookupBaseModel>();

            foreach (CaseAssessment assessment in assessmentList)
            {
                if (assessment.PresentingProblem.IsNotNullOrEmpty())
                {
                    presentingProblems.Add(new LookupBaseModel()
                    {
                        Name = assessment.PresentingProblem, CreateDate = assessment.StartDate
                    });
                }
                if (assessment.UnderlyingProblem.IsNotNullOrEmpty())
                {
                    underlyingProblems.Add(new LookupBaseModel()
                    {
                        Name = assessment.UnderlyingProblem, CreateDate = assessment.StartDate
                    });
                }
                if (assessment.GeneralComments.IsNotNullOrEmpty())
                {
                    generalComments.Add(new LookupBaseModel()
                    {
                        Name = assessment.GeneralComments, CreateDate = assessment.StartDate
                    });
                }
            }
            ViewBag.PresentingProblem = presentingProblems;
            ViewBag.UnderlyingProblem = underlyingProblems;
            ViewBag.GeneralComments   = generalComments;

            List <CaseAssessmentLivingCondition> assessmentQOLList = caseassessmentlivingconditionRepository.FindAllByCaseMemberID(caseassessment.CaseMemberID);

            if (assessmentQOLList == null)
            {
                assessmentQOLList = new List <CaseAssessmentLivingCondition>();
            }
            ViewBag.ImmediateNeeds     = assessmentQOLList.Where(item => item.QualityOfLifeCategoryID == 6);
            ViewBag.Education          = assessmentQOLList.Where(item => item.QualityOfLifeCategoryID == 3);
            ViewBag.Health             = assessmentQOLList.Where(item => item.QualityOfLifeCategoryID == 4);
            ViewBag.Housing            = assessmentQOLList.Where(item => item.QualityOfLifeCategoryID == 5);
            ViewBag.IncomeLivelihood   = assessmentQOLList.Where(item => item.QualityOfLifeCategoryID == 7);
            ViewBag.AssetsProduction   = assessmentQOLList.Where(item => item.QualityOfLifeCategoryID == 1);
            ViewBag.DignitySelfRespect = assessmentQOLList.Where(item => item.QualityOfLifeCategoryID == 2);
            ViewBag.SocialSupport      = assessmentQOLList.Where(item => item.QualityOfLifeCategoryID == 8);
            //return view with error message if operation is failed
            if (caseassessment.CaseMemberID > 0)
            {
                CaseMember caseMember = casememberRepository.Find(caseassessment.CaseMemberID);
                if (caseMember != null)
                {
                    ViewBag.DisplayID = caseMember.DisplayID;
                }
            }
            else
            {
                Case varCase = caseRepository.Find(caseassessment.CaseID);
                if (varCase != null)
                {
                    ViewBag.DisplayID = varCase.DisplayID;
                }
            }
            return(View(caseassessment));
        }
예제 #22
0
        public ActionResult Edit(CaseMember casemember, int caseId)
        {
            if (casemember.CaseID == 0 && caseId > 0)
            {
                casemember.CaseID = caseId;
            }
            casemember.LastUpdatedByWorkerID = CurrentLoggedInWorker.ID;
            try
            {
                //validate data
                if (ModelState.IsValid)
                {
                    //<JL:Comment:No need to check access again on post. On edit we are already checking permission.>
                    //if (casemember.ID > 0 && casemember.CreatedByWorkerID != CurrentLoggedInWorker.ID && CurrentLoggedInWorkerRoleIDs.IndexOf(1) == -1 && (CurrentLoggedInWorkerRoleIDs.IndexOf(SiteConfigurationReader.RegionalManagerRoleID) == -1))
                    //{
                    //    WebHelper.CurrentSession.Content.ErrorMessage = "You are not eligible to do this action";
                    //    //return Json(new { success = true, url = Url.Action(Constants.Actions.AccessDenied, Constants.Controllers.Home, new { Area = String.Empty }) });
                    //    return RedirectToAction(Constants.Actions.AccessDenied, Constants.Controllers.Home, new { Area = String.Empty });
                    //}
                    //call the repository function to save in database
                    casememberRepository.InsertOrUpdate(casemember);
                    casememberRepository.Save();
                    if (casemember.CaseWorkerNote.ContactMethodID > 0)
                    {
                        casemember.CaseWorkerNote.LastUpdatedByWorkerID = CurrentLoggedInWorker.ID;
                        casemember.CaseWorkerNote.CaseID = casemember.CaseID;
                        //caseMember.CaseWorkerNote.CaseStatusID = varCase.CaseStatusID;
                        //caseMember.CaseWorkerNote.ProgramID = varCase.ProgramID;
                        casemember.CaseWorkerNote.IsFamily                 = true;
                        casemember.CaseWorkerNote.IsFamilyMember           = false;
                        casemember.CaseWorkerNote.WorkerNoteActivityTypeID = (int)WorkerNoteActivityType.CaseIndividual;
                        //varCase.CaseWorkerNote.NoteDate = Convert.ToDateTime(varCase.ContactDate);
                        caseWorkerNoteRepository.InsertOrUpdate(casemember.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)
                        {
                            casemember.ErrorMessage = error.ErrorMessage;
                            break;
                        }
                        if (casemember.ErrorMessage.IsNotNullOrEmpty())
                        {
                            break;
                        }
                    }
                }
            }
            catch (CustomException ex)
            {
                casemember.ErrorMessage = ex.UserDefinedMessage;
            }
            catch (Exception ex)
            {
                ExceptionManager.Manage(ex);
                casemember.ErrorMessage = Constants.Messages.UnhandelledError;
            }

            //return view with error message if the operation is failed
            return(View(casemember));
        }
예제 #23
0
        public ActionResult Create(CaseAssessment caseassessment, int caseId, int?caseMemberID)
        {
            caseassessment.LastUpdatedByWorkerID = CurrentLoggedInWorker.ID;
            try
            {
                if (caseassessment.StartDate > caseassessment.EndDate)
                {
                    throw new CustomException("Start date can't be greater than end date.");
                }
                caseassessment.QualityOfLifeIDs = Request.Form["QualityOfLifeIDs"].ToString(true);
                //validate data
                if (ModelState.IsValid)
                {
                    //call the repository function to save in database
                    caseassessmentRepository.InsertOrUpdate(caseassessment, Request.Form);
                    caseassessmentRepository.Save();
                    //redirect to list page after successful operation
                    return(RedirectToAction(Constants.Views.Index, new { caseId = caseassessment.CaseID, CaseMemberID = caseassessment.CaseMemberID }));
                }
                else
                {
                    foreach (var modelStateValue in ViewData.ModelState.Values)
                    {
                        foreach (var error in modelStateValue.Errors)
                        {
                            caseassessment.ErrorMessage = error.ErrorMessage;
                            break;
                        }
                        if (caseassessment.ErrorMessage.IsNotNullOrEmpty())
                        {
                            break;
                        }
                    }
                }
            }
            catch (CustomException ex)
            {
                caseassessment.ErrorMessage = ex.UserDefinedMessage;
            }
            catch (Exception ex)
            {
                ExceptionManager.Manage(ex);
                caseassessment.ErrorMessage = Constants.Messages.UnhandelledError;
            }
            List <CaseAssessmentLivingCondition> selectedCaseAssessmentLivingConditionList = new List <CaseAssessmentLivingCondition>();

            string[] arraySelectedQOL = caseassessment.QualityOfLifeIDs.ToStringArray(',', true);
            if (arraySelectedQOL != null && arraySelectedQOL.Length > 0)
            {
                foreach (string qolID in arraySelectedQOL)
                {
                    CaseAssessmentLivingCondition newCaseAssessmentLivingCondition = new CaseAssessmentLivingCondition()
                    {
                        QualityOfLifeID       = qolID.ToInteger(true),
                        CaseAssessmentID      = caseassessment.ID,
                        LastUpdateDate        = DateTime.Now,
                        LastUpdatedByWorkerID = caseassessment.LastUpdatedByWorkerID,
                    };
                    newCaseAssessmentLivingCondition.Note = Request.Form["txtQualityOfLifeIDs" + qolID].ToString(true);
                    selectedCaseAssessmentLivingConditionList.Add(newCaseAssessmentLivingCondition);
                }
            }
            WebHelper.CurrentSession.Content.Data = selectedCaseAssessmentLivingConditionList;
            if (caseassessment.CaseMemberID > 0)
            {
                CaseMember caseMember = casememberRepository.Find(caseassessment.CaseMemberID);
                if (caseMember != null)
                {
                    ViewBag.DisplayID = caseMember.DisplayID;
                }
            }
            else
            {
                Case varCase = caseRepository.Find(caseassessment.CaseID);
                if (varCase != null)
                {
                    ViewBag.DisplayID = varCase.DisplayID;
                }
            }
            //return view with error message if operation is failed
            return(View(caseassessment));
        }
예제 #24
0
        public ActionResult Create(CaseMember casemember, int caseId)
        {
            if (casemember.CaseID == 0 && caseId > 0)
            {
                casemember.CaseID = caseId;
            }
            casemember.LastUpdatedByWorkerID = CurrentLoggedInWorker.ID;
            try
            {
                //validate data
                if (ModelState.IsValid)
                {
                    if (!string.IsNullOrEmpty(casemember.CaseWorkerNote.Note) || casemember.CaseWorkerNote.NoteDate != null ||
                        casemember.CaseWorkerNote.TimeSpentHours != null || casemember.CaseWorkerNote.TimeSpentMinutes != null ||
                        (casemember.CaseWorkerNote.ContactMethodID != null && casemember.CaseWorkerNote.ContactMethodID > 0))
                    {
                        var isnoteerror = false;

                        if (string.IsNullOrEmpty(casemember.CaseWorkerNote.Note))
                        {
                            ModelState.AddModelError("", "Please enter work note.");
                            isnoteerror = true;
                        }

                        if (casemember.CaseWorkerNote.NoteDate == null)
                        {
                            ModelState.AddModelError("", "Please enter not date");
                            isnoteerror = true;
                        }

                        if ((casemember.CaseWorkerNote.TimeSpentHours == null || casemember.CaseWorkerNote.TimeSpentHours == 0) &&
                            (casemember.CaseWorkerNote.TimeSpentMinutes == null || casemember.CaseWorkerNote.TimeSpentMinutes == 0))
                        {
                            ModelState.AddModelError("", "Please enter time spent");
                            isnoteerror = true;
                        }

                        if (casemember.CaseWorkerNote.ContactMethodID == null || casemember.CaseWorkerNote.ContactMethodID == 0)
                        {
                            ModelState.AddModelError("", "Please select contact method");
                            isnoteerror = true;
                        }
                        if (isnoteerror)
                        {
                            var varCase = caseRepository.Find(caseId);
                            if (varCase != null)
                            {
                                ViewBag.DisplayID = varCase.DisplayID;
                            }
                            ViewBag.CaseID            = caseId;
                            casemember.EnrollDate     = DateTime.Now;
                            casemember.MemberStatusID = 1;
                            casemember.IsActive       = true;
                            return(View(casemember));
                        }
                    }

                    casememberRepository.InsertOrUpdate(casemember);
                    casememberRepository.Save();

                    if (casemember.CaseWorkerNote.ContactMethodID > 0)
                    {
                        casemember.CaseWorkerNote.LastUpdatedByWorkerID = CurrentLoggedInWorker.ID;
                        casemember.CaseWorkerNote.CaseID = casemember.CaseID;
                        //caseMember.CaseWorkerNote.CaseStatusID = varCase.CaseStatusID;
                        //caseMember.CaseWorkerNote.ProgramID = varCase.ProgramID;
                        casemember.CaseWorkerNote.IsFamily                 = true;
                        casemember.CaseWorkerNote.IsFamilyMember           = false;
                        casemember.CaseWorkerNote.WorkerNoteActivityTypeID = (int)WorkerNoteActivityType.CaseIndividual;
                        //varCase.CaseWorkerNote.NoteDate = Convert.ToDateTime(varCase.ContactDate);
                        caseWorkerNoteRepository.InsertOrUpdate(casemember.CaseWorkerNote);
                        caseWorkerNoteRepository.Save();
                    }
                    //return RedirectToAction(Constants.Views.Index, new { caseId = caseMember.CaseID });
                    return(RedirectToAction(Constants.Views.Edit, new { id = casemember.ID, caseId = casemember.CaseID }));
                }
                else
                {
                    foreach (var modelStateValue in ViewData.ModelState.Values)
                    {
                        foreach (var error in modelStateValue.Errors)
                        {
                            casemember.ErrorMessage = error.ErrorMessage;
                            break;
                        }
                        if (casemember.ErrorMessage.IsNotNullOrEmpty())
                        {
                            break;
                        }
                    }
                }
            }
            catch (CustomException ex)
            {
                casemember.ErrorMessage = ex.UserDefinedMessage;
            }
            catch (Exception ex)
            {
                ExceptionManager.Manage(ex);
                casemember.ErrorMessage = Constants.Messages.UnhandelledError;
            }
            //return view with error message if operation is failed
            return(View(casemember));
        }
예제 #25
0
        public ActionResult Termination(int?id, int caseId, int?caseMemberId)
        {
            var  varCase   = caseRepository.Find(caseId);
            bool hasAccess = workerroleactionpermissionnewRepository.HasPermission(caseId, CurrentLoggedInWorkerRoleIDs, CurrentLoggedInWorker.ID, varCase.ProgramID, varCase.RegionID, varCase.SubProgramID, varCase.JamatkhanaID, Constants.Areas.CaseManagement, Constants.Controllers.CaseAssessment, Constants.Actions.Termination, 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 }));
            }
            if (!caseMemberId.HasValue || caseMemberId <= 0)
            {
                CaseMember caseMember = casememberRepository.All.FirstOrDefault(item => item.CaseID == caseId);
                if (caseMember != null)
                {
                    caseMemberId = caseMember.ID;
                }
                else
                {
                    caseMemberId = 0;
                }
            }
            //find the existing caseassessment from database
            CaseAssessment caseassessment = null;

            if (id.HasValue && id.Value > 0)
            {
                caseassessment = caseassessmentRepository.Find(id.Value);
            }
            if (caseassessment == null)
            {
                caseassessment = new CaseAssessment();
            }
            caseassessment.CaseID = caseId;
            if (caseMemberId.HasValue && caseMemberId > 0)
            {
                caseassessment.CaseMemberID = caseMemberId.Value;
            }
            List <CaseAssessment>  assessmentList     = caseassessmentRepository.FindAllByCaseMemberID(caseMemberId.Value);
            List <LookupBaseModel> presentingProblems = new List <LookupBaseModel>();
            List <LookupBaseModel> underlyingProblems = new List <LookupBaseModel>();
            List <LookupBaseModel> generalComments    = new List <LookupBaseModel>();

            foreach (CaseAssessment assessment in assessmentList)
            {
                if (assessment.PresentingProblem.IsNotNullOrEmpty())
                {
                    presentingProblems.Add(new LookupBaseModel()
                    {
                        Name = assessment.PresentingProblem, CreateDate = assessment.StartDate
                    });
                }
                if (assessment.UnderlyingProblem.IsNotNullOrEmpty())
                {
                    underlyingProblems.Add(new LookupBaseModel()
                    {
                        Name = assessment.UnderlyingProblem, CreateDate = assessment.StartDate
                    });
                }
                if (assessment.GeneralComments.IsNotNullOrEmpty())
                {
                    generalComments.Add(new LookupBaseModel()
                    {
                        Name = assessment.GeneralComments, CreateDate = assessment.StartDate
                    });
                }
            }
            ViewBag.PresentingProblem = presentingProblems;
            ViewBag.UnderlyingProblem = underlyingProblems;
            ViewBag.GeneralComments   = generalComments;

            List <CaseAssessmentLivingCondition> assessmentQOLList = caseassessmentlivingconditionRepository.FindAllByCaseMemberID(caseMemberId.Value);

            if (assessmentQOLList == null)
            {
                assessmentQOLList = new List <CaseAssessmentLivingCondition>();
            }
            ViewBag.ImmediateNeeds     = assessmentQOLList.Where(item => item.QualityOfLifeCategoryID == 6);
            ViewBag.Education          = assessmentQOLList.Where(item => item.QualityOfLifeCategoryID == 3);
            ViewBag.Health             = assessmentQOLList.Where(item => item.QualityOfLifeCategoryID == 4);
            ViewBag.Housing            = assessmentQOLList.Where(item => item.QualityOfLifeCategoryID == 5);
            ViewBag.IncomeLivelihood   = assessmentQOLList.Where(item => item.QualityOfLifeCategoryID == 7);
            ViewBag.AssetsProduction   = assessmentQOLList.Where(item => item.QualityOfLifeCategoryID == 1);
            ViewBag.DignitySelfRespect = assessmentQOLList.Where(item => item.QualityOfLifeCategoryID == 2);
            ViewBag.SocialSupport      = assessmentQOLList.Where(item => item.QualityOfLifeCategoryID == 8);
            //return editor view
            if (caseassessment.ID == 0)
            {
                caseassessment.AssessmentTypeID   = 3;
                caseassessment.DocumentedByID     = CurrentLoggedInWorker.ID;
                caseassessment.StartDate          = DateTime.Now;
                caseassessment.DischargeDate      = DateTime.Now;
                caseassessment.MemberStatusID     = 14;
                caseassessment.CaseMemberID       = caseMemberId.Value;
                caseassessment.CaseID             = caseId;
                caseassessment.RiskTypeID         = 1;
                caseassessment.NextAssessmentDate = DateTime.Now;
            }
            if (caseassessment.CaseMemberID > 0)
            {
                CaseMember caseMember = casememberRepository.Find(caseassessment.CaseMemberID);
                if (caseMember != null)
                {
                    ViewBag.DisplayID = caseMember.DisplayID;
                }
            }
            else
            {
                if (varCase == null)
                {
                    varCase = caseRepository.Find(caseassessment.CaseID);
                }
                if (varCase != null)
                {
                    ViewBag.DisplayID = varCase.DisplayID;
                }
            }
            return(View(caseassessment));
        }
예제 #26
0
        public ActionResult Create(CaseProgressNote caseProgressNote, int caseID, int?caseMemberID)
        {
            caseProgressNote.LastUpdatedByWorkerID = CurrentLoggedInWorker.ID;
            try
            {
                //if (caseProgressNote.NoteDate > DateTime.Today)
                //{
                //    throw new CustomException("Note date can't be future date.");
                //}

                //validate data
                if (ModelState.IsValid)
                {
                    caseProgressNote.LastUpdatedByWorkerID = CurrentLoggedInWorker.ID;
                    caseprogressnoteRepository.InsertOrUpdate(caseProgressNote);
                    caseprogressnoteRepository.Save();

                    if (caseProgressNote.IsInitialContact)
                    {
                        if (caseProgressNote.CaseMembersIds != null && caseProgressNote.CaseMembersIds.Count() > 0)
                        {
                            foreach (var item in caseProgressNote.CaseMembersIds)
                            {
                                CaseProgressNoteMembers caseProgressNoteMembers = new CaseProgressNoteMembers();
                                caseProgressNoteMembers.CaseMemberID       = Convert.ToInt32(item);
                                caseProgressNoteMembers.CaseProgressNoteID = Convert.ToInt32(caseProgressNote.ID);
                                caseProgressNoteMembersRepository.InsertOrUpdate(caseProgressNoteMembers);
                                caseProgressNoteMembersRepository.Save();
                            }
                        }
                        else
                        {
                            throw new CustomException("Select atleast one family member");
                        }
                    }
                    else
                    {
                        if (caseProgressNote.CaseMemberID > 0)
                        {
                            CaseProgressNoteMembers caseProgressNoteMembers = new CaseProgressNoteMembers();
                            caseProgressNoteMembers.CaseMemberID       = caseProgressNote.CaseMemberID;
                            caseProgressNoteMembers.CaseProgressNoteID = Convert.ToInt32(caseProgressNote.ID);
                            caseProgressNoteMembersRepository.InsertOrUpdate(caseProgressNoteMembers);
                            caseProgressNoteMembersRepository.Save();
                        }
                        else
                        {
                            throw new CustomException("Please select family or family member");
                        }
                    }
                    //Audit Log
                    if (caseProgressNote.IsInitialContact)
                    {
                        return(RedirectToAction(Constants.Actions.Index, Constants.Controllers.CaseWorker, new { caseID = caseProgressNote.CaseID, caseMemberID = caseMemberID }));
                    }
                    else
                    {
                        return(RedirectToAction(Constants.Actions.Edit, new { noteID = caseProgressNote.ID, caseID = caseProgressNote.CaseID, caseMemberID = caseMemberID }));
                    }
                }
                else
                {
                    foreach (var modelStateValue in ViewData.ModelState.Values)
                    {
                        foreach (var error in modelStateValue.Errors)
                        {
                            caseProgressNote.ErrorMessage = error.ErrorMessage;
                            break;
                        }
                        if (caseProgressNote.ErrorMessage.IsNotNullOrEmpty())
                        {
                            break;
                        }
                    }
                }
            }
            catch (CustomException ex)
            {
                caseProgressNote.ErrorMessage = ex.UserDefinedMessage;
            }
            catch (Exception ex)
            {
                ExceptionManager.Manage(ex);
                caseProgressNote.ErrorMessage = Constants.Messages.UnhandelledError;
            }
            if (caseMemberID.HasValue && caseMemberID.Value > 0)
            {
                caseProgressNote.CaseMemberID = caseMemberID.Value;
                CaseMember caseMember = casememberRepository.Find(caseProgressNote.CaseMemberID);
                if (caseMember != null)
                {
                    ViewBag.DisplayID = caseMember.DisplayID;
                }
            }
            else
            {
                Case varCase = caseRepository.Find(caseID);
                if (varCase != null)
                {
                    ViewBag.DisplayID = varCase.DisplayID;
                }
            }
            return(View(caseProgressNote));
        }
예제 #27
0
        public ActionResult Index(int caseID, int?caseMemberID)
        {
            var  varCase   = caseRepository.Find(caseID);
            bool hasAccess = workerroleactionpermissionnewRepository.HasPermission(caseID, CurrentLoggedInWorkerRoleIDs, CurrentLoggedInWorker.ID, varCase.ProgramID, varCase.RegionID, varCase.SubProgramID, varCase.JamatkhanaID, Constants.Areas.CaseManagement, Constants.Controllers.CaseProgressNote, Constants.Actions.Index, true);

            if (!hasAccess)
            {
                WebHelper.CurrentSession.Content.ErrorMessage = "You are not eligible to do this action";
                return(RedirectToAction(Constants.Actions.AccessDenied, Constants.Controllers.Home, new { Area = String.Empty }));
            }
            CaseProgressNote caseProgressNote = new CaseProgressNote();

            //caseProgressNote.ActivityTypeID = 1;
            caseProgressNote.CaseID = caseID;
            if (caseMemberID.HasValue && caseMemberID > 0)
            {
                caseProgressNote.CaseMemberID = caseMemberID.Value;
                CaseMember caseMember = casememberRepository.Find(caseProgressNote.CaseMemberID);
                if (caseMember != null)
                {
                    ViewBag.DisplayID = caseMember.DisplayID;
                    int muridProfileCount = casememberprofileRepository.All.Count(item => item.CaseMember.CaseID == caseID && item.CaseMemberID == caseMemberID.Value);
                    if (muridProfileCount == 0)
                    {
                        caseProgressNote.ErrorMessage = "There is no profile created for family or family member " + caseMember.FirstName + " " + caseMember.LastName;
                    }
                    else
                    {
                        int assessmentCount = caseassessmentRepository.All.Count(item => item.CaseMember.CaseID == caseID && item.CaseMemberID == caseMemberID.Value);
                        if (assessmentCount == 0)
                        {
                            caseProgressNote.ErrorMessage = "There is no assessment created for family or family member " + caseMember.FirstName + " " + caseMember.LastName;
                        }
                        else
                        {
                            int goalCount = caseGoalRepository.All.Count(item => item.CaseMember.CaseID == caseID && item.CaseMemberID == caseMemberID.Value);
                            if (goalCount == 0)
                            {
                                caseProgressNote.ErrorMessage = "There is no goal identified for family or family member " + caseMember.FirstName + " " + caseMember.LastName;
                            }
                        }
                    }
                }
            }
            else
            {
                caseProgressNote.CaseMemberID = 0;
                int muridProfileCount = casememberprofileRepository.All.Count(item => item.CaseMember.CaseID == caseID);
                if (muridProfileCount == 0)
                {
                    caseProgressNote.ErrorMessage = "There is no profile created for this case";
                }
                else
                {
                    int assessmentCount = caseassessmentRepository.All.Count(item => item.CaseMember.CaseID == caseID);
                    if (assessmentCount == 0)
                    {
                        caseProgressNote.ErrorMessage = "There is no assessment created for this case";
                    }
                    else
                    {
                        int goalCount = caseGoalRepository.All.Count(item => item.CaseMember.CaseID == caseID);
                        if (goalCount == 0)
                        {
                            caseProgressNote.ErrorMessage = "There is no goal identified for this case";
                        }
                    }
                }
            }
            if (caseMemberID.HasValue && caseMemberID.Value > 0)
            {
                caseProgressNote.CaseMemberID = caseMemberID.Value;
                CaseMember caseMember = casememberRepository.Find(caseProgressNote.CaseMemberID);
                if (caseMember != null)
                {
                    ViewBag.DisplayID = caseMember.DisplayID;
                }
            }
            else
            {
                if (varCase == null)
                {
                    varCase = caseRepository.Find(caseID);
                }
                if (varCase != null)
                {
                    ViewBag.DisplayID = varCase.DisplayID;
                }
            }
            return(View(caseProgressNote));
        }
예제 #28
0
        public ActionResult Edit(CaseMemberProfile casememberprofile, int caseId, int?caseMemberID)
        {
            casememberprofile.LastUpdatedByWorkerID = CurrentLoggedInWorker.ID;
            try
            {
                //if (casememberprofile.ProfileDate > DateTime.Today)
                //{
                //    throw new CustomException("Profile date can't be future date.");
                //}
                //validate data
                if (ModelState.IsValid)
                {
                    //<JL:Comment:No need to check access again on post. On edit we are already checking permission.>

                    //var casememberprofile1 = casememberprofileRepository.Find(casememberprofile.ID);
                    //var primaryWorkerID = GetPrimaryWorkerOfTheCase(casememberprofile1.CaseMember.CaseID);
                    //List<CaseWorker> caseworker = caseworkerRepository.FindAllByCaseID(caseId).Where(x => x.WorkerID == CurrentLoggedInWorker.ID).ToList();
                    //if ((caseworker == null || caseworker.Count() == 0) && casememberprofile.ID > 0 && casememberprofile.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 });
                    //}
                    //</JL:Comment:07/08/2017>

                    //call the repository function to save in database
                    casememberprofileRepository.InsertOrUpdate(casememberprofile);
                    casememberprofileRepository.Save();
                    //redirect to list page after successful operation
                    return(RedirectToAction(Constants.Views.Index, new { caseId = casememberprofile.CaseID, caseMemberID = casememberprofile.CaseMemberID }));
                }
                else
                {
                    foreach (var modelStateValue in ViewData.ModelState.Values)
                    {
                        foreach (var error in modelStateValue.Errors)
                        {
                            casememberprofile.ErrorMessage = error.ErrorMessage;
                            break;
                        }
                        if (casememberprofile.ErrorMessage.IsNotNullOrEmpty())
                        {
                            break;
                        }
                    }
                }
            }
            catch (CustomException ex)
            {
                casememberprofile.ErrorMessage = ex.UserDefinedMessage;
            }
            catch (Exception ex)
            {
                ExceptionManager.Manage(ex);
                casememberprofile.ErrorMessage = Constants.Messages.UnhandelledError;
            }
            if (casememberprofile.CaseMemberID > 0)
            {
                CaseMember caseMember = casememberRepository.Find(casememberprofile.CaseMemberID);
                if (caseMember != null)
                {
                    ViewBag.DisplayID = caseMember.DisplayID;
                }
            }
            else
            {
                Case varCase = caseRepository.Find(casememberprofile.CaseID);
                if (varCase != null)
                {
                    ViewBag.DisplayID = varCase.DisplayID;
                }
            }
            //return view with error message if the operation is failed
            return(View(casememberprofile));
        }
예제 #29
0
        public ActionResult Edit(CaseProgressNote caseprogressnote, int caseID, int?caseMemberID)
        {
            caseprogressnote.LastUpdatedByWorkerID = CurrentLoggedInWorker.ID;
            try
            {
                //if (caseprogressnote.NoteDate > DateTime.Today)
                //{
                //    throw new CustomException("Note date can't be future date.");
                //}
                //validate data
                if (ModelState.IsValid)
                {
                    //<JL:Comment:No need to check access again on post. On edit we are already checking permission.>
                    //if (caseprogressnote.ID > 0 && caseprogressnote.CreatedByWorkerID != CurrentLoggedInWorker.ID && CurrentLoggedInWorkerRoleIDs.IndexOf(1) == -1 && (CurrentLoggedInWorkerRoleIDs.IndexOf(SiteConfigurationReader.RegionalManagerRoleID) == -1))
                    //{
                    //    WebHelper.CurrentSession.Content.ErrorMessage = "You are not eligible to do this action";
                    //    //return Json(new { success = true, url = Url.Action(Constants.Actions.AccessDenied, Constants.Controllers.Home, new { Area = String.Empty }) });
                    //    return RedirectToAction(Constants.Actions.AccessDenied, Constants.Controllers.Home, new { Area = String.Empty });
                    //}
                    //</JL:Comment:07/08/2017>

                    //call the repository function to save in database
                    caseprogressnoteRepository.InsertOrUpdate(caseprogressnote);
                    caseprogressnoteRepository.Save();
                    if (caseprogressnote.CaseMembersIds != null && caseprogressnote.CaseMembersIds.Count() > 0)
                    {
                        foreach (var item in caseprogressnote.CaseMembersIds)
                        {
                            CaseProgressNoteMembers caseProgressNoteMembers = new CaseProgressNoteMembers();
                            caseProgressNoteMembers.CaseMemberID       = Convert.ToInt32(item);
                            caseProgressNoteMembers.CaseProgressNoteID = Convert.ToInt32(caseprogressnote.ID);
                            caseProgressNoteMembersRepository.InsertOrUpdate(caseProgressNoteMembers);
                            caseProgressNoteMembersRepository.Save();
                        }
                    }

                    //redirect to list page after successful operation
                    if (caseprogressnote.IsInitialContact)
                    {
                        return(RedirectToAction(Constants.Actions.InitialContact, new { caseID = caseprogressnote.CaseID }));
                    }
                    else
                    {
                        return(RedirectToAction(Constants.Actions.Edit, new { noteID = caseprogressnote.ID, caseID = caseprogressnote.CaseID }));
                    }
                }
                else
                {
                    foreach (var modelStateValue in ViewData.ModelState.Values)
                    {
                        foreach (var error in modelStateValue.Errors)
                        {
                            caseprogressnote.ErrorMessage = error.ErrorMessage;
                            break;
                        }
                        if (caseprogressnote.ErrorMessage.IsNotNullOrEmpty())
                        {
                            break;
                        }
                    }
                }
            }
            catch (CustomException ex)
            {
                caseprogressnote.ErrorMessage = ex.UserDefinedMessage;
            }
            catch (Exception ex)
            {
                ExceptionManager.Manage(ex);
                caseprogressnote.ErrorMessage = Constants.Messages.UnhandelledError;
            }
            if (caseMemberID.HasValue && caseMemberID.Value > 0)
            {
                caseprogressnote.CaseMemberID = caseMemberID.Value;
                CaseMember caseMember = casememberRepository.Find(caseprogressnote.CaseMemberID);
                if (caseMember != null)
                {
                    ViewBag.DisplayID = caseMember.DisplayID;
                }
            }
            else
            {
                Case varCase = caseRepository.Find(caseID);
                if (varCase != null)
                {
                    ViewBag.DisplayID = varCase.DisplayID;
                }
            }
            //return view with error message if the operation is failed
            return(View(caseprogressnote));
        }
예제 #30
0
 public ActionResult Edit(CaseAssessment caseassessment, int caseId, int?caseMemberID)
 {
     caseassessment.LastUpdatedByWorkerID = CurrentLoggedInWorker.ID;
     try
     {
         if (caseassessment.StartDate > caseassessment.EndDate)
         {
             throw new CustomException("Start date can't be greater than end date.");
         }
         caseassessment.QualityOfLifeIDs = Request.Form["QualityOfLifeIDs"].ToString(true);
         //validate data
         if (ModelState.IsValid)
         {
             //<JL:Comment:No need to check access again on post. On edit we are already checking permission.>
             //List<CaseWorker> caseworker = caseworkerRepository.FindAllByCaseID(caseId).Where(x => x.WorkerID == CurrentLoggedInWorker.ID).ToList();
             //if ((caseworker == null || caseworker.Count() == 0) && caseassessment.ID > 0 && caseassessment.CreatedByWorkerID != CurrentLoggedInWorker.ID && CurrentLoggedInWorkerRoleIDs.IndexOf(1) == -1 && (CurrentLoggedInWorkerRoleIDs.IndexOf(SiteConfigurationReader.RegionalManagerRoleID) == -1))
             //{
             //    WebHelper.CurrentSession.Content.ErrorMessage = "You are not eligible to do this action";
             //    //return Json(new { success = true, url = Url.Action(Constants.Actions.AccessDenied, Constants.Controllers.Home, new { Area = String.Empty }) });
             //    return RedirectToAction(Constants.Actions.AccessDenied, Constants.Controllers.Home, new { Area = String.Empty });
             //}
             //</JL:Comment:07/08/2017>
             //call the repository function to save in database
             caseassessmentRepository.InsertOrUpdate(caseassessment, Request.Form);
             caseassessmentRepository.Save();
             //redirect to list page after successful operation
             //return RedirectToAction(Constants.Views.Index, new { caseId = caseassessment.CaseID, CaseMemberID=caseassessment.CaseMemberID });
             return(RedirectToAction(Constants.Views.Index, new { caseId = caseassessment.CaseID }));
         }
         else
         {
             foreach (var modelStateValue in ViewData.ModelState.Values)
             {
                 foreach (var error in modelStateValue.Errors)
                 {
                     caseassessment.ErrorMessage = error.ErrorMessage;
                     break;
                 }
                 if (caseassessment.ErrorMessage.IsNotNullOrEmpty())
                 {
                     break;
                 }
             }
         }
     }
     catch (CustomException ex)
     {
         caseassessment.ErrorMessage = ex.UserDefinedMessage;
     }
     catch (Exception ex)
     {
         ExceptionManager.Manage(ex);
         caseassessment.ErrorMessage = Constants.Messages.UnhandelledError;
     }
     try
     {
         List <CaseAssessmentLivingCondition> selectedCaseAssessmentLivingConditionList = new List <CaseAssessmentLivingCondition>();
         string[] arraySelectedQOL = caseassessment.QualityOfLifeIDs.ToStringArray(',', true);
         if (arraySelectedQOL != null && arraySelectedQOL.Length > 0)
         {
             foreach (string qolID in arraySelectedQOL)
             {
                 CaseAssessmentLivingCondition newCaseAssessmentLivingCondition = new CaseAssessmentLivingCondition()
                 {
                     QualityOfLifeID       = qolID.ToInteger(true),
                     CaseAssessmentID      = caseassessment.ID,
                     LastUpdateDate        = DateTime.Now,
                     LastUpdatedByWorkerID = caseassessment.LastUpdatedByWorkerID,
                 };
                 newCaseAssessmentLivingCondition.Note = Request.Form["txtQualityOfLifeIDs" + qolID].ToString(true);
                 selectedCaseAssessmentLivingConditionList.Add(newCaseAssessmentLivingCondition);
             }
         }
         WebHelper.CurrentSession.Content.Data = selectedCaseAssessmentLivingConditionList;
         if (caseassessment.CaseMemberID > 0)
         {
             CaseMember caseMember = casememberRepository.Find(caseassessment.CaseMemberID);
             if (caseMember != null)
             {
                 ViewBag.DisplayID = caseMember.DisplayID;
             }
         }
         else
         {
             Case varCase = caseRepository.Find(caseassessment.CaseID);
             if (varCase != null)
             {
                 ViewBag.DisplayID = varCase.DisplayID;
             }
         }
     }
     catch { }
     //return view with error message if the operation is failed
     return(View(caseassessment));
 }