public OrderDTO AddOrder(OrderDTO orderDto) { var order = OrderMapper.DtoToDomain(orderDto); var errorMessages = new List <string>(); if (!OrderValidator.Validate(order, unitOfWork, ref errorMessages)) { throw new InvalidObjectException("Order", orderDto, errorMessages); } try { var customer = unitOfWork.CustomerRepository.GetById(order.CustomerId); order.CustomerName = customer.CustomerName; order.CustomerNumber = customer.CustomerNumber; unitOfWork.OrderRepository.Add(order); unitOfWork.Commit(); return(OrderMapper.DomainToDto(order)); } catch (Exception exception) { throw new Exception("An exception occured adding customer: ", exception); } }