public IHttpActionResult Post(UserViewModel item) { using (var dbContext = new TestDbContext()) { Mapper.CreateMap<User, UserViewModel>() .ForMember(d => d.Address, opt => opt.Ignore()) .AfterMap((s, d) => { d.Address = s.Customer.Address; }); User user = new User(); user.Name = item.Name; user.Customer = new Customer { Address = item.Address }; dbContext.Users.Add(user); dbContext.SaveChanges(); var userViewModel = Mapper.Map<UserViewModel>(user); return Ok(userViewModel); } }
public int Put(int id, UserViewModel item) { item.Id = id; using (var dbContext = new TestDbContext()) { var user = dbContext.Users.FirstOrDefault(o => o.Id == id); if (user == null) { return 0; } user.Name = item.Name; user.Customer.Address = item.Address; dbContext.SaveChanges(); return user.Id; } }