Exemplo n.º 1
0
        internal void CreateBudget()
        {
            ConsoleHelper.WriteSpacedLine("Enter a file name:");
            string fileName = Console.ReadLine();

            Console.WriteLine("Enter a path to the directory in which to save the budget:");
            string directoryPath = Console.ReadLine();

            BudgetFilePath = $@"{directoryPath}\{fileName}";
            Budget         = new JsonBudget(AddBudgetItems());
            SaveBudget();
        }
Exemplo n.º 2
0
        public void GivenBudget_WhenToJsonIsCalled_ThenBudgetInJsonFormatIsReturned()
        {
            var budget = new BudgetTestDataBuilder()
                         .WithCreatedOn(new DateTime(2019, 1, 1, 10, 10, 10))
                         .Build();

            var jsonBudget = new JsonBudget(budget);

            var jsonContent        = jsonBudget.Content;
            var deserializedBudget = jsonContent.ToBudget();

            deserializedBudget.Moneys.Should().BeEquivalentTo(budget.Moneys);
            deserializedBudget.CreatedOn.Should().Be(budget.CreatedOn);
            deserializedBudget.BaseCurrency.Should().Be(budget.BaseCurrency);
            deserializedBudget.Month.Should().Be(budget.Month);
        }
Exemplo n.º 3
0
        public async Task <ActionResult> Json(JsonBudget jsonBudget)
        {
            var currentClient = await GetCurrentClient();

            var budget = new Budget
            {
                Category = jsonBudget.category,
                Limit    = jsonBudget.limit,
                Period   = jsonBudget.period,
                ClientId = currentClient.Id
            };

            Db.Budgets.Add(budget);
            await Db.SaveChangesAsync();

            return(base.Json(new JsonBudget(budget)));
        }
Exemplo n.º 4
0
        public async Task <ActionResult> Json(int id, JsonBudget jsonBudget)
        {
            var currentClient = await GetCurrentClient();

            var budget = await Db.Budgets.FirstOrDefaultAsync(x => x.ClientId == currentClient.Id && x.Id == id);

            if (budget == null)
            {
                // if rule does not exist, create new one
                return(await Json(jsonBudget));
            }

            budget.Category = jsonBudget.category;
            budget.Limit    = jsonBudget.limit;
            budget.Period   = jsonBudget.period;
            await Db.SaveChangesAsync();

            return(base.Json(new JsonBudget(budget)));
        }
Exemplo n.º 5
0
        internal void Run()
        {
            ConsoleHelper.WriteSpacedLine("Enter Budget FilePath (including filename)");
            IBudget budget = JsonBudget.LoadBudget(Console.ReadLine());

            TimePeriodEnum summaryPeriod = ConsoleHelper.GetEnumValueFromConsoleInput <TimePeriodEnum>("Select Summary TimePeriod: ");
            DateTime       endDate;

            if (ConsoleHelper.GetBooleanInput("From Current Date?"))
            {
                endDate = DateTime.Today;
            }
            else
            {
                endDate = ConsoleHelper.GetDateInput("Enter the last date of the period to summarise");
            }

            BudgetSummariser summariser = new BudgetSummariser(budget, summaryPeriod, endDate);

            OutputSummary(summariser.BuildSummary());
        }
Exemplo n.º 6
0
 private void LoadBudget()
 {
     ConsoleHelper.WriteSpacedLine("Enter Budget FilePath (including filename)");
     BudgetFilePath = Console.ReadLine();
     Budget         = JsonBudget.LoadBudget(BudgetFilePath);
 }