public OrderResponse Place(OrderRequest orderRequest) { _orderRequest = orderRequest; if (_orderRequest.Pizzas.FirstOrDefault(pizza => pizza.Tastes.Count > 2) != null) { OrderExceptions.PizzaTastesExceedLimit(); } CheckCustomer(); return(Create(_mapper.Map <Order>(_orderRequest))); }
private void CheckCustomer() { var customer = _database.Customers .FirstOrDefault(records => records.CPF == _orderRequest.Customer.CPF); if (customer is null && _orderRequest.Customer.Address is null && _orderRequest.Customer.CEP is null && _orderRequest.Customer.CEP is null) { OrderExceptions.CustomerOrAddressNotFound(); } if (_orderRequest.Customer.Address is null && customer != null) { _orderRequest.Customer = _mapper.Map <CustomerRequest>(customer); } if (!(customer is null)) { return; } _database.Customers.Add(_mapper.Map <Customer>(_orderRequest.Customer)); _database.SaveChanges(); }