コード例 #1
0
        public ActionResult EditorAjax(int id, string 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 }));
            }

            CaseAssessment caseassessment = null;

            if (id > 0)
            {
                //find an existing caseassessment from database
                caseassessment = caseassessmentRepository.Find(id);
                if (caseassessment == null)
                {
                    //throw an exception if id is provided but data does not exist in database
                    return(new HttpStatusCodeResult(System.Net.HttpStatusCode.NotFound, "Case Member Assessment not found"));
                }
            }
            else
            {
                //create a new instance if id is not provided
                caseassessment = new CaseAssessment();
                caseassessment.CaseMemberID = casememberId.ToInteger(true);
            }
            //return the html of editor to display on popup
            return(Content(this.RenderPartialViewToString(Constants.PartialViews.EditorPopUp, caseassessment)));
        }
コード例 #2
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));
        }
コード例 #3
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));
        }
コード例 #4
0
        public ActionResult DeleteAjax(int id)
        {
            BaseModel statusModel = new BaseModel();

            if (!workerroleactionpermissionnewRepository.HasPermission(CurrentLoggedInWorkerRoleIDs, Constants.Areas.CaseManagement, Constants.Controllers.CaseAssessment, Constants.Actions.Delete, true))
            {
                statusModel.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 }) }));
            }

            //find the caseassessment in database
            CaseAssessment caseassessment = caseassessmentRepository.Find(id);

            if (caseassessment == null)
            {
                //set error message if it does not exist in database
                caseassessment = new CaseAssessment();
                caseassessment.ErrorMessage = "CaseAssessment not found";
            }
            else
            {
                try
                {
                    //<JL:Comment:No need to check access again on post. On edit we are already checking permission.>
                    //if (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>
                    //delete caseassessment from database
                    caseassessmentRepository.Delete(caseassessment);
                    caseassessmentRepository.Save();
                    //set success message
                    caseassessment.SuccessMessage = "Case Member Assessment has been deleted successfully";
                }
                catch (CustomException ex)
                {
                    caseassessment.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.")
                    {
                        caseassessment.SuccessMessage = "Case Member Assessment has been deleted successfully";
                    }
                    else
                    {
                        ExceptionManager.Manage(ex);
                        caseassessment.ErrorMessage = Constants.Messages.UnhandelledError;
                    }
                }
            }
            //return action status in json to display on a message bar
            if (caseassessment.ErrorMessage.IsNotNullOrEmpty())
            {
                return(Json(new { success = false, data = this.RenderPartialViewToString(Constants.PartialViews.Alert, caseassessment) }));
            }
            else
            {
                return(Json(new { success = true, data = this.RenderPartialViewToString(Constants.PartialViews.Alert, caseassessment) }));
            }
        }
コード例 #5
0
        public ActionResult SaveAjax(CaseAssessment caseassessment)
        {
            //id=0 means add operation, update operation otherwise
            bool isNew = caseassessment.ID == 0;

            //validate data
            if (ModelState.IsValid)
            {
                try
                {
                    //<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 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>
                    //set the id of the worker who has added/updated this record
                    caseassessment.LastUpdatedByWorkerID = CurrentLoggedInWorker.ID;
                    //call repository function to save the data in database
                    caseassessmentRepository.InsertOrUpdate(caseassessment);
                    caseassessmentRepository.Save();
                    //set status message
                    if (isNew)
                    {
                        caseassessment.SuccessMessage = "Case Member Assessment has been added successfully";
                    }
                    else
                    {
                        caseassessment.SuccessMessage = "Case Member Assessment has been updated successfully";
                    }
                }
                catch (CustomException ex)
                {
                    caseassessment.ErrorMessage = ex.UserDefinedMessage;
                }
                catch (Exception ex)
                {
                    ExceptionManager.Manage(ex);
                    caseassessment.ErrorMessage = Constants.Messages.UnhandelledError;
                }
            }
            else
            {
                foreach (var modelStateValue in ViewData.ModelState.Values)
                {
                    foreach (var error in modelStateValue.Errors)
                    {
                        caseassessment.ErrorMessage = error.ErrorMessage;
                        break;
                    }
                    if (caseassessment.ErrorMessage.IsNotNullOrEmpty())
                    {
                        break;
                    }
                }
            }
            //return the status message in json
            if (caseassessment.ErrorMessage.IsNotNullOrEmpty())
            {
                return(Json(new { success = false, data = this.RenderPartialViewToString(Constants.PartialViews.Alert, caseassessment) }));
            }
            else
            {
                return(Json(new { success = true, data = this.RenderPartialViewToString(Constants.PartialViews.Alert, caseassessment) }));
            }
        }
コード例 #6
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));
        }
コード例 #7
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));
        }
コード例 #8
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));
        }
コード例 #9
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));
 }
コード例 #10
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));
        }