/// <summary> /// Попълване на елемент за чек бокса /// </summary> /// <param name="law"></param> /// <param name="courtDepartmentLawUnits"></param> /// <returns></returns> private CheckListVM FillCheckListVM(LawUnit law, IList <CourtDepartmentLawUnit> courtDepartmentLawUnits) { CheckListVM checkListVM = new CheckListVM { Value = law.Id.ToString(), Label = law.FullName, Checked = courtDepartmentLawUnits.Any(x => x.LawUnitId == law.Id && (x.DateFrom <= DateTime.Now && ((x.DateTo != null) ? x.DateTo >= DateTime.Now : true))) }; return(checkListVM); }
public IActionResult Add(int lawUnitType) { SetBreadcrums(lawUnitType, 0); var model = new LawUnit() { LawUnitTypeId = lawUnitType, DateFrom = DateTime.Now }; return(View(nameof(Edit), model)); }
/// <summary> /// Валидация на лице преди запис /// </summary> /// <param name="model"></param> void ValidateModel(LawUnit model) { if (!NomenclatureConstants.LawUnitTypes.NoApointmentPersons.Contains(model.LawUnitTypeId)) { if (string.IsNullOrEmpty(model.Uic)) { ModelState.AddModelError(nameof(model.Uic), "Въведете ЕГН"); } } else { if (string.IsNullOrEmpty(model.Uic) && string.IsNullOrEmpty(model.Code)) { ModelState.AddModelError(nameof(model.Code), "Въведете 'Код' или 'ЕГН'"); } } if (string.IsNullOrEmpty(model.FirstName)) { ModelState.AddModelError(nameof(model.FirstName), "Въведете поне едно име"); } if (model.DateTo.HasValue && model.DateTo.Value < DateTime.Now.Date) { ModelState.AddModelError(nameof(model.DateTo), "Не можете да деактивирате лице със задна дата."); } var valMessage = commonService.LawUnit_Validate(model); if (!string.IsNullOrEmpty(valMessage)) { ModelState.AddModelError(nameof(model.Code), valMessage); } //if (!string.IsNullOrEmpty(model.Uic)) //{ // if (commonService.IsExistLawUnit_ByUicUicType(model.Uic, ((model.Id < 1) ? null : (int?)model.Id))) // ModelState.AddModelError(nameof(model.Uic), "Има лице с този идентификатор."); //} }
public IActionResult Edit(LawUnit model) { SetBreadcrums(model.LawUnitTypeId, model.Id); ValidateModel(model); if (!ModelState.IsValid) { return(View(model)); } var currentId = model.Id; if (commonService.LawUnit_SaveData(model)) { 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(model)); } }
private async Task <bool> migrate_CourtLawUnit(MigrationData item) { var data = item.Data.Split('|'); try { int lawUnitTypeId = int.Parse(item.DataType.Substring(8)); string email = string.Empty; var lawUnit = new LawUnit() { LawUnitTypeId = lawUnitTypeId, UicTypeId = NomenclatureConstants.UicTypes.EGN, Uic = data[1], FirstName = data[2]?.Trim(), MiddleName = data[3]?.Trim(), FamilyName = data[4]?.Trim(), Family2Name = data[5]?.Trim(), DateFrom = DefaultDateFrom, DateWrt = DateTime.Now }; lawUnit.FullName = lawUnit.MakeFullName(); if (!string.IsNullOrEmpty(lawUnit.Uic)) { lawUnit.Person.CopyFrom(lawUnit); } else { lawUnit.Person = null; } var lawUnitPeriods = new List <CourtLawUnit>(); var appointPeriod = new CourtLawUnit(); if (!NomenclatureConstants.LawUnitTypes.NoApointmentPersons.Contains(lawUnitTypeId)) { appointPeriod.CourtId = item.CourtId; appointPeriod.DateFrom = DefaultDateFrom; appointPeriod.PeriodTypeId = NomenclatureConstants.PeriodTypes.Appoint; lawUnitPeriods.Add(appointPeriod); } switch (lawUnitTypeId) { case NomenclatureConstants.LawUnitTypes.Judge: email = data[6].Trim(); try { if (!string.IsNullOrEmpty(data[7])) { var moveToCourt = int.Parse(data[7]); var moveFromDate = data[8]; var movePeriod = new CourtLawUnit() { CourtId = moveToCourt, DateFrom = moveFromDate.StrToDateFormat("dd.MM.yyyy"), PeriodTypeId = NomenclatureConstants.PeriodTypes.Move }; if (moveToCourt < 0) { //Ако е командирован в текущия съд, се разменят двата вида период appointPeriod.PeriodTypeId = NomenclatureConstants.PeriodTypes.Move; appointPeriod.DateFrom = movePeriod.DateFrom; movePeriod.CourtId = Math.Abs(movePeriod.CourtId); movePeriod.PeriodTypeId = NomenclatureConstants.PeriodTypes.Appoint; movePeriod.DateFrom = DefaultDateFrom; } lawUnitPeriods.Add(movePeriod); } } catch { } break; case NomenclatureConstants.LawUnitTypes.MessageDeliverer: email = data[6].Trim(); break; case NomenclatureConstants.LawUnitTypes.OtherEmployee: email = data[6].Trim(); lawUnit.Department = data[7]; break; case NomenclatureConstants.LawUnitTypes.Jury: //Кой съд и специалност ако има lawUnit.Department = data[6] + ":" + (data[7] ?? ""); break; case NomenclatureConstants.LawUnitTypes.Prosecutor: //Кой съд и специалност ако има lawUnit.Code = data[6] ?? ""; lawUnit.Department = data[7] ?? ""; if (string.IsNullOrEmpty(lawUnit.Code)) { item.Message = $"{lawUnit.FullName} няма код"; return(false); } if (repo.AllReadonly <LawUnit>().Where(x => x.Code == lawUnit.Code && x.LawUnitTypeId == lawUnitTypeId).Any()) { item.Message = $"{lawUnit.Code} {lawUnit.FullName} вече съществува"; return(false); } break; default: break; } lawUnit.Courts = lawUnitPeriods; if (!string.IsNullOrEmpty(lawUnit.Uic)) { var savedLU = repo.AllReadonly <LawUnit>() .Where(x => x.Uic == lawUnit.Uic && x.UicTypeId == lawUnit.UicTypeId) .FirstOrDefault(); if (savedLU != null) { item.Message = $"{savedLU.Uic} {savedLU.FullName} вече съществува"; return(false); } } //Лицата трябва да имат уникално ЕГН и уникален email if (NomenclatureConstants.LawUnitTypes.EissUserTypes.Contains(lawUnitTypeId)) { if (string.IsNullOrEmpty(lawUnit.Uic)) { item.Message = "Лицето няма ЕГН"; return(false); } long egn; if (!long.TryParse(lawUnit.Uic, out egn)) { item.Message = "Невалидно ЕГН"; return(false); } if (string.IsNullOrEmpty(email)) { item.Message = "Лицето няма електронна поща"; return(false); } if (repo.AllReadonly <ApplicationUser>().Where(x => x.NormalizedEmail == email.ToUpper()).Any()) { item.Message = "Съществуваща електронна поща"; return(false); } } repo.Add(lawUnit); repo.SaveChanges(); //Ако има електронна поща се създава и потребител if (!string.IsNullOrEmpty(email)) { var user = new ApplicationUser { UserName = email, Email = email, LawUnitId = lawUnit.Id, CourtId = item.CourtId, WorkNotificationToMail = true, IsActive = true }; IdentityResult res = null; res = await userManager.CreateAsync(user).ConfigureAwait(false); if (res.Succeeded) { return(true); } else { return(false); } } else { return(true); } } catch (Exception ex) { item.Message = ex.Message; return(false); } }