public ActionResult AddEditKeeper(int?id, keeper model) { OwnerKeeperVM keeperVm = new OwnerKeeperVM(); keeperVm.farms = new SelectList(_repo.Farm.GetModel().ToList(), "id", "orgtanizationName"); if (id.HasValue) { keeper ownerkeeper = _repo.keepers.GetById(id.Value); if (ownerkeeper != null) { //Mapping the model to viewModel var config = new MapperConfiguration(cfg => { cfg.CreateMap <keeper, OwnerKeeperVM>(); }); IMapper mapper = config.CreateMapper(); keeperVm = mapper.Map <keeper, OwnerKeeperVM>(ownerkeeper); keeperVm.farms = new SelectList(_repo.Farm.GetModel().ToList(), "id", "orgtanizationName", ownerkeeper.farmid); keeperVm.id = ownerkeeper.id; } } return(View(keeperVm)); }
public ActionResult AddEditKeeper(int?id, OwnerKeeperVM model) { try { if (ModelState.IsValid) { bool isNew = !id.HasValue; // OwnerKeeper owner = isNew ? new OwnerKeeper { } : _repo.GetById(id.Value); // feed = model; if (isNew) { //Mapping the model to viewModel var config = new MapperConfiguration(cfg => { cfg.CreateMap <OwnerKeeperVM, keeper>(); }); IMapper mapper = config.CreateMapper(); keeper owner = mapper.Map <OwnerKeeperVM, keeper>(model); _repo.keepers.Insert(owner); _repo.Save(); } else { var config = new MapperConfiguration(cfg => { cfg.CreateMap <OwnerKeeperVM, keeper>(); }); IMapper mapper = config.CreateMapper(); keeper owner = mapper.Map <OwnerKeeperVM, keeper>(model); //To Avoid tracking error // DbContextInMemory.Entry(entity).State = EntityState.Detached; _repo.keepers.Update(owner); } } } catch (Exception ex) { throw ex; } return(RedirectToAction("Index")); }