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

            CaseBankAccount model;

            if (id > 0)
            {
                model = nomService.GetById <CaseBankAccount>(id);
            }
            else
            {
                model = new CaseBankAccount()
                {
                    CaseId  = caseId,
                    CourtId = userContext.CourtId,
                    CaseBankAccountTypeId = NomenclatureConstants.CaseBankAccountType.BankAccount
                };
            }
            SetViewBag_BankAccount(caseId);
            return(PartialView(model));
        }
        /// <summary>
        /// Валидация преди запис на сметки към заповедни производства към дело
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        private string ValidateCaseBankAccount(CaseBankAccount model)
        {
            if (model.CaseBankAccountTypeId < 1)
            {
                return("Изберете начин на плащане/изпълнение.");
            }

            if (model.CaseBankAccountTypeId == NomenclatureConstants.CaseBankAccountType.BankAccount)
            {
                if ((model.IBAN ?? string.Empty) == string.Empty)
                {
                    return("Въведете IBAN.");
                }

                if ((model.BIC ?? string.Empty) == string.Empty)
                {
                    return("Въведете BIC.");
                }

                if ((model.BankName ?? string.Empty) == string.Empty)
                {
                    return("Въведете име на банката.");
                }

                ModelState.Remove(nameof(model.Id));
                if (!ModelState.IsValid)
                {
                    foreach (var item in ModelState.Values.Where(x => x.ValidationState == Microsoft.AspNetCore.Mvc.ModelBinding.ModelValidationState.Invalid))
                    {
                        if (item.Errors.Count() > 0)
                        {
                            return(item.Errors[0].ErrorMessage);
                        }
                    }
                }
            }
            else
            {
                if ((model.Description ?? string.Empty) == string.Empty)
                {
                    return("Въведете описание.");
                }
            }

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

            if (model.CasePersonId == null)
            {
                return("По делото няма кредитори.");
            }

            return(string.Empty);
        }
        public JsonResult CaseBankAccount(CaseBankAccount model)
        {
            string validationError = ValidateCaseBankAccount(model);

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

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

            if (res > 0)
            {
                SetAuditContext(service, SourceTypeSelectVM.CaseBankAccount, res, currentId == 0);
            }
            return(Json(new { result = res }));
        }