Пример #1
0
        public bool Counter_GetEvidenceCounter(CaseEvidence model, int courtId)
        {
            try
            {
                var counterId = repo.AllReadonly <Counter>()
                                .Where(x => x.CourtId == courtId && x.CounterTypeId == NomenclatureConstants.CounterTypes.Evidence)
                                .Select(x => x.Id)
                                .FirstOrDefault();
                if (counterId > 0)
                {
                    var courtCode = repo.AllReadonly <Court>().FirstOrDefault(x => x.Id == courtId)?.Code;

                    (int intValue, string stringValue) = Counter_GetValueMulti(counterId);
                    model.RegNumber      = $"{DateTime.Now.Year}{courtCode}{stringValue}";
                    model.RegNumberValue = intValue;
                    return(true);
                }
                else
                {
                    throw new Exception($"Няма настроен брояч за доказателства. Court={courtId}");
                }
            }
            catch (Exception ex)
            {
                logger.LogError(ex, $"Грешка при запис на брояч за доказателства. Court={courtId}");
            }
            return(false);
        }
Пример #2
0
        public bool Counter_GetEvidenceCounter(CaseEvidence model, int courtId)
        {
            model.RegNumberValue = 100;
            model.RegNumber      = "100";

            return(true);
        }
Пример #3
0
        public IActionResult Edit(CaseEvidence model)
        {
            SetViewbag(model.CaseId);

            if (!ModelState.IsValid)
            {
                return(View(nameof(Edit), model));
            }

            string _isvalid = IsValid(model);

            if (_isvalid != string.Empty)
            {
                SetErrorMessage(_isvalid);
                return(View(nameof(Edit), model));
            }

            var currentId = model.Id;

            if (service.CaseEvidence_SaveData(model))
            {
                SetAuditContext(service, SourceTypeSelectVM.CaseEvidence, 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));
        }
Пример #4
0
        /// <summary>
        /// Валидация при запис
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        private string IsValid(CaseEvidence model)
        {
            if (model.EvidenceTypeId < 1)
            {
                return("Изберете тип доказателство");
            }

            if (model.DateAccept == null)
            {
                return("Въведете дата на регистрация");
            }

            if (model.EvidenceStateId < 1)
            {
                return("Изберете статус");
            }

            if (string.IsNullOrEmpty(model.Description))
            {
                return("Въведете описание");
            }

            if (model.EvidenceStateId == NomenclatureConstants.EvidenceState.Destroyed)
            {
                if (!service.IsExistMovmentType(model.CaseId, NomenclatureConstants.EvidenceMovementType.Destroyed))
                {
                    return("Няма разпоредително действие Унищожаване. Изберете друг статус.");
                }
            }

            return(string.Empty);
        }
Пример #5
0
        /// <summary>
        /// Добавяне на доказателство към дело
        /// </summary>
        /// <param name="caseId"></param>
        /// <returns></returns>
        public IActionResult Add(int caseId)
        {
            if (!CheckAccess(service, SourceTypeSelectVM.CaseEvidence, null, AuditConstants.Operations.Append, caseId))
            {
                return(Redirect_Denied());
            }
            SetViewbag(caseId);
            var caseCase = service.GetById <Case>(caseId);
            var model    = new CaseEvidence()
            {
                CaseId     = caseId,
                CourtId    = userContext.CourtId,
                DateAccept = DateTime.Now,
                FileNumber = documentService.GetDataInstitutionCaseInfoForDocument(caseCase.DocumentId)
            };

            return(View(nameof(Edit), model));
        }
Пример #6
0
        /// <summary>
        /// Метод за запис на доказателство към дело
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public bool CaseEvidence_SaveData(CaseEvidence model)
        {
            try
            {
                if (model.Id > 0)
                {
                    //Update
                    var saved = repo.GetById <CaseEvidence>(model.Id);
                    saved.EvidenceTypeId  = model.EvidenceTypeId;
                    saved.FileNumber      = model.FileNumber;
                    saved.DateAccept      = model.DateAccept;
                    saved.Description     = model.Description;
                    saved.AddInfo         = model.AddInfo;
                    saved.Location        = model.Location;
                    saved.EvidenceStateId = model.EvidenceStateId;
                    saved.DateWrt         = DateTime.Now;
                    saved.UserId          = userContext.UserId;

                    repo.Update(saved);
                    repo.SaveChanges();
                }
                else
                {
                    //Insert
                    if (counterService.Counter_GetEvidenceCounter(model, userContext.CourtId))
                    {
                        model.DateWrt = DateTime.Now;
                        model.UserId  = userContext.UserId;
                        repo.Add <CaseEvidence>(model);
                        repo.SaveChanges();
                    }
                    else
                    {
                        return(false);
                    }
                }
                return(true);
            }
            catch (Exception ex)
            {
                logger.LogError(ex, $"Грешка при запис на доказателство по дело Id={ model.Id }");
                return(false);
            }
        }
Пример #7
0
        public void CaseEvidence_SaveDataTest()
        {
            using (serviceProvider.CreateScope())
            {
                var service     = serviceProvider.GetService <ICaseEvidenceService>();
                var userContext = serviceProvider.GetService <IUserContext>();
                var repo        = serviceProvider.GetService <IRepository>();

                var saved = new CaseEvidence()
                {
                    CaseId          = 1,
                    CourtId         = 1,
                    EvidenceTypeId  = 1,
                    FileNumber      = "Test",
                    DateAccept      = DateTime.Now,
                    Description     = "Test",
                    AddInfo         = "Test",
                    Location        = "Test",
                    EvidenceStateId = 1,
                    DateWrt         = DateTime.Now,
                    UserId          = userContext.UserId,
                };

                service.CaseEvidence_SaveData(saved);
                var caseEvidence = repo.AllReadonly <CaseEvidence>().FirstOrDefault();

                Assert.That(saved.CaseId, Is.EqualTo(caseEvidence.CaseId));
                Assert.That(saved.CourtId, Is.EqualTo(caseEvidence.CourtId));
                Assert.That(saved.EvidenceTypeId, Is.EqualTo(caseEvidence.EvidenceTypeId));
                Assert.That(saved.FileNumber, Is.EqualTo(caseEvidence.FileNumber));
                Assert.That(saved.DateAccept, Is.EqualTo(caseEvidence.DateAccept));
                Assert.That(saved.Description, Is.EqualTo(caseEvidence.Description));
                Assert.That(saved.AddInfo, Is.EqualTo(caseEvidence.AddInfo));
                Assert.That(saved.Location, Is.EqualTo(caseEvidence.Location));
                Assert.That(saved.EvidenceStateId, Is.EqualTo(caseEvidence.EvidenceStateId));
                Assert.That(saved.DateWrt, Is.EqualTo(caseEvidence.DateWrt));
                Assert.That(saved.UserId, Is.EqualTo(caseEvidence.UserId));
            }
        }