Ejemplo n.º 1
0
        /// <summary>
        /// Initialises a new instance of the <see cref="ReportsViewModel"/> class.
        /// </summary>
        /// <param name="dataModel">
        /// The model object containing data set.
        /// </param>
        /// <param name="logger">the logger</param>
        public ReportsViewModel(
            IDataManager dataModel,
            IAsLogger logger)
        {
            this.PageSelector      = new List <IPageSelector>();
            this.calendarViewModel =
                new CalendarViewModel(
                    logger,
                    this.OpenEvent);
            this.eventReportViewModel =
                new EventReportViewModel(
                    dataModel.FindBeastie);

            this.CurrentWorkspace = this.calendarViewModel;

            IPageSelector calendarSelector =
                new PageSelector(
                    ReportsViewModel.CalendarSelector,
                    this.NewPage);
            IPageSelector eventSelector =
                new PageSelector(
                    ReportsViewModel.EventSelector,
                    this.NewPage);

            this.PageSelector.Add(calendarSelector);
            this.PageSelector.Add(eventSelector);

            this.NewPage(ReportsViewModel.CalendarSelector);
        }
Ejemplo n.º 2
0
 /// <summary>
 /// Initialises a new instance of the <see cref="BeastieDataFileFactory"/> class.
 /// </summary>
 /// <param name="dataManager">The data manager</param>
 public BeastieDataFileFactory(
     IAsLogger logger,
     IDataManager dataManager)
 {
     this.logger      = logger;
     this.dataManager = dataManager;
     this.LoadAll();
 }
Ejemplo n.º 3
0
        /// <summary>
        /// Initialises a new instance of the <see cref="CalendarViewModel"/> class.
        /// </summary>
        /// <param name="logger">the logger</param>
        /// <param name="openEventCommand">
        /// Command used to open an event.
        /// </param>
        public CalendarViewModel(
            IAsLogger logger,
            Action <string> openEventCommand)
        {
            this.logger           = logger;
            this.openEventCommand = openEventCommand;
            this.Years            = YearSearcher.FindRawYears();
            this.MonthSelector    = new ObservableCollection <IPageSelector>();
            this.Events           = new ObservableCollection <ICalendarItem>();

            this.monthDictionary =
                new Dictionary <string, int>()
            {
                { "Jan", 1 },
                { "Feb", 2 },
                { "Mar", 3 },
                { "Apr", 4 },
                { "May", 5 },
                { "Jun", 6 },
                { "Jul", 7 },
                { "Aug", 8 },
                { "Sept", 9 },
                { "Oct", 10 },
                { "Nov", 11 },
                { "Dev", 12 },
            };

            foreach (KeyValuePair <string, int> month in this.monthDictionary)
            {
                IPageSelector selector =
                    new PageSelector(
                        month.Key,
                        this.NewPage);

                this.MonthSelector.Add(selector);
            }

            this.yearsIndex = this.Years.Count - 1;

            string monthName =
                this.monthDictionary.FirstOrDefault(x => x.Value == DateTime.Now.Month).Key;

            this.NewPage(monthName);
        }
Ejemplo n.º 4
0
        /// <summary>
        /// Initialises a new instance of the <see cref="EventEntry"/> class.
        /// </summary>
        /// <param name="dataFileFactory">Data file factory</param>
        /// <param name="logger">the logger</param>
        public EventEntry(
            IBeastieDataFileFactory dataFileFactory,
            IAsLogger logger)
        {
            this.Observations = new ObservationManager();
            this.logger       = logger;
            this.rawPageData  =
                XmlFileIo.ReadXml <BeastiePages>(
                    $"{DataPath.BasePath}\\TestDataEntry.xml");

            // Ensure that all data files exist.
            List <string> beastieNames = new List <string>();

            foreach (Page page in this.rawPageData.Pages)
            {
                beastieNames.AddRange(page.Beasties);
            }

            dataFileFactory.CheckFiles(
                beastieNames);
        }
Ejemplo n.º 5
0
        /// <summary>
        /// Initialises a new instance of the <see cref="BodyViewModel"/> class.
        /// </summary>
        /// <param name="dataEntryModel">
        ///  The model object associated with the data entry process.
        /// </param>
        /// <param name="dataModel">
        /// The model object containing data set.
        /// </param>
        /// <param name="fileFactory">beastie file factory</param>
        /// <param name="logger">the logger</param>
        public BodyViewModel(
            IEventEntry dataEntryModel,
            IDataManager dataModel,
            IBeastieDataFileFactory fileFactory,
            IAsLogger logger)
        {
            this.configurationViewModel =
                new ConfigurationViewModel(
                    dataModel,
                    fileFactory);
            this.consistencyViewModel = new ConsistencyViewModel();
            this.reportsViewModel     =
                new ReportsViewModel(
                    dataModel,
                    logger);
            this.dataEntryViewModel =
                new DataEntryViewModel(
                    dataEntryModel,
                    dataModel.FindBeastie);

            this.currentView = this.dataEntryViewModel;

            Messenger.Default.Register <MainViewMessage>(this, this.ChangeView);
        }