public async Task <IEnumerable <AsycudaSalesAllocations> > GetAsycudaSalesAllocations(string FilterExpression) { try { // create dictionary map and run replace var map = new Dictionary <string, string>() { { "InvoiceDate", "EntryDataDetails.Sales.EntryDataDate" }, { "InvoiceNo", "EntryDataDetails.EntryDataId" }, { "TaxAmount", "EntryDataDetails.Sales.TaxAmount" }, { "ItemNumber", "EntryDataDetails.ItemNumber" }, { "ItemDescription", "EntryDataDetails.ItemDescription" }, { "TariffCode", "EntryDataDetails.InventoryItem.TariffCode" }, { "pCNumber", "PreviousDocumentItem.AsycudaDocument.CNumber" }, { "pLineNumber", "PreviousDocumentItem.LineNumber" } }; var exp = map.Aggregate(FilterExpression, (current, m) => current.Replace(m.Key, m.Value)); using (var ctx = new AsycudaSalesAllocationsService()) { var res = await ctx.GetAsycudaSalesAllocationsByExpression(exp, new List <string>() { "xbondEntry", // "EntryDataDetails", // "EntryDataDetails.EntryDataDetailsEx", // "EntryDataDetails.InventoryItem", "EntryDataDetails.InventoryItem.TariffCodes.TariffCategory.TariffSupUnitLkps", "EntryDataDetails.Sales", // "PreviousDocumentItem", //"PreviousDocumentItem.EX", "PreviousDocumentItem.xcuda_Goods_description", "PreviousDocumentItem.xcuda_Tarification.xcuda_HScode", "PreviousDocumentItem.xcuda_Tarification.xcuda_Supplementary_unit", "PreviousDocumentItem.xcuda_Taxation.xcuda_Taxation_line", "PreviousDocumentItem.xcuda_Valuation_item.xcuda_Item_Invoice", "PreviousDocumentItem.xcuda_Valuation_item.xcuda_Weight_itm", "PreviousDocumentItem.AsycudaDocument", //"PreviousDocumentItem.xcuda_PreviousItems", "PreviousDocumentItem.xcuda_PreviousItems.xcuda_Item.AsycudaDocument" // "PreviousDocumentItem.xcuda_PreviousItems.xcuda_Item" }).ConfigureAwait(false); return(res); } } catch (Exception) { throw; } }
public async Task <IEnumerable <AsycudaSalesAllocations> > GetAsycudaSalesAllocations(string FilterExpression) { try { // create dictionary map and run replace var exp = TranslateAllocationWhereExpression(FilterExpression); using (var ctx = new AsycudaSalesAllocationsService()) { var res = await ctx.GetAsycudaSalesAllocationsByExpression(exp, new List <string>() { "xBondAllocations", // "EntryDataDetails", // "EntryDataDetails.EntryDataDetailsEx", // "EntryDataDetails.InventoryItem", "EntryDataDetails.InventoryItem.TariffCodes.TariffCategory.TariffSupUnitLkps", "EntryDataDetails.Sales", // "PreviousDocumentItem", //"PreviousDocumentItem.EX", "PreviousDocumentItem.xcuda_Goods_description", "PreviousDocumentItem.xcuda_Tarification.xcuda_HScode", "PreviousDocumentItem.xcuda_Tarification.xcuda_Supplementary_unit", "PreviousDocumentItem.xcuda_Taxation.xcuda_Taxation_line", "PreviousDocumentItem.xcuda_Valuation_item.xcuda_Item_Invoice", "PreviousDocumentItem.xcuda_Valuation_item.xcuda_Weight_itm", "PreviousDocumentItem.AsycudaDocument", //"PreviousDocumentItem.xcuda_PreviousItems", "PreviousDocumentItem.EntryPreviousItems.xcuda_PreviousItem.xcuda_Item.AsycudaDocument" // "PreviousDocumentItem.xcuda_PreviousItems.xcuda_Item" }).ConfigureAwait(false); return(res); } } catch (Exception) { throw; } }