/// <summary> /// Добавяне на Вземане към обстоятелство по заповедни производства /// </summary> /// <param name="caseId"></param> /// <param name="moneyClaimId"></param> /// <param name="mainMoneyCollectionId"></param> /// <param name="id"></param> /// <returns></returns> public IActionResult CaseMoneyCollection(int caseId, int?moneyClaimId, int?mainMoneyCollectionId, int?id) { if (!CheckAccess(service, SourceTypeSelectVM.CaseMoneyCollection, (id > 0) ? id : null, (id > 0) ? AuditConstants.Operations.Update : AuditConstants.Operations.Append, moneyClaimId)) { return(Redirect_Denied()); } CaseMoneyCollectionEditVM model; if (id > 0) { model = service.GetById_EditVM(id ?? 0); } else { model = new CaseMoneyCollectionEditVM() { CaseId = caseId, CourtId = userContext.CourtId, CaseMoneyClaimId = moneyClaimId ?? 0, CurrencyId = NomenclatureConstants.Currency.BGN, MainCaseMoneyCollectionId = mainMoneyCollectionId, CaseMoneyCollectionGroupId = NomenclatureConstants.CaseMoneyCollectionGroup.Money, CasePersonListDecimals = service.FillPersonList(caseId, null), JointDistribution = true, MoneyCollectionEndDateTypeId = NomenclatureConstants.MoneyCollectionEndDateType.WithDate }; } SetViewBag_MoneyCollection(); return(PartialView(model)); }
public JsonResult CaseMoneyCollection(CaseMoneyCollectionEditVM model) { string validationError = ValidateCaseMoneyCollection(model); if (!string.IsNullOrEmpty(validationError)) { return(Json(new { result = false, message = validationError })); } var currentId = model.Id; var res = service.CaseMoneyCollection_SaveData(model); if (res > 0) { SetAuditContext(service, SourceTypeSelectVM.CaseMoneyCollection, res, currentId == 0); } return(Json(new { result = res })); }
/// <summary> /// Валидация преди запис на Вземане към обстоятелство по заповедни производства /// </summary> /// <param name="model"></param> /// <returns></returns> private string ValidateCaseMoneyCollection(CaseMoneyCollectionEditVM model) { if (model.CaseMoneyCollectionGroupId < 1) { return("Изберете вид."); } switch (model.CaseMoneyCollectionGroupId) { case NomenclatureConstants.CaseMoneyCollectionGroup.Money: { if (model.MainCaseMoneyCollectionId < 1) { if (model.Money_CaseMoneyCollectionTypeId < 1) { return("Изберете тип."); } } if (model.CurrencyId < 1) { return("Изберете Валута."); } //if (model.InitialAmount < (decimal)0.01) // return "Въведете първоначална стойност."; //if (model.PretendedAmount < (decimal)0.01) // return "Въведете претендирано."; if (model.DateFrom == null) { return("Въведете начална дата."); } if (model.MoneyCollectionEndDateTypeId == NomenclatureConstants.MoneyCollectionEndDateType.WithDate) { if (model.DateTo == null) { return("Въведете крайна дата."); } } if (model.RespectedAmount > model.PretendedAmount) { return("Сумата от уважаването е по-голяма от претендираната."); } if (!model.JointDistribution) { if (!model.CasePersonListDecimals.Any(x => x.ValueOne > (decimal)0.01)) { return("Няма въведени стойности в разпределение на вземането."); } if (model.CasePersonListDecimals.Sum(x => x.ValueOne) > model.PretendedAmount) { return("Сумата на разпределението е по-голяма от претендираната сума."); } if (model.CasePersonListDecimals.Sum(x => x.ValueTwo) != model.RespectedAmount) { return("Сумата на разпределението за уважаване е различна от общо уважената сума."); } if (model.CasePersonListDecimals.Sum(x => x.ValueOne) < model.CasePersonListDecimals.Sum(x => x.ValueTwo)) { return("Сумата на разпределението за уважаване е по-голяма от сумата от разпределението за претендирането"); } } } break; case NomenclatureConstants.CaseMoneyCollectionGroup.Property: { if (model.CurrencyId < 1) { return("Изберете Валута."); } if (model.Amount < (decimal)0.01) { return("Въведете сума."); } if ((model.Description ?? string.Empty) == string.Empty) { return("Въведете описание."); } } break; case NomenclatureConstants.CaseMoneyCollectionGroup.Movables: { if (model.CurrencyId < 1) { return("Изберете Валута."); } if (model.Amount < (decimal)0.01) { return("Въведете сума."); } if (model.Movables_CaseMoneyCollectionTypeId < 1) { return("Изберете от какво произтича задължението за предаване."); } if ((model.Description ?? string.Empty) == string.Empty) { return("Въведете описание."); } } break; } if (!CheckCourtIdFromCase(model.CaseId)) { return($"Съда е променен на {userContext.CourtName}. Презаредете текущия екран."); } return(string.Empty); }