public MongoDbExporterOld()
 {
     this.reportGenerator = new SalesReportForPeriod();
 }
 public MongoDbExporter()
 {
     this.mnogoClient = new MongoClient(ConnectionUri);
     this.supermarketsDb = this.mnogoClient.GetDatabase("supermarkets");
     this.reportGenerator = new SalesReportForPeriod();
 }
        private void Search(object sender, EventArgs e)
        {
            var searchOption = (SearchOption)this.comboSearchBy.SelectedItem;
            System.Threading.Tasks.Task.Run(() =>
            {
                using (var salesReportProvider = new SalesReportForPeriod())
                {
                    switch (searchOption)
                    {
                        case SearchOption.ExactDate:
                            this.sales = salesReportProvider.
                                GetSalesOn(this.dateMain.Value).
                                ToArray();
                            break;
                        case SearchOption.BeforeDate:
                            this.sales = salesReportProvider.
                                GetSalesBefore(this.dateMain.Value).
                                ToArray();
                            break;
                        case SearchOption.AfterDate:
                            this.sales = salesReportProvider.
                                GetSalesAfter(this.dateMain.Value).
                                ToArray();
                            break;
                        case SearchOption.BetweenDates:
                            this.sales = salesReportProvider.
                                GetSalesBetween(this.dateMain.Value, this.dateHelper.Value).
                                ToArray();
                            break;
                    }

                    this.dataGridViewSales.Invoke((Action)UpdateSalesGrid);
                }
            });
        }