コード例 #1
0
        public ActionResult Create()
        {
            var viewModel = new MachinistViewModel
            {
                Machinist = new Machinist(),
                Address   = new Address()
            };

            return(View("MachinistsForm", viewModel));
        }
コード例 #2
0
        [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"));
        }
コード例 #3
0
        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));
        }