public void SaveSpecialOrderShouldSaveOrderCorrect() { var options = new DbContextOptionsBuilder <WAGDbContext>() .UseInMemoryDatabase(databaseName: "Save_Special_Order_Db") .Options; var dbContext = new WAGDbContext(options); var user = new WAGUser() { UserName = "******", }; dbContext.Users.Add(user); dbContext.SaveChanges(); var makeSpecialOrderViewModel = new MakeSpecialOrderViewModel() { OrderInfo = "Test order info" }; var service = new OrderService(dbContext, null); service.SaveSpecialOrder(user, makeSpecialOrderViewModel); var savedSpecialOrder = dbContext.Orders.FirstOrDefault(); Assert.NotNull(savedSpecialOrder); Assert.Equal(makeSpecialOrderViewModel.OrderInfo, savedSpecialOrder.OrderInfo); Assert.Equal(user, savedSpecialOrder.WAGUser); }
public IActionResult MakeSpecialOrder(MakeSpecialOrderViewModel makeSpecialOrderViewModel) { if (!ModelState.IsValid) { return(this.View(makeSpecialOrderViewModel)); } var currUser = this.UserAccountService.GetCurrentUser(HttpContext); this.OrderService.SaveSpecialOrder(currUser, makeSpecialOrderViewModel); return(RedirectToAction("Success", "Home")); }
public void SaveSpecialOrder(WAGUser user, MakeSpecialOrderViewModel makeSpecialOrderViewModel) { if (makeSpecialOrderViewModel.TelephoneNumberForContact == null) { makeSpecialOrderViewModel.TelephoneNumberForContact = user.PhoneNumber; } if (makeSpecialOrderViewModel.DeliveryAddress == null) { makeSpecialOrderViewModel.DeliveryAddress = user.Address; } var order = new Order() { WAGUser = user, OrderInfo = makeSpecialOrderViewModel.OrderInfo, TelephoneNumberForContact = makeSpecialOrderViewModel.TelephoneNumberForContact, DeliveryAddress = makeSpecialOrderViewModel.DeliveryAddress, CreatedOn = DateTime.UtcNow }; this.DbContext.Orders.Add(order); this.DbContext.SaveChanges(); }