public bool Save_AddSide(CasePersonLinkSideVM model, List <int> personIds) { var linkDirection = repo.AllReadonly <LinkDirection>() .Where(x => x.Id == model.LinkDirectionId) .FirstOrDefault(); foreach (var personId in personIds) { var casePersonLink = new CasePersonLink(); casePersonLink.LinkDirectionId = model.LinkDirectionId; casePersonLink.DateFrom = model.DateFrom; casePersonLink.DateTo = model.DateTo; casePersonLink.CaseId = model.CaseId; casePersonLink.CourtId = model.CourtId; if (isPersonXFirst(linkDirection.LinkTemplate)) { casePersonLink.CasePersonId = personId; casePersonLink.CasePersonRelId = model.CasePersonRelId; } else { casePersonLink.CasePersonId = model.CasePersonRelId; casePersonLink.CasePersonRelId = personId; } repo.Add(casePersonLink); } repo.SaveChanges(); return(true); }
/// <summary> /// Добавяне на Връзки между страни /// </summary> /// <param name="caseId"></param> /// <returns></returns> public IActionResult Add(int caseId) { if (!CheckAccess(service, SourceTypeSelectVM.CasePersonLink, null, AuditConstants.Operations.Append, caseId)) { return(Redirect_Denied()); } SetViewbag(caseId, 0, 0); ViewBag.breadcrumbs = commonService.Breadcrumbs_GetForCasePersonLinkEdit(caseId, 0).DeleteOrDisableLast(); var model = new CasePersonLink() { CaseId = caseId, CourtId = userContext.CourtId, CaseSessionId = null }; return(View(nameof(Edit), model)); }
/// <summary> /// Валидация преди запис на Връзки между страни /// </summary> /// <param name="model"></param> private void ValidateModel(CasePersonLink model) { if (model.LinkDirectionSecondId > 0 && model.CasePersonSecondRelId <= 0) { ModelState.AddModelError(nameof(CasePersonLink.CasePersonSecondRelId), "Изберете Втори представляващ"); } if (model.CasePersonSecondRelId == model.CasePersonRelId) { ModelState.AddModelError(nameof(CasePersonLink.CasePersonSecondRelId), "Трябва да е различно лице от Упълномощено лице"); } if (model.CasePersonSecondRelId == model.CasePersonId) { ModelState.AddModelError(nameof(CasePersonLink.CasePersonSecondRelId), "Трябва да е различно лице от Страна"); } if (model.CasePersonRelId == model.CasePersonId) { ModelState.AddModelError(nameof(CasePersonLink.CasePersonRelId), "Трябва да е различно лице от Страна"); } }
/// <summary> /// Запис на Връзки по страни, може и втори представляващ /// </summary> /// <param name="model"></param> /// <returns></returns> public bool CasePersonLink_SaveData(CasePersonLink model) { try { model.LinkDirectionSecondId = (model.LinkDirectionSecondId ?? 0) <= 0 ? null : model.LinkDirectionSecondId; model.CasePersonSecondRelId = (model.CasePersonSecondRelId ?? 0) <= 0 ? null : model.CasePersonSecondRelId; if (model.Id > 0) { //Update var casePersonLink = repo.GetById <CasePersonLink>(model.Id); casePersonLink.CasePersonId = model.CasePersonId; casePersonLink.LinkDirectionId = model.LinkDirectionId; casePersonLink.CasePersonRelId = model.CasePersonRelId; casePersonLink.LinkDirectionSecondId = model.LinkDirectionSecondId; casePersonLink.CasePersonSecondRelId = model.CasePersonSecondRelId; casePersonLink.DateFrom = model.DateFrom; casePersonLink.DateTo = model.DateTo; repo.Update(casePersonLink); repo.SaveChanges(); } else { //Insert repo.Add <CasePersonLink>(model); repo.SaveChanges(); } return(true); } catch (Exception ex) { logger.LogError(ex, $"Грешка при запис на CasePersonLink Id={ model.Id }"); return(false); } }
public IActionResult Edit(CasePersonLink model) { SetViewbag(model.CaseId, model.CasePersonId, model.LinkDirectionId); ViewBag.breadcrumbs = commonService.Breadcrumbs_GetForCasePersonLinkEdit(model.CaseId, model.Id).DeleteOrDisableLast(); ValidateModel(model); if (!ModelState.IsValid) { return(View(nameof(Edit), model)); } var currentId = model.Id; if (service.CasePersonLink_SaveData(model)) { SetAuditContext(service, SourceTypeSelectVM.CasePersonLink, model.Id, currentId == 0); this.SaveLogOperation(currentId == 0, model.Id); SetSuccessMessage(MessageConstant.Values.SaveOK); return(RedirectToAction(nameof(Edit), new { id = model.Id })); } else { SetErrorMessage(MessageConstant.Values.SaveFailed); } return(View(nameof(Edit), model)); }