public Order GetOrder(Guid orderId) { Entities.Order orderEntity = _dataAccessObjects.GetOrderByOrderId(orderId).FirstOrDefault(); if (orderEntity == null) { //order not found return(null); } List <Entities.OrderItem> orderItemEntityList = _dataAccessObjects.GetOrderItemByOrderId(orderEntity.OrderId); List <OrderItem> orderItemList = new List <OrderItem>(); foreach (Entities.OrderItem orderItem in orderItemEntityList) { CatalogItem catalogItem = Translators.CatalogItem.ToBusinessObject( _dataAccessObjects.GetCatalogItemByCatalogItemId(orderItem.CatalogItemId)); orderItemList.Add(new OrderItem { ItemInscription = orderItem.ItemInscription, CatalogItem = catalogItem, OrderItemId = orderItem.OrderItemId, QuantityOrdered = orderItem.QuantityOrdered }); } Person person = Translators.Person.ToBusinessObject( _dataAccessObjects.GetPersonByPersonId(orderEntity.PersonId)); Order order = Translators.Order.ToBusinessObject(orderEntity); order.ItemList = orderItemList; order.Person = person; return(order); }