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(); }
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); }
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))); }
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))); }
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()); }
private void LoadBudget() { ConsoleHelper.WriteSpacedLine("Enter Budget FilePath (including filename)"); BudgetFilePath = Console.ReadLine(); Budget = JsonBudget.LoadBudget(BudgetFilePath); }