public virtual ActionResult GetFindingsAndRecommendations(string operationNumber)
        {
            bool isEditable;
            var  findingsAndRecommendations =
                findingAndRecommendationsRepository.GetFindingsAndRecommendations(
                    operationNumber,
                    IDBContext.Current.CurrentLanguage,
                    out isEditable);

            // AJAX calls don't include the operation number in the HttpRequeest.RouteData
            // so we need to setup the operation number forced
            IDBContext.Current.Operation = operationNumber;

            FindingRecommendationHeaderModel model = new FindingRecommendationHeaderModel
            {
                FindingRecommendations       = findingsAndRecommendations,
                IsEditable                   = isEditable,
                IsCurrentPcrTaskLessThanFive = PCRHelpers.IsCurrentTaskLessThanFive(
                    ReportsRepository, PCRWorkflowStatusRepository),
                HasFindingsWritePermission = IDBContext.Current.HasPermission(
                    Permission.FINDINGS_WIRTE),
                HasRMAdministratorRole = IDBContext.Current.HasRole(Role.RM_ADMINISTRATOR),
                OperationNumber        = operationNumber
            };

            return(new JsonResult
            {
                Data = model
            });
        }
        public virtual ActionResult FindingRecommendationEdit(FindingRecommendationHeaderModel ModelFindingAndRecomendations, int[] FindingsDeleted) //POST: /FindingRecomendation/Edit
        {
            bool StatusRequest = true;

            if (!findingAndRecommendationsRepository.SaveFindings(ModelFindingAndRecomendations))
            {
                StatusRequest = false;
            }

            if (FindingsDeleted != null)
            {
                if (!findingAndRecommendationsRepository.DeleteFindings(FindingsDeleted))
                {
                    StatusRequest = false;
                }
            }

            if (!StatusRequest)
            {
                return(RedirectToAction("DetailsFindingRecommendation", new { operationNumber = ModelFindingAndRecomendations.OperationNumber, State = 609 }));
            }
            else
            {
                return(RedirectToAction("DetailsFindingRecommendation", new { operationNumber = ModelFindingAndRecomendations.OperationNumber, State = 608 }));
            }
        }
        public virtual ActionResult SaveFindingAndRecommendations(
            FindingRecommendationHeaderModel model)
        {
            string response = findingAndRecommendationsRepository
                              .SaveFindingAndRecommendations(model.OperationNumber, model.FindingRecommendations);

            return(new JsonResult
            {
                Data = new
                {
                    isValid = string.IsNullOrEmpty(response),
                    message = response
                }
            });
        }