public override async Task <IActionResult> Edit(Guid id, ImlAppDetailDTO model) { if (id != model.Id) { return(NotFound()); } if (string.IsNullOrEmpty(model.EDRPOU) && string.IsNullOrEmpty(model.INN)) { ModelState.Clear(); ModelState.AddModelError("EDRPOU", "Поле необхідне для заповнення"); ModelState.AddModelError("INN", "Поле необхідне для заповнення"); return(View(model)); } if (model.OrgType == OrgType.FOP) { if (model.PassportNumber.Length != 6 && model.PassportNumber.Length != 9) { ModelState.AddModelError("PassportNumber", "Довжина номеру паспорту має бути 6, або 9 (при викориристанні ID-картки)"); return(View(model)); } if (string.IsNullOrEmpty(model.PassportSerial)) { if (model.PassportNumber.Length != 9) { ModelState.AddModelError("PassportSerial", "Поле необхідне для заповнення (при використанні паспорту)"); return(View(model)); } } } if (model.StreetId != Guid.Empty && model.CityId != Guid.Empty) { // ATU var newSubjAddress = new SubjectAddress { StreetId = model.StreetId, PostIndex = model.PostIndex, Building = model.Building, }; if (!_atuAddressService.SaveAddress(newSubjAddress)) { ModelState.AddModelError("", "Вулиця не знайдена у довіднику"); return(View(model)); } else { model.AddressId = newSubjAddress.Id; } } var appId = await _imlApplicationService.SaveApplication(model, true); return(RedirectToAction("Details", new { id = appId })); }
public async Task<IActionResult> EditSgd(Guid id, string returnUrl, ImlOrganizationExtFullDTO model) { if (id != model.Id) { return NotFound(); } if (string.IsNullOrEmpty(model.EDRPOU)) { ModelState.Clear(); ModelState.AddModelError("EDRPOU", "Поле необхідне для заповнення"); return View(model); } if (model.StreetId != Guid.Empty && model.CityId != Guid.Empty) { // ATU var newSubjAddress = new SubjectAddress { StreetId = model.StreetId, PostIndex = model.PostIndex, Building = model.Building, }; if (!_atuAddressService.SaveAddress(newSubjAddress)) { ModelState.Clear(); ModelState.AddModelError("", "Вулиця не знайдена у довіднику"); return View(model); } else { model.AddressId = newSubjAddress.Id; } } var errors = await _service.SaveNewOrg(model); if (errors.Any()) { foreach (var (key, value) in errors) { ModelState.Clear(); ModelState.AddModelError(key, value); } return View(model); } return await Task.Run(() => { return Redirect(returnUrl.Contains('?') ? $"{returnUrl}&orgId={model.Id}" : $"{returnUrl}?orgId={model.Id}"); }); }
public bool AddSubjectAddress(SubjectAddress subjectAddress) { var maxSubjectAddressId = _subjectAddresses.Max(x => x.SubjectAddressId); subjectAddress.SubjectAddressId = maxSubjectAddressId + 1; subjectAddress.AddressId = _subjectAddresses.First(x => x.SubjectAddressId == maxSubjectAddressId).AddressId + 1; subjectAddress.SubjectId = _subjectAddresses.First(x => x.SubjectAddressId == maxSubjectAddressId).SubjectId + 1; _subjectAddresses.Add(subjectAddress); return(true); }
public ActionResult <SubjectAddressDto> Post([FromBody] SubjectAddressDto subjectAddress) { var addressDto = subjectAddress.Address; var nameDto = subjectAddress.Subject; try { if (addressDto.Address == null) { return(BadRequest("Address is mandatory")); } var addressDetails = addressDto.Address.Split(' '); var addressModel = new Address { StreetNumber = addressDetails.Length > 0 ? addressDetails[0] : "", Direction = addressDetails.Length > 1 ? addressDetails[1] : "", StreetName = addressDetails.Length > 2 ? addressDetails[2] : "", StreetType = addressDetails.Length > 3 ? addressDetails[3] : "", City = addressDto.City, State = addressDto.State, Zip = addressDto.Zip }; var nameModel = new Name { FirstName = nameDto.FirstName, LastName = nameDto.LastName, Mi = nameDto.Mi, Suffix = nameDto.Suffix }; var subjectAddressModel = new SubjectAddress { Address = addressModel, Subject = nameModel }; _contactRepository.AddSubjectAddress(subjectAddressModel); return(CreatedAtAction(nameof(GetSubjectAddress), new { id = subjectAddressModel.SubjectAddressId }, subjectAddress)); } catch (Exception ex) { _logger.LogError(ex.Message); throw; } }
public bool AddSubjectAddress(SubjectAddress subjectAddress) { if (subjectAddress == null) { throw new ArgumentNullException(nameof(subjectAddress)); } if (subjectAddress.Address == null) { throw new ArgumentNullException(nameof(subjectAddress.Address)); } if (subjectAddress.Subject == null) { throw new ArgumentNullException(nameof(subjectAddress.Subject)); } //Save Subject, Address and relation in that order. _contactContext.Add(subjectAddress.Subject); _contactContext.Add(subjectAddress.Address); _contactContext.Add(subjectAddress); return(_contactContext.SaveChanges() > 0); }
public bool SaveAddress(SubjectAddress newSubjectAddress) { var street = _dataService.GetDto <AtuStreetDTO>(p => p.Id == newSubjectAddress.StreetId).SingleOrDefault(); if (street == null) { return(false); } var subjAddress = _dataService.GetEntity <SubjectAddress>(p => p.StreetId == newSubjectAddress.StreetId && p.Building == newSubjectAddress.Building && p.PostIndex == newSubjectAddress.PostIndex).SingleOrDefault(); if (subjAddress != null) { newSubjectAddress.Id = subjAddress.Id; return(true); } newSubjectAddress.AddressType = street.Caption; _dataService.Add(newSubjectAddress); _dataService.SaveChanges(); return(true); }
public override async Task <IActionResult> Edit(Guid id, PrlAppDetailDTO model) { if (id != model.Id)//check { return(NotFound()); } if (model.OrgType == OrgType.FOP) { if (ModelState.ContainsKey("EDRPOU")) { ModelState["EDRPOU"].ValidationState = ModelValidationState.Valid; } if (ModelState.ContainsKey("OrgDirector")) { ModelState["OrgDirector"].ValidationState = ModelValidationState.Valid; } if (model.PassportNumber.Length != 6 && model.PassportNumber.Length != 9) { ModelState.AddModelError("PassportNumber", "Довжина номеру паспорту має бути 6, або 9 (при викориристанні ID-картки)"); } if (string.IsNullOrEmpty(model.PassportSerial)) { if (model.PassportNumber.Length != 9) { ModelState.AddModelError("PassportSerial", "Поле необхідне для заповнення (при використанні паспорту)"); } } } else { if (ModelState.ContainsKey("INN")) { ModelState["INN"].ValidationState = ModelValidationState.Valid; } if (ModelState.ContainsKey("PassportSerial")) { ModelState["PassportSerial"].ValidationState = ModelValidationState.Valid; } if (ModelState.ContainsKey("PassportNumber")) { ModelState["PassportNumber"].ValidationState = ModelValidationState.Valid; } if (ModelState.ContainsKey("PassportDate")) { ModelState["PassportDate"].ValidationState = ModelValidationState.Valid; } if (ModelState.ContainsKey("PassportIssueUnit")) { ModelState["PassportIssueUnit"].ValidationState = ModelValidationState.Valid; } } if (ModelState.ContainsKey("EconomicClassificationType")) { ModelState["EconomicClassificationType"].ValidationState = ModelValidationState.Valid; } if (ModelState.IsValid) { // ATU var newSubjAddress = new SubjectAddress { StreetId = model.StreetId, PostIndex = model.PostIndex, Building = model.Building, }; if (!_atuAddressService.SaveAddress(newSubjAddress)) { ModelState.AddModelError("", "Вулиця не знайдена у довіднику"); } else { model.AddressId = newSubjAddress.Id; } } if (ModelState.IsValid) { var appId = await _prlApplicationService.SaveApplication(model); return(RedirectToAction("Details", new { id = appId })); } return(View(model)); }
private async Task <IActionResult> Edit <TDetailDTO>(Guid?id, object model) where TDetailDTO : MessageDetailDTO { var currentModel = (TDetailDTO)model; if (id != null) { currentModel.Id = (Guid)id; } // Check License for MPD (Only 1) if (model.TryGetPropValue("LicenseType", out var licenseType)) { if (!string.IsNullOrEmpty(licenseType as string)) { var licenseList = await _licenseService.GetActiveLicenses(); switch (licenseType) { case "PRL": { if (!licenseList.FirstOrDefault(p => p.type == "PRL").isActive) { ModelState.AddModelError("LicenseType", "У вас немає цієї ліцензії"); } currentModel.IsPrlLicense = true; break; } case "IML": { if (!licenseList.FirstOrDefault(p => p.type == "IML").isActive) { ModelState.AddModelError("LicenseType", "У вас немає цієї ліцензії"); } currentModel.IsImlLicense = true; break; } case "TRL": { if (!licenseList.FirstOrDefault(p => p.type == "TRL").isActive) { ModelState.AddModelError("LicenseType", "У вас немає цієї ліцензії"); } currentModel.IsTrlLicense = true; break; } } } } if (!currentModel.IsPrlLicense && !currentModel.IsImlLicense && !currentModel.IsTrlLicense) { ModelState.AddModelError("", "Хоча б одна ліцензія повинна бути обрана"); } switch (currentModel) { case MPDActivitySuspensionMessageDTO mod: { mod.MpdSelectedId = new Guid(mod.MPDGuidEnum); break; } case MPDActivityRestorationMessageDTO mod: { mod.MpdSelectedId = new Guid(mod.MPDGuidEnum); break; } case MPDClosingForSomeActivityMessageDTO mod: { mod.MpdSelectedId = new Guid(mod.MPDGuidEnum); break; } case PharmacyNameChangeMessageDTO mod: { mod.MpdSelectedId = new Guid(mod.MPDGuidEnum); break; } case PharmacyHeadReplacementMessageDTO mod: { mod.MpdSelectedId = new Guid(mod.MPDGuidEnum); break; } case MPDLocationRatificationMessageDTO mod: { mod.MpdSelectedId = new Guid(mod.MPDGuidEnum); if (ModelState.IsValid) { // ATU var newSubjAddress = new SubjectAddress { StreetId = mod.StreetId, PostIndex = mod.PostIndex, Building = mod.Building, }; if (!_atuAddressService.SaveAddress(newSubjAddress)) { ModelState.AddModelError("", "Вулиця не знайдена у довіднику"); } else { mod.AddressBusinessActivityId = newSubjAddress.Id; } } break; } case MPDRestorationAfterSomeActivityMessageDTO mod: { mod.MpdSelectedId = new Guid(mod.MPDGuidEnum); break; } case OrgFopLocationChangeMessageDTO mod: { if (ModelState.IsValid) { // ATU var newSubjAddress = new SubjectAddress { StreetId = mod.StreetId, PostIndex = mod.PostIndex, Building = mod.Building, }; if (!_atuAddressService.SaveAddress(newSubjAddress)) { ModelState.AddModelError("", "Вулиця не знайдена у довіднику"); } else { mod.NewLocationId = newSubjAddress.Id; } } break; } } if (ModelState.IsValid) { var newId = await _messageService.Save(currentModel); return(RedirectToAction("Details", "MessageTypes", new { id = newId })); } await SetInformLicense(currentModel.MessageType, new Message { Id = currentModel.Id }, true); var messageType = typeof(TDetailDTO); var viewName = _messageService.GetViewName(messageType, "Edit"); return(View(viewName, model)); }
public override async Task <IActionResult> Edit(Guid id, TrlAppDetailDTO model) { if (!model.ListOfTrlActivityType?.Any() ?? true) { ModelState.AddModelError("ListOfTrlActivityType", "Має бути обрано щонайменьше один вид діяльності"); var activityTypeList = _service.DataService.GetEntity <EnumRecord>(x => x.EnumType == "TrlActivityType"); ViewBag.trlActivityTypeList = new MultiSelectList(activityTypeList, nameof(EnumRecord.Id), nameof(EnumRecord.Name)); } if (model.OrgType == OrgType.FOP) { if (ModelState.ContainsKey("EDRPOU")) { ModelState["EDRPOU"].ValidationState = ModelValidationState.Valid; } if (ModelState.ContainsKey("OrgDirector")) { ModelState["OrgDirector"].ValidationState = ModelValidationState.Valid; } if (model.PassportNumber.Length != 6 && model.PassportNumber.Length != 9) { ModelState.AddModelError("PassportNumber", "Довжина номеру паспорту має бути 6, або 9 (при викориристанні ID-картки)"); } if (string.IsNullOrEmpty(model.PassportSerial)) { if (model.PassportNumber.Length != 9) { ModelState.AddModelError("PassportSerial", "Поле необхідне для заповнення (при використанні паспорту)"); } } } else { if (ModelState.ContainsKey("INN")) { ModelState["INN"].ValidationState = ModelValidationState.Valid; } if (ModelState.ContainsKey("PassportSerial")) { ModelState["PassportSerial"].ValidationState = ModelValidationState.Valid; } if (ModelState.ContainsKey("PassportNumber")) { ModelState["PassportNumber"].ValidationState = ModelValidationState.Valid; } if (ModelState.ContainsKey("PassportDate")) { ModelState["PassportDate"].ValidationState = ModelValidationState.Valid; } if (ModelState.ContainsKey("PassportIssueUnit")) { ModelState["PassportIssueUnit"].ValidationState = ModelValidationState.Valid; } } if (ModelState.IsValid) { // ATU var newSubjAddress = new SubjectAddress { StreetId = model.StreetId, PostIndex = model.PostIndex, Building = model.Building, }; if (!_atuAddressService.SaveAddress(newSubjAddress)) { ModelState.AddModelError("", "Вулиця не знайдена у довіднику"); } else { model.AddressId = newSubjAddress.Id; } } if (ModelState.IsValid) { var appId = await _service.SaveApplication(model); return(RedirectToAction("Details", new { id = appId })); } return(View(model)); }
public override async Task <IActionResult> Edit(Guid id, BranchDetailsDTO model) { if (id != model.Id) { return(await Task.Run(() => NotFound())); } if (string.IsNullOrEmpty(model.AdressEng)) { ModelState.Remove("AdressEng"); } if (ModelState.IsValid) { // ATU var newSubjAddress = new SubjectAddress { StreetId = model.StreetId, PostIndex = model.PostIndex, Building = model.Building, }; if (!_atuAddressService.SaveAddress(newSubjAddress)) { ModelState.AddModelError("", "Вулиця не знайдена у довіднику"); } else { model.AddressId = newSubjAddress.Id; } } if (model.AppType == "TRL") { if (!model.TrlActivityType?.Any() ?? true) { ModelState.AddModelError("TrlActivityType", "Мае бути обрано щонайменьше один вид діяльності!"); } if (string.IsNullOrEmpty(model.BranchType)) { ModelState.AddModelError("BranchType", "Поле необхідне для заповнення!"); } if (model.BranchType == "PharmacyItem" && model.PharmacyId == null) { ModelState.AddModelError("PharmacyId", "Оберіть аптеку!"); } } if (ModelState.IsValid) { try { await _branchService.Save(model); } catch (Exception) { return(await Task.Run(() => NotFound())); } return(Json(new { status = "success", tab = "#branch" })); } return(Json(new { status = "false", errors = ModelState.Values.Where(i => i.Errors.Count > 0) })); }