public BudgetDetailsViewModelFactory(
     ILoggerFactory loggerFactory,
     IBudgetService budgetService,
     IBudgetTransactionListViewModelFactory budgetTransactionListViewModelFactory)
 {
     m_loggerFactory = loggerFactory;
     m_budgetService = budgetService;
     m_budgetTransactionListViewModelFactory = budgetTransactionListViewModelFactory;
 }
        public BudgetCreateViewModel(
            ILoggerFactory loggerFactory,
            IBudgetService budgetService,
            IBudgetTransactionListViewModelFactory budgetTransactionListViewModelFactory) : base(budgetService, budgetTransactionListViewModelFactory, 0)
        {
            m_logger = loggerFactory.CreateLogger <BudgetCreateViewModel>();

            Name           = "New Budget";
            SelectedPeriod = BudgetPeriod.Fortnightly;
        }
        public BudgetEditViewModel(
            ILoggerFactory loggerFactory,
            IBudgetService budgetService,
            IBudgetTransactionListViewModelFactory budgetTransactionListViewModelFactory,
            int budgetId) : base(budgetService, budgetTransactionListViewModelFactory, budgetId)
        {
            m_logger = loggerFactory.CreateLogger <BudgetEditViewModel>();

            Budget budget = m_budgetService.Get(m_budgetId);

            Name           = budget.Name;
            SelectedPeriod = budget.Period;
        }
        public BudgetDetailsBaseViewModel(
            IBudgetService budgetService,
            IBudgetTransactionListViewModelFactory budgetTransactionListViewModelFactory,
            int budgetId)
        {
            m_budgetService = budgetService;
            m_budgetTransactionListViewModelFactory = budgetTransactionListViewModelFactory;

            m_budgetId = budgetId;

            Periods = Enum.GetValues(typeof(BudgetPeriod)).Cast <BudgetPeriod>();

            TransactionListViewModel = m_budgetTransactionListViewModelFactory.Create(m_budgetId);
        }