/// <summary>
        /// Добавяне на Претендиран разноски по заповедни производства
        /// </summary>
        /// <param name="caseId"></param>
        /// <param name="id"></param>
        /// <returns></returns>
        public IActionResult CaseMoneyExpense(int caseId, int?id)
        {
            if (!CheckAccess(service, SourceTypeSelectVM.CaseMoneyExpense, (id > 0) ? id : null, (id > 0) ? AuditConstants.Operations.Update : AuditConstants.Operations.Append, caseId))
            {
                return(Redirect_Denied());
            }

            CaseMoneyExpenseEditVM model;

            if (id > 0)
            {
                model = service.GetById_ExpenseEditVM(id ?? 0);
            }
            else
            {
                model = new CaseMoneyExpenseEditVM()
                {
                    CaseId                 = caseId,
                    CourtId                = userContext.CourtId,
                    CurrencyId             = NomenclatureConstants.Currency.BGN,
                    JointDistribution      = true,
                    CasePersonListDecimals = service.FillPersonListExpense(caseId, null)
                };
            }

            SetViewBag_MoneyExpense();
            return(PartialView(model));
        }
        public JsonResult CaseMoneyExpense(CaseMoneyExpenseEditVM model)
        {
            string validationError = ValidateMoneyExpense(model);

            if (!string.IsNullOrEmpty(validationError))
            {
                return(Json(new { result = false, message = validationError }));
            }

            var currentId = model.Id;
            var res       = service.CaseMoneyExpense_SaveData(model);

            if (res > 0)
            {
                SetAuditContext(service, SourceTypeSelectVM.CaseMoneyExpense, res, currentId == 0);
            }

            return(Json(new { result = res }));
        }
        /// <summary>
        /// Валидация преди запис на Претендиран разноски по заповедни производства
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        private string ValidateMoneyExpense(CaseMoneyExpenseEditVM model)
        {
            if (model.CaseMoneyExpenseTypeId < 1)
            {
                return("Изберете вид.");
            }

            if (model.CurrencyId < 1)
            {
                return("Изберете валута.");
            }

            if (model.Amount < (decimal)0.01)
            {
                return("Въведете сума.");
            }

            if (!(model.JointDistribution ?? true))
            {
                if (!model.CasePersonListDecimals.Any(x => x.ValueOne > (decimal)0.01))
                {
                    return("Няма въведени стойности в разпределение на вземането.");
                }

                if (model.CasePersonListDecimals.Sum(x => x.ValueOne) != model.Amount)
                {
                    return("Сумата на разпределението е различна от претендираната сума.");
                }
            }

            if (!CheckCourtIdFromCase(model.CaseId))
            {
                return($"Съда е променен на {userContext.CourtName}. Презаредете текущия екран.");
            }

            return(string.Empty);
        }