public MainWindowModel(IJournalRepository journalRepository, CollectionsRepository collectionsRepository, MenuModel menu) { try { _menu = menu; _journalRepository = journalRepository; _collectionsRepository = collectionsRepository; UncheckedRecord = new UncheckedRecord(_collectionsRepository.LoadSheldue().ToList()); _saveCommand = new SaveCommand(UncheckedRecord, _journalRepository, this); _deleteCommand = new DeleteCommand(_journalRepository, this); _editCommand = new EditCommand(UncheckedRecord); JournalRecords = new RangeEnabledObservableCollection <JournalRecordViewModel>(); _refreshCommand = new RefreshCommand(this); _addCommand = new AddCommand(UncheckedRecord); _cancellCommand = new CancellCommand(UncheckedRecord); RefreshJournalRecords(); Shift = new DateShiftVM(_collectionsRepository.LoadSheldue().ToList()); Shift.PropertyChanged += CurrentShiftChanged; RefreshTotals(); LoadCollections(); } catch (Exception e) { MessageBox.Show(e.Message); } }
protected override void OnStartup(StartupEventArgs e) { base.OnStartup(e); var mainWindow = new MainWindow(); var ctx = new JournalDBEntities(); var journalRepository = new JournalRepository(ctx); var collectionsRepository = new CollectionsRepository(ctx); MenuModel menu = MenuModel.Generate(collectionsRepository); mainWindow.DataContext = new MainWindowModel(journalRepository, collectionsRepository, menu); mainWindow.Show(); }
public static MenuModel Generate(CollectionsRepository collectionsRepository) { var menu = new MenuModel(); var menuItems = new ObservableCollection <MenuItemModel>(); menu.MenuItems.Add(new MenuItemContainerModel("Отчёты", menuItems)); menuItems.Add(new MenuItemWithCommandModel("Отчёт за смену", new ShowShiftReportCommand(collectionsRepository.LoadSheldue()))); menuItems.Add(new MenuItemWithCommandModel("Время настроек и проверок", new ShowTestAndTunesReport())); menuItems.Add(new MenuItemWithCommandModel("Отчёт за месяц", new ShowMonthShiftReportCommand())); menuItems.Add(new MenuItemWithCommandModel("Отчёт за месяц краткий", new ShowShortMonthCommand())); menuItems.Add(new MenuItemWithCommandModel("Посменный отчёт за месяц(подробный)", new ShowShiftsReportCommand())); menuItems.Add(new MenuItemWithCommandModel("Посменный отчёт за месяц", new ShowMonthShiftReportCommand())); var scndLvlMnu = new ObservableCollection <MenuItemModel>(); menuItems.Add(new MenuItemContainerModel("Отчёты за период", scndLvlMnu)); scndLvlMnu.Add(new MenuItemWithCommandModel("Суммарный отчёт за период", new ShowSummaryForPeriodReportCommand())); return(menu); }