示例#1
0
        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));
        }
示例#2
0
        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));
        }