public List<Guid> SaveToLocal(ReceiptExportDocument document)
        {
            var savedIds = new List<Guid>();
            var result = 0;

            //using (var db = new AlidiLocalImportDatabaseContext())
            //{
            //    //Find if the ExternalRef is present in local db so that we can mark it as exported in hq,
            //    //So that it is never exported again
            //    if (db.Re.Any(p => p.r == document.ExternalRef))
            //    {
            //        var confirmListBypass = new List<Guid>();
            //        confirmListBypass.Add(Guid.NewGuid());
            //        return confirmListBypass;
            //    }

            //    var orderImport = new OrderImportLocal();
            //    orderImport.OrderExternalRef = document.ExternalRef;
            //    orderImport.OrderRef = document.OrderRef;
            //    orderImport.OrderType = (int)orderType;
            //    orderImport.OutletCode = document.OutletCode;
            //    orderImport.OutletName = document.OutletName;
            //    orderImport.OrderDate = document.OrderDate;
            //    orderImport.OrderDueDate = document.OrderDueDate;
            //    orderImport.RouteName = document.RouteName;

            //    orderImport.TotalDiscount = document.TotalDiscount;
            //    orderImport.TotalGross = document.TotalGross;
            //    orderImport.TotalNet = document.TotalNet;
            //    orderImport.TotalVat = document.TotalVat;
            //    orderImport.ShipToAddress = document.ShipToAddress;

            //    orderImport.DateOfImport = DateTime.Now;
            //    orderImport.ExportStatus = (int)ExportStatus.New;

            //    db.OrderImportLocal.Add(orderImport);
            //    db.SaveChanges();

            //    foreach (var item in document.LineItems)
            //    {
            //        var id = Guid.NewGuid();
            //        var orderItem = new OrderLineItemLocal();
            //        orderItem.LineItemId = id;
            //        orderItem.OrderExternalRef = document.ExternalRef;
            //        orderItem.LineItemTotalGross = item.LineItemTotalGross;
            //        orderItem.LineItemTotalNet = item.LineItemTotalNet;
            //        orderItem.LineItemTotalVat = item.LineItemTotalVat;
            //        orderItem.Price = item.Price;
            //        orderItem.ProductCode = item.ProductCode;
            //        orderItem.VatClass = item.VatClass;
            //        orderItem.VatPerUnit = item.VatPerUnit;

            //        orderItem.DateOfImport = DateTime.Now;
            //        orderItem.ExportStatus = (int)ExportStatus.New;

            //        db.OrderLineItemLocal.Add(orderItem);
            //        savedIds.Add(id);
            //    }
            //    result = db.SaveChanges();

            //}
            if (result > 0)
            {
                return savedIds;
            }
            return null;

        }
 public void SaveToQuickBooks(ReceiptExportDocument orderExportDocument)
 {
     throw new NotImplementedException();
 }
      public ReceiptExportDocument Map(Receipt receipt)
      {
          var mapto = new ReceiptExportDocument();
          var order = _mainOrderRepository.GetById(receipt.DocumentParentId);
          string orderExternalRef = "";
           string outletCode = "";
          string salesmanCode = "";
          string shipToAddress = "";
          Guid orderId;

          if (order != null)
          {
              orderExternalRef = order.ExternalDocumentReference;
              mapto.OrderTotalGross = order.TotalGross;
              mapto.OrderNetGross = order.TotalNet;

          }
          if (order != null && order.DocumentIssuerCostCentre is DistributorSalesman)
          {
              salesmanCode = order.DocumentIssuerCostCentre.CostCentreCode;

          }
          else if(order != null && order.DocumentRecipientCostCentre is DistributorSalesman)
          {
              salesmanCode = order.DocumentRecipientCostCentre.CostCentreCode;
          }
           if (order != null && order.IssuedOnBehalfOf!=null)
           {
               outletCode = order.IssuedOnBehalfOf.CostCentreCode;
           }

           if (order != null)
           {
               shipToAddress = order.ShipToAddress;
               
           }

         
          mapto.Id = receipt.Id;
          mapto.InvoiceRef = receipt.InvoiceId.ToString();
          mapto.OrderExternalRef = orderExternalRef;
          mapto.OutletCode = outletCode;
          mapto.ReceiptRef = receipt.DocumentReference;
          mapto.SalesmanCode = salesmanCode;

          mapto.PaymentDate = receipt.DocumentDateIssued;
          mapto.ShipToAddress = shipToAddress;
          mapto.RouteName = GetOnBehalfOfCCRouteName(order.Id);
        
          mapto.LineItems = receipt.LineItems.Select(s => MapItem(s)).ToList();
          return mapto;
      }