public void Create(BudgetAddViewModel model) { //var budget = new Budget() { Amount = model.Amount, YearMonth = model.Month }; //this._budgetRepository.Save(budget); var budget = this._budgetRepository.Read(x => x.YearMonth == model.Month); if (budget == null) { this._budgetRepository.Save(new Budgets() { Amount = model.Amount, YearMonth = model.Month }); var handler = this.Created; handler?.Invoke(this, EventArgs.Empty); } else { budget.Amount = model.Amount; this._budgetRepository.Save(budget); var handler = this.Updated; handler?.Invoke(this, EventArgs.Empty); } }
public void CreateTest_when_exist_record_should_update_budget() { #region -- 加入exist record to db -- this.InjectStubToBudgetService(); var budgetFromDb = new Budgets() { Amount = 999, YearMonth = "2017-02" }; this._budgetRepositoryStub.Read(Arg.Any <Func <Budgets, bool> >()).ReturnsForAnyArgs(budgetFromDb); #endregion #region -- 輸入資料 -- var model = new BudgetAddViewModel { Amount = 2000, Month = "2017-02" }; //確認event是否有被正確觸發 var wasUpdated = false; this._budgetService.Updated += (sender, args) => { wasUpdated = true; }; #endregion #region -- 執行建立動作 -- this._budgetService.Create(model); #endregion this._budgetRepositoryStub.Received().Save(Arg.Is <Budgets>(x => x == budgetFromDb && x.Amount == 2000)); Assert.IsTrue(wasUpdated); }
public void CreateTest_when_exist_record_should_update_budget() { InjectSutbToBudgetService(); var budgetFromDb = new Budgets { Amount = 999, YearMonth = "2017-02" }; budgetRepositoryStub.Read(Arg.Any <Func <Budgets, bool> >()) .ReturnsForAnyArgs(budgetFromDb); var model = new BudgetAddViewModel { Amount = 2000, Month = "2017-02" }; var wasCreate = false; budgetServices.Updated += (sender, args) => { wasCreate = true; }; this.budgetServices.Create(model); budgetRepositoryStub.Received() .Save(Arg.Is <Budgets>(x => x == budgetFromDb && x.Amount == 2000)); Assert.IsTrue(wasCreate); }
public ActionResult Add(BudgetAddViewModel model) { this.budgetService.Created += (sender, e) => { ViewBag.Message = "added successfully"; }; this.budgetService.Updated += (sender, e) => { ViewBag.Message = "updated successfully"; }; this.budgetService.Create(model); return(View(model)); }
public void Create(BudgetAddViewModel model) { var budget = new Budget() { Amount = model.Amount, YearMonth = model.Month }; this._budgetRepository.Save(budget); }
/// <summary> /// Updates the budget. /// </summary> /// <param name="model">The model.</param> /// <param name="budget">The budget.</param> private void UpdateBudget(BudgetAddViewModel model, Budgets budget) { budget.Amount = model.Amount; this._budgetRepository.Save(budget); var handler = this.Updated; handler?.Invoke(this, EventArgs.Empty); }
public void AddTest_add_budget_successfully_should_invoke_budgetService_Create_one_time() { _budgetController = new BudgetController(budgetServiceStub); var model = new BudgetAddViewModel { Amount = 2000, Month = "2017-02" }; var result = _budgetController.Add(model); budgetServiceStub.Received().Create(Arg.Is <BudgetAddViewModel>(x => x.Amount == 2000 && x.Month == "2017-02")); }
public void CreateTest_should_invoke_repository_one_time() { this._budgetService = new BudgetService(_budgetRepositoryStub); var model = new BudgetAddViewModel { Amount = 2000, Month = "2017-02" }; this._budgetService.Create(model); _budgetRepositoryStub.Received() .Save(Arg.Is <Budget>(x => x.Amount == 2000 && x.YearMonth == "2017-02")); }
/// <summary> /// Adds the budget. /// </summary> /// <param name="model">The model.</param> private void AddBudget(BudgetAddViewModel model) { this._budgetRepository.Save(new Budgets() { Amount = model.Amount, YearMonth = model.Month }); var handler = this.Created; handler?.Invoke(this, EventArgs.Empty); }
public ActionResult Add(BudgetAddViewModel model) { // If...else 放到service中寫,並且由service引發事件 // 而事件的委派內容由Controller決定 // 如果把if...else寫在controller中,有20個地方要用到,每一次都要加if...else this.budgetService.Created += (sender, e) => { ViewBag.Message = "added successfully"; }; this.budgetService.Updated += (sender, e) => { ViewBag.Message = "updated successfully"; }; budgetService.Create(model); return(View(model)); }
public void Create(BudgetAddViewModel model) { using (var dbcontext = new NorthwindEntities()) { var budget = new Budget() { Amount = model.Amount, YearMonth = model.Month }; dbcontext.Budgets.Add(budget); dbcontext.SaveChanges(); } }
public async Task <IActionResult> Add([FromBody] BudgetAddViewModel model) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } // confirm user exists var user = await _userManager.GetUserAsync(HttpContext.User); if (user == null) { return(BadRequest(Errors.AddErrorToModelState( "add_budget_failure", "Unable to find a user for this budget", ModelState))); } // add var newBudget = new Budget { Name = model.Name, IsActive = true, User = user, UserId = user.Id }; _db.Budgets.Add(newBudget); await _db.SaveChangesAsync(); // add first snapshot always 0 est and 0 act var newSnapshot = new Snapshot { Date = model.StartDate, ActualBalance = 0, EstimatedBalance = 0, Budget = newBudget, BudgetId = newBudget.Id }; _db.Snapshots.Add(newSnapshot); await _db.SaveChangesAsync(); // return both results var result = new { BudgetId = newBudget.Id, SnapshotId = newSnapshot.Id }; return(new OkObjectResult(result)); }
public ActionResult Add(BudgetAddViewModel model) { using (var dbcontext = new NorthwindEntities()) { var budget = new Budget { Amount = model.Amount, YearMonth = model.Month }; dbcontext.Budgets.Add(budget); dbcontext.SaveChanges(); } ViewBag.Message = "added successfully"; return(View(model)); }
public void CreateTest_should_invoke_repository_one_time() { // test event 的結果 _budgetService = new BudgetService(_budgetRepositoryStub); var wasCreated = false; _budgetService.Created += (sender, e) => wasCreated = true; var model = new BudgetAddViewModel { Amount = 2000, Month = "2017-02" }; _budgetService.Create(model); _budgetRepositoryStub.Received().Save(Arg.Is <Budget>(x => x.Amount == 2000 && x.YearMonth == "2017-02")); Assert.IsTrue(wasCreated); }
public void CreateTest_should_invoke_repository_one_time() { InjectSutbToBudgetService(); var model = new BudgetAddViewModel { Amount = 2000, Month = "2017-02" }; var wasCreate = false; budgetServices.Created += (sender, args) => { wasCreate = true; }; budgetServices.Create(model); budgetRepositoryStub.Received().Save(Arg.Is <Budgets>(a => a.Amount == 2000 && a.YearMonth == "2017-02")); Assert.IsTrue(wasCreate); }
public void CreateTest_should_invoke_repository_one_time() { this._budgetService = new BudgetService(_budgetRepositoryStub); var model = new BudgetAddViewModel { Amount = 2000, Month = "2017-02" }; var wasCreate = false; this._budgetService.Created += (sender, args) => { wasCreate = true; }; this._budgetService.Create(model); _budgetRepositoryStub.Received() .Save(Arg.Is <Budgets>(x => x.Amount == 2000 && x.YearMonth == "2017-02")); Assert.IsTrue(wasCreate); }
public void CreateTest_when_exist_record_should_update_budget() { this._budgetService = new BudgetService(_budgetRepositoryStub); var budgetFromDb = new Budget { Amount = 999, YearMonth = "2017-02" }; _budgetRepositoryStub.Read(Arg.Any <Func <Budget, bool> >()).ReturnsForAnyArgs(budgetFromDb); var model = new BudgetAddViewModel { Amount = 2000, Month = "2017-02" }; var wasUpdated = false; this._budgetService.Updated += (sender, args) => wasUpdated = true; this._budgetService.Create(model); _budgetRepositoryStub.Received().Save(Arg.Is <Budget>(x => x == budgetFromDb && x.Amount == 2000)); Assert.IsTrue(wasUpdated); }
public void CreateTest_when_exist_record_should_update_budget() { this._service = new BudgetService(_budgetRepository); var budgetFromDb = new Budgets { Amount = 999, YearMonth = "2017-02" }; _budgetRepository.Read(Arg.Any <Func <Budgets, bool> >()) .ReturnsForAnyArgs(budgetFromDb); var model = new BudgetAddViewModel { Amount = 2000, Month = "2017-02" }; //act this._service.Create(model); //assert _budgetRepository.Received() .Save(Arg.Is <Budgets>(x => x == budgetFromDb && x.Amount == 2000)); }
/// <summary> /// Creates the specified model. /// </summary> /// <param name="model">The model.</param> public void Create(BudgetAddViewModel model) { #region -- V1 存入DB -- //var budget = new Budgets() { Amount = model.Amount, YearMonth = model.Month }; //this._budgetRepository.Save(budget); #endregion var budget = this._budgetRepository.Read(x => x.YearMonth == model.Month); ////資料不存在 if (budget == null) { this.AddBudget(model); } ////資料已經存在 else { this.UpdateBudget(model, budget); } }
public ActionResult Add(BudgetAddViewModel model) { this.budgetServiceStub.Create(model); ViewBag.Message = "added successfully"; return(View(model)); }
public ActionResult Add(BudgetAddViewModel model) { ViewBag.Message = "added successfully"; return(View(model)); }