Ejemplo n.º 1
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) }));
            }
        }