Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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"));
        }
Ejemplo n.º 3
0
        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();
        }