public async Task <IHttpActionResult> PostCustomer(Customer customer) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } _unitOfWork.CustomerRepository.Insert(customer); try { // Save and accept changes await _unitOfWork.SaveChangesAsync(); } catch (UpdateException) { if (_unitOfWork.CustomerRepository.Find(customer.CustomerId) == null) { return(Conflict()); } throw; } // Load related entities and accept changes await _unitOfWork.CustomerRepository.LoadRelatedEntitiesAsync(customer); customer.AcceptChanges(); return(CreatedAtRoute("DefaultApi", new { id = customer.CustomerId }, customer)); }
public async Task <IHttpActionResult> PostOrder(Order entity) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } _unitOfWork.OrderRepository.Insert(entity); try { await _unitOfWork.SaveChangesAsync(); } catch (UpdateException) { if (_unitOfWork.OrderRepository.Find(entity.OrderId) == null) { return(Conflict()); } throw; } await _unitOfWork.OrderRepository.LoadRelatedEntitiesAsync(entity); entity.AcceptChanges(); return(CreatedAtRoute("DefaultApi", new { id = entity.OrderId }, entity)); }
public async Task <IHttpActionResult> PostOrder(Order order) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } await _unitOfWork.OrdersRepository.CreateOrder(order); await _unitOfWork.SaveChangesAsync(); return(CreatedAtRoute("DefaultApi", new { id = order.OrderId }, order)); }