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); }
public bool Counter_GetEvidenceCounter(CaseEvidence model, int courtId) { model.RegNumberValue = 100; model.RegNumber = "100"; return(true); }
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)); }
/// <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); }
/// <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)); }
/// <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); } }
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)); } }