public ActionResult Create() { var viewModel = new MachinistViewModel { Machinist = new Machinist(), Address = new Address() }; return(View("MachinistsForm", viewModel)); }
[ValidateAntiForgeryToken] // Prevent Cross Site Request Forgery (CSRF) Attacks by generating and comparing Token automatically public ActionResult Save( [Bind(Include = "Id, FirstName, LastName, Email, Phone, AddressId")] Machinist machinist, [Bind(Include = "Id, Address1, Address2, City, Country, ZipCode")] Address address) { if (!ModelState.IsValid) { var viewModel = new MachinistViewModel { Machinist = machinist, Address = address }; return(View("MachinistsForm", viewModel)); } // if new machinist if (machinist.Id == 0) { _context.Address.Add(address); _context.SaveChanges(); machinist.AddressId = address.Id; _context.Machinist.Add(machinist); TempData[Constant.Success] = Constant.New; } // if modify existing machinist else { var MachinistDB = _context.Machinist.Single(c => c.Id == machinist.Id); var addressDB = _context.Address.Single(a => a.Id == address.Id); addressDB.Address1 = address.Address1; addressDB.Address2 = address.Address2; addressDB.ZipCode = address.ZipCode; addressDB.City = address.City; addressDB.Country = address.Country; MachinistDB.FirstName = machinist.FirstName; MachinistDB.LastName = machinist.LastName; MachinistDB.Email = machinist.Email; MachinistDB.Phone = machinist.Phone; machinist.IsAvailable = true; TempData[Constant.Success] = Constant.Update; } _context.SaveChanges(); return(RedirectToAction("Index", "Machinist")); }
public ActionResult Edit(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } var machinist = _context.Machinist.Include(m => m.Address) .SingleOrDefault(c => c.Id == id); if (machinist == null) { return(HttpNotFound()); } var viewModel = new MachinistViewModel { Machinist = machinist, Address = machinist.Address }; return(View("MachinistsForm", viewModel)); }