Exemplo n.º 1
0
        public async Task <IActionResult> Register(RegisterViewModel rvm)
        {
            if (ModelState.IsValid)
            {
                ApplicationUser user = new ApplicationUser()
                {
                    UserName  = rvm.Email,
                    Email     = rvm.Email,
                    FirstName = rvm.FirstName,
                    LastName  = rvm.LastName
                };

                var result = await _userManager.CreateAsync(user, rvm.Password);

                UserBasket newUserBasket = new UserBasket();
                newUserBasket.UserID = user.Email;

                _context.UserBasket.Add(newUserBasket);
                await _context.SaveChangesAsync();

                if (result.Succeeded)
                {
                    Claim fullNameClaim = new Claim("FullName", $"{user.FirstName} {user.LastName}");

                    Claim emailClaim = new Claim("Email", user.Email, ClaimValueTypes.Email);

                    List <Claim> myclaims = new List <Claim>()
                    {
                        fullNameClaim,
                        emailClaim
                    };

                    await _userManager.AddClaimsAsync(user, myclaims);

                    await _signInManager.SignInAsync(user, isPersistent : false);

                    string subject = "Registration";

                    string msg = "<p>Thank you for registering for a new account with Bear Mountain</p>";

                    await _email.SendEmailAsync(rvm.Email, subject, msg);

                    return(RedirectToAction("Index", "Home"));
                }
            }

            return(View());
        }
Exemplo n.º 2
0
 /// <summary>
 /// Adds the basket item.
 /// </summary>
 /// <param name="item">The item.</param>
 /// <returns>Returns a task</returns>
 public async Task AddBasketItem(BasketItem item)
 {
     _context.BasketItems.Add(item);
     await _context.SaveChangesAsync();
 }
Exemplo n.º 3
0
 /// <summary>
 /// Creates the product.
 /// </summary>
 /// <param name="product">The product.</param>
 /// <returns>Returns a task</returns>
 public async Task CreateProduct(Product product)
 {
     _context.Products.Add(product);
     await _context.SaveChangesAsync();
 }
Exemplo n.º 4
0
        public async Task <IActionResult> Receipt(string userName)
        {
            var basketItems = await _cart.GetAllItemsFromBasket();

            List <BasketItem> checkOut = new List <BasketItem>();

            foreach (var item in basketItems)
            {
                if (item.CheckedOut == false)
                {
                    checkOut.Add(item);
                    item.CheckedOut = true;
                    await _cart.UpdateBasketItem(item);

                    await _context.SaveChangesAsync();
                }
            }

            string subject = "Order Confirmation";

            string msg = "<table><th>Product</th><th>Quantity</th><th>Price</th>";

            decimal total = 0m;

            foreach (var item in checkOut)
            {
                var product = await _product.GetProductById(item.ProductID);

                total += (product.Price * item.Quantity);
                msg   += $"<tr><td>{product.Name}</td><td>{item.Quantity}</td><td>${product.Price}</td></tr>";
            }

            msg += $"<tr><td></td><td>Total:</td><td>${total}</td></tr></table>";

            await _email.SendEmailAsync(userName, subject, msg);

            List <Product> products = new List <Product>();

            foreach (var item in checkOut)
            {
                var product = await _product.GetProductById(item.ProductID);

                products.Add(product);
            }

            var col = checkOut.Zip(products, (x, y) => new { BasketItem = x, Product = y });
            List <BasketViewModel> BVMList = new List <BasketViewModel>();

            foreach (var item in col)
            {
                BasketViewModel BVM = new BasketViewModel();
                BVM.SKU         = item.Product.SKU;
                BVM.Name        = item.Product.Name;
                BVM.Price       = item.Product.Price;
                BVM.Description = item.Product.Description;
                BVM.Image       = item.Product.Image;
                BVM.ProductID   = item.Product.ID;

                BVM.Quantity     = item.BasketItem.Quantity;
                BVM.CheckedOut   = item.BasketItem.CheckedOut;
                BVM.ID           = item.BasketItem.ID;
                BVM.UserBasketID = item.BasketItem.UserBasketID;
                BVMList.Add(BVM);
            }
            return(View(BVMList));
        }