void SetViewBagEdit(CaseEditVM model) { int?caseCharacter = null; if (!string.IsNullOrEmpty(model.RegNumber)) { caseCharacter = model.CaseCharacterId; } ViewBag.CaseTypeId_ddl = nomService.GetDDL_CaseTypeByDocType(model.DocumentTypeId, caseCharacter); ViewBag.CaseProtokolLawUnit_Count = caseSelectProtokolService.CaseSelectionProtokolLawUnit_SelectCount(model.Id); bool isInitial = string.IsNullOrEmpty(model.RegNumber); var states = nomService.GetDDL_CaseState(isInitial, !isInitial); if (model.CaseStateId == NomenclatureConstants.CaseState.Rejected) { ViewBag.CaseStateId_ddl = states.Where(x => x.Value != NomenclatureConstants.CaseState.New.ToString()).ToList(); } else { ViewBag.CaseStateId_ddl = states; } ViewBag.lastMigration = service.Case_GetPriorCase(model.DocumentId); ViewBag.eisppMigration = service.Case_GetPriorCaseEISPP(model.DocumentId, model.EISSPNumber); ViewBag.ProcessPriorityId_ddl = nomService.GetDropDownList <ProcessPriority>(); ViewBag.CaseReasonId_ddl = nomService.GetDropDownList <CaseReason>(); ViewBag.ComplexIndexActual_ddl = nomService.GetDDL_ComplexIndex(); ViewBag.ComplexIndexLegal_ddl = nomService.GetDDL_ComplexIndex(); if (!string.IsNullOrEmpty(model.RegNumber)) { ViewBag.breadcrumbs = commonService.Breadcrumbs_GetForCase(model.Id); } SetHelpFile(HelpFileValues.CaseEdit); }
public IActionResult Edit(CaseEditVM model) { SetViewBagEdit(model); ValidateCaseEdit(model); if (!ModelState.IsValid) { return(View(nameof(Edit), model)); } var currentId = model.Id; var isInsert = string.IsNullOrEmpty(model.RegNumber); if (service.Case_SaveData(model)) { SetAuditContext(service, SourceTypeSelectVM.Case, model.Id, currentId == 0); this.SaveLogOperation(isInsert, model.Id); SetSuccessMessage(MessageConstant.Values.SaveOK); return(RedirectToAction(nameof(Edit), new { id = model.Id })); } else { SetErrorMessage(MessageConstant.Values.SaveFailed); } return(View(nameof(Edit), model)); }
void SetViewBagEdit(CaseEditVM model) { int?caseCharacter = null; if (!string.IsNullOrEmpty(model.RegNumber)) { caseCharacter = model.CaseCharacterId; } ViewBag.CaseTypeId_ddl = nomService.GetDDL_CaseTypeByDocType(model.DocumentTypeId, caseCharacter); ViewBag.CaseProtokolLawUnit_Count = caseSelectProtokolService.CaseSelectionProtokolLawUnit_SelectCount(model.Id); bool isInitial = string.IsNullOrEmpty(model.RegNumber); var states = nomService.GetDDL_CaseState(isInitial, !isInitial); if (model.CaseStateId == NomenclatureConstants.CaseState.Rejected) { ViewBag.CaseStateId_ddl = states.Where(x => x.Value != NomenclatureConstants.CaseState.New.ToString()).ToList(); } else { ViewBag.CaseStateId_ddl = states; } ViewBag.lastMigration = service.Case_GetPriorCase(model.DocumentId); ViewBag.eisppMigration = service.Case_GetPriorCaseEISPP(model.DocumentId, model.EISSPNumber); ViewBag.ProcessPriorityId_ddl = nomService.GetDropDownList <ProcessPriority>(); //ViewBag.CaseReasonId_ddl = nomService.GetDropDownList<CaseReason>(); ViewBag.ComplexIndexActual_ddl = nomService.GetDDL_ComplexIndex(); ViewBag.ComplexIndexLegal_ddl = nomService.GetDDL_ComplexIndex(); var savedCase = service.GetById <Case>(model.Id); ViewBag.savedCaseStateId = savedCase.CaseStateId; if (NomenclatureConstants.CaseState.UnregisteredManageble.Contains(savedCase.CaseStateId)) { ViewBag.unregisteredManagebleCase = true; var docResolution = docResolutionService.Select(savedCase.DocumentId).FirstOrDefault(); if (docResolution != null) { ViewBag.hasDocResolution = true; ViewBag.docResolutionId = docResolution.Id; } else { ViewBag.hasDocResolution = false; } } if (!string.IsNullOrEmpty(model.RegNumber)) { ViewBag.breadcrumbs = commonService.Breadcrumbs_GetForCase(model.Id); } if (string.IsNullOrEmpty(model.RegNumber)) { SetHelpFile(HelpFileValues.Assignment); } else { SetHelpFile(HelpFileValues.CaseEdit); } }
public async Task <IActionResult> EditCase(CaseEditVM ce) { if (!ModelState.IsValid) { return(View(nameof(Index), await service.GetAllCasesAsync())); } await service.EditCaseAsync(ce); return(RedirectToAction(nameof(Index))); }
public async Task EditCaseAsync(CaseEditVM editedCase) { var a = await context.CaseTable.FindAsync(editedCase.Id); a.Creator = editedCase.Creator; a.Headline = editedCase.Headline; a.Id = editedCase.Id; a.Description = editedCase.Description; await context.SaveChangesAsync(); }
/// <summary> /// Валидация преди запис /// </summary> /// <param name="model"></param> private void ValidateCaseEdit(CaseEditVM model) { if (model.IsOldNumber == true && model.OldDate.HasValue) { var caseGroup = nomService.GetById <CaseType>(model.CaseTypeId); if (!service.CheckCaseOldNumber(caseGroup.CaseGroupId, model.OldNumber, model.OldDate.Value)) { ModelState.AddModelError("OldNumber", $"Вече съществува дело с номер {model.OldNumber} от дата {model.OldDate:dd.MM.yyyy}"); } } if (model.CaseStateId == NomenclatureConstants.CaseState.Rejected) { //Ако делото е отказано от образуване - следните полета не са задължителни: model.CaseCodeId = 0; model.CourtGroupId = null; model.LoadGroupLinkId = null; model.CaseTypeUnitId = null; model.ProcessPriorityId = null; if (string.IsNullOrEmpty(model.CaseStateDescription)) { ModelState.AddModelError("CaseStateDescription", $"Полето 'Основание' е задължително при отказ от образуване."); } } else { if (model.CaseTypeId <= 0) { ModelState.AddModelError("CaseTypeId", $"Изберете 'Точен вид дело'."); } if (model.CaseCharacterId <= 0) { ModelState.AddModelError("CaseCharacterId", $"Изберете 'Характер на дело'."); } if (model.CaseCodeId <= 0) { ModelState.AddModelError("CaseCodeId", $"Изберете 'Шифър'."); } if ((model.CourtGroupId ?? 0) <= 0) { ModelState.AddModelError("CourtGroupId", $"Изберете 'Съдебна група за разпределяне'."); } if (model.CourtTypeId != NomenclatureConstants.CourtType.VKS && (model.LoadGroupLinkId ?? 0) <= 0) { ModelState.AddModelError("LoadGroupLinkId", $"Изберете 'Група по натовареност'."); } if ((model.CaseTypeUnitId ?? 0) <= 0) { ModelState.AddModelError("CaseTypeUnitId", $"Изберете 'Състав по делото'."); } if ((model.ProcessPriorityId ?? 0) <= 0) { ModelState.AddModelError("ProcessPriorityId", $"Изберете 'Вид производство'."); } } if (model.CaseStateId == NomenclatureConstants.CaseState.Deleted) { if (string.IsNullOrEmpty(model.CaseStateDescription)) { ModelState.AddModelError("CaseStateDescription", $"Делото е анулирано и е задължително да въведете основание."); } } if (model.CaseInforcedDate != null) { if (model.Id > 0) { var @case = service.GetById <Case>(model.Id); if (model.CaseInforcedDate != null) { if ((model.CaseInforcedDate ?? DateTime.Now).Date < @case.RegDate.Date) { ModelState.AddModelError("CaseInforcedDate", $"Дата на влизане в сила е по-малка от дата на регистрация на делото."); } } } } if (model.CaseStateId == NomenclatureConstants.CaseState.ComingIntoForce) { if (model.CaseInforcedDate == null) { ModelState.AddModelError("CaseInforcedDate", $"Трябва да въведете дата на влизане в законна сила"); } } if (model.CaseInforcedDate != null) { if ((model.CaseInforcedDate ?? DateTime.Now).Date > DateTime.Now.Date) { ModelState.AddModelError("CaseInforcedDate", $"Не може да има бъдеща дата за влизане в законна сила"); } } }