public async Task SelectAll() { IEnumerable <SalesDataDetail> lst = null; using (var ctx = new SalesDataDetailRepository()) { lst = await ctx.GetSalesDataDetailsByExpressionNav(vloader.FilterExpression, vloader.NavigationExpression).ConfigureAwait(continueOnCapturedContext: false); } SelectedSalesDataDetails = new ObservableCollection <SalesDataDetail>(lst); }
// Send to Excel Implementation public async Task Send2Excel() { IEnumerable <SalesDataDetail> lst = null; using (var ctx = new SalesDataDetailRepository()) { lst = await ctx.GetSalesDataDetailsByExpressionNav(vloader.FilterExpression, vloader.NavigationExpression, new List <string>() { "SalesData" }).ConfigureAwait(continueOnCapturedContext: false); } if (lst == null || !lst.Any()) { MessageBox.Show("No Data to Send to Excel"); return; } var s = new ExportToExcel <SalesDataDetailExcelLine, List <SalesDataDetailExcelLine> > { dataToPrint = lst.Select(x => new SalesDataDetailExcelLine { EntryDataId = x.EntryDataId, InvoiceDate = x.SalesData.EntryDataDate, LineNumber = x.LineNumber, ItemNumber = x.ItemNumber, Quantity = x.Quantity, Units = x.Units, ItemDescription = x.ItemDescription, Cost = x.Cost, QtyAllocated = x.QtyAllocated, UnitWeight = x.UnitWeight, DoNotAllocate = x.DoNotAllocate, TariffCode = x.TariffCode, CNumber = x.CNumber, CLineNumber = x.CLineNumber, Downloaded = x.Downloaded, SalesValue = x.SalesValue }).ToList() }; using (var sta = new StaTaskScheduler(numberOfThreads: 1)) { await Task.Factory.StartNew(s.GenerateReport, CancellationToken.None, TaskCreationOptions.None, sta).ConfigureAwait(false); } }