public async Task SelectAll()
        {
            IEnumerable <OverShortDetailsEX> lst = null;

            using (var ctx = new OverShortDetailsEXRepository())
            {
                lst = await ctx.GetOverShortDetailsByExpressionNav(vloader.FilterExpression, vloader.NavigationExpression).ConfigureAwait(continueOnCapturedContext: false);
            }
            SelectedOverShortDetails = new ObservableCollection <OverShortDetailsEX>(lst);
        }
        private async Task <IEnumerable <OverShortDetailsEX> > GetBadMatchLst()
        {
            using (var ctx = new OverShortDetailsEXRepository())
            {
                var lst = await ctx.GetOverShortDetailsByExpressionNav("All",
                                                                       new Dictionary <string, string>()
                {
                    {
                        "EX", "(Duration > 15) || (AsycudaMonth != InvoiceMonth)"
                    }
                }).ConfigureAwait(false);

                return(lst);
            }
        }
// Send to Excel Implementation


        public async Task Send2Excel()
        {
            IEnumerable <OverShortDetailsEX> lst = null;

            using (var ctx = new OverShortDetailsEXRepository())
            {
                lst = await ctx.GetOverShortDetailsByExpressionNav(vloader.FilterExpression, vloader.NavigationExpression).ConfigureAwait(continueOnCapturedContext: false);
            }
            if (lst == null || !lst.Any())
            {
                MessageBox.Show("No Data to Send to Excel");
                return;
            }
            var s = new ExportToExcel <OverShortDetailsEXExcelLine, List <OverShortDetailsEXExcelLine> >
            {
                dataToPrint = lst.Select(x => new OverShortDetailsEXExcelLine
                {
                    ReceivedQty = x.ReceivedQty,


                    ItemNumber = x.ItemNumber,


                    ItemDescription = x.ItemDescription,


                    Cost = x.Cost,


                    InvoiceQty = x.InvoiceQty,


                    Status = x.Status,


                    ReceivedValue = x.ReceivedValue,


                    InvoiceValue = x.InvoiceValue
                }).ToList()
            };

            using (var sta = new StaTaskScheduler(numberOfThreads: 1))
            {
                await Task.Factory.StartNew(s.GenerateReport, CancellationToken.None, TaskCreationOptions.None, sta).ConfigureAwait(false);
            }
        }