public List <Order> GetInvoicableOrdersByAccount(int company_key, int account_key) { if (company_key == 0) { throw new InvalidOperationException(nameof(company_key)); } if (account_key == 0) { throw new InvalidOperationException(nameof(account_key)); } return(ExecuteFaultHandledOperation(() => { var order_headers = new List <Order>(); var orders_data = _order_header_repo.GetForInvoice(company_key, account_key); foreach (OrderHeaderData order_data in orders_data) { var order_header = Map(order_data); order_header.Account = _account_be.GetAccountByID(order_header.AccountKey, false); order_header.OrderItems = GetOrderItemsByOrder(order_header); order_headers.Add(order_header); } return order_headers; })); }