private void CreateAndSaveWeeklyReport()
        {
            SaveFileDialog saveFileDialog = new SaveFileDialog();

            saveFileDialog.Filter           = "PDF file (*.pdf)|*.pdf";
            saveFileDialog.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
            saveFileDialog.FileName         = "Weekly-Inventory-Report-" + SelectedWeeklyReportDate.ToString("yyyy-MM-dd");
            var lastWeekReportLocation = Properties.Settings.Default.LastWeekReportSaveFolder;

            if (!string.IsNullOrWhiteSpace(lastWeekReportLocation) && Directory.Exists(Path.GetDirectoryName(lastWeekReportLocation)))
            {
                saveFileDialog.RestoreDirectory = true;
                saveFileDialog.InitialDirectory = lastWeekReportLocation;
            }
            if (saveFileDialog.ShowDialog() == true)
            {
                try
                {
                    var generator = new ReportPDFGenerator();
                    //generator.PageSize = GetPaperSize();
                    //generator.BarcodeType = GetBarcodeType();
                    //generator.NumberOfPages = NumberOfPages;
                    generator.GeneratePDF(CurrentWeeklySalesReport, saveFileDialog.FileName);
                    Properties.Settings.Default.LastWeekReportSaveFolder = Path.GetDirectoryName(saveFileDialog.FileName);
                }
                catch (Exception)
                {
                    MessageBox.Show("Error generating PDF! Please make sure to close the PDF with the same name" +
                                    " if it is open in Adobe or other software before generating a PDF report.", "Error!", MessageBoxButton.OK);
                }
            }
        }
        private void LoadViewPurchaseDetailsScreenForWeek(ReportItemSold reportForItem)
        {
            _isViewingDailyReportInfo       = false;
            _lastDailyReportInfoInventoryID = reportForItem.InventoryItemID;
            var userToFilterBy = WeeklyReportUserChoiceIndex == 0 ? null : _users[WeeklyReportUserChoiceIndex - 1];

            PushViewModel(new ViewItemSoldInfoViewModel(ViewModelChanger, SelectedWeeklyReportDate,
                                                        SelectedWeeklyReportDate.AddDays(6), reportForItem, userToFilterBy)
            {
                CurrentUser = CurrentUser, DeletedItemSoldInfoListener = this
            });
        }