public IActionResult New() { var viewModel = new PassportFormViewModel() { PassportTypes = _context.PassportTypes.ToList(), Sources = _context.Sources.ToList() }; return(View("PassportForm", viewModel)); }
public IActionResult Save(PassportFormViewModel viewModel) { if (!ModelState.IsValid) { viewModel.Sources = _context.Sources.ToList(); viewModel.PassportTypes = _context.PassportTypes.ToList(); return(View("PassportForm", viewModel)); } var personInDb = _context.People.SingleOrDefault(p => p.CI == viewModel.PassportDto.OwnerCI); if (personInDb == null) { viewModel.NotExistThisPersonInDb = true; viewModel.Sources = _context.Sources.ToList(); viewModel.PassportTypes = _context.PassportTypes.ToList(); return(View("PassportForm", viewModel)); } var passportInDb = _context.Passports.SingleOrDefault(p => p.PassportNo == viewModel.OldPassportNo); bool newPassportExists = _context.Passports.SingleOrDefault(p => p.PassportNo == viewModel.PassportDto.PassportNo) != null; if (passportInDb != null) { bool isModifiedPassNo = viewModel.OldPassportNo != viewModel.PassportDto.PassportNo; if (isModifiedPassNo && newPassportExists) { viewModel.ExistOtherInDb = true; viewModel.Sources = _context.Sources.ToList(); viewModel.PassportTypes = _context.PassportTypes.ToList(); return(View("PassportForm", viewModel)); } TransferData.Transfer(viewModel.PassportDto, passportInDb, _context); } else if (newPassportExists) { viewModel.ExistOtherInDb = true; viewModel.Sources = _context.Sources.ToList(); viewModel.PassportTypes = _context.PassportTypes.ToList(); return(View("PassportForm", viewModel)); } else { var newPassport = new Passport(); TransferData.Transfer(viewModel.PassportDto, newPassport, _context); _context.Passports.Add(newPassport); } _context.SaveChanges(); return(RedirectToAction("Index")); }
public IActionResult Edit(long id) { var passportInDb = _context.Passports.SingleOrDefault(p => p.Id == id); if (passportInDb == null) { return(NotFound()); } var viewModel = new PassportFormViewModel() { PassportTypes = _context.PassportTypes.ToList(), Sources = _context.Sources.ToList(), OldPassportNo = passportInDb.PassportNo, PassportDto = new PassportDto() }; TransferData.Transfer(passportInDb, viewModel.PassportDto, _context); return(View("PassportForm", viewModel)); }