예제 #1
0
        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);
        }
예제 #2
0
        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));
        }
예제 #3
0
        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);
            }
        }
예제 #4
0
        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)));
        }
예제 #5
0
        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();
        }
예제 #6
0
        /// <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", $"Не може да има бъдеща дата за влизане в законна сила");
                }
            }
        }