AutoMapperIntro.Controllers.Manager.EditManufacturer C# (CSharp) Method

EditManufacturer() public method

public EditManufacturer ( ManufacturerBase newItem ) : ManufacturerBase
newItem ManufacturerBase
return ManufacturerBase
        public ManufacturerBase EditManufacturer(ManufacturerBase newItem)
        {
            // Attempt to fetch the object with the matching identifier
            var fetchedObject = ds.Manufacturers.Find(newItem.Id);

            if (fetchedObject == null)
            {
                // Return null to the caller (who will also test the result)
                return null;
            }
            else
            {
                // Update the object with the incoming values
                // Before doing this, we may have to perform
                // business-rule validations
                ds.Entry(fetchedObject).CurrentValues.SetValues(newItem);
                ds.SaveChanges();

                // Prepare and return the object
                return Mapper.Map<ManufacturerBase>(fetchedObject);

                /*
                // Prepare the object to be returned
                var editedItem = new ManufacturerBase();
                editedItem.Id = fetchedObject.Id;
                editedItem.Name = fetchedObject.Name;
                editedItem.Country = fetchedObject.Country;
                editedItem.YearStarted = fetchedObject.YearStarted;

                // Return the result
                return editedItem;
                */
            }
        }

Usage Example

示例#1
0
        public ActionResult Edit(int id, ManufacturerBase newItem)
        {
            // Two tests are required...
            if (ModelState.IsValid & id == newItem.Id)
            {
                // Attempt to update the item
                ManufacturerBase editedItem = m.EditManufacturer(newItem);

                if (editedItem == null)
                {
                    return(RedirectToAction("index"));
                }
                else
                {
                    return(RedirectToAction("details", new { id = editedItem.Id }));
                }
            }
            else
            {
                return(RedirectToAction("index"));
            }
        }