// Send to Excel Implementation


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

            using (var ctx = new CounterPointPOsRepository())
            {
                lst = await ctx.GetCounterPointPOsByExpressionNav(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 <CounterPointPOsExcelLine, List <CounterPointPOsExcelLine> >
            {
                dataToPrint = lst.Select(x => new CounterPointPOsExcelLine
                {
                    PurchaseOrderNo = x.PurchaseOrderNo,


                    Date = x.Date,


                    LineNumber = x.LineNumber,


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

            using (var sta = new StaTaskScheduler(numberOfThreads: 1))
            {
                await Task.Factory.StartNew(s.GenerateReport, CancellationToken.None, TaskCreationOptions.None, sta).ConfigureAwait(false);
            }
        }
        public async Task SelectAll()
        {
            IEnumerable <CounterPointPOs> lst = null;

            using (var ctx = new CounterPointPOsRepository())
            {
                lst = await ctx.GetCounterPointPOsByExpressionNav(vloader.FilterExpression, vloader.NavigationExpression).ConfigureAwait(continueOnCapturedContext: false);
            }
            SelectedCounterPointPOs = new ObservableCollection <CounterPointPOs>(lst);
        }