public async Task <CustomerDetailItem> CreateCustomerAsync([FromBody] CustomerPayloadItem payload) { var dbItem = new Customer { Id = Guid.NewGuid(), City = payload.City, CountryId = payload.Country.Id, FirstName = payload.FirstName, LastName = payload.LastName, Phone = payload.Phone, Street = payload.Street, ZipCode = payload.ZipCode, Created = DateTime.UtcNow, }; _db.Add(dbItem); var entry = _db.Entry(dbItem); entry.UpdateAdditionalProperties(payload); await _db.SaveChangesAsync(); return(await GetCustomerDetailItemAsync(dbItem.Id)); }
public async Task <CustomerDetailItem> UpdateCustomerAsync(Guid id, [FromBody] CustomerPayloadItem payload) { var dbItem = await _db.Customers.FirstAsync(p => p.Id == id); dbItem.City = payload.City; dbItem.CountryId = payload.Country.Id; dbItem.FirstName = payload.FirstName; dbItem.LastName = payload.LastName; dbItem.Phone = payload.Phone; dbItem.Street = payload.Street; dbItem.ZipCode = payload.ZipCode; var entry = _db.Entry(dbItem); entry.UpdateAdditionalProperties(payload); await _db.SaveChangesAsync(); return(await GetCustomerDetailItemAsync(dbItem.Id)); }