예제 #1
0
        public void PlaceOrder()
        {
            // Get cart list
            List <CartVM> cart = Session["cart"] as List <CartVM>;

            // Get username
            string username = User.Identity.Name;

            int orderId = 0;

            using (Db db = new Db())
            {
                // Init OrderDTO
                OrderDTO orderDTO = new OrderDTO();

                // Get user id
                var q      = db.Users.FirstOrDefault(x => x.Username == username);
                int userId = q.Id;

                // Add to OrderDTO and save
                orderDTO.UserId    = userId;
                orderDTO.CreatedAt = DateTime.Now;

                db.Orders.Add(orderDTO);

                db.SaveChanges();

                // Get inserted id
                orderId = orderDTO.OrderId;

                // Init OrderDetailsDTO
                OrderDetailsDTO orderDetailsDTO = new OrderDetailsDTO();

                // Add to OrderDetailsDTO
                foreach (var item in cart)
                {
                    orderDetailsDTO.OrderId   = orderId;
                    orderDetailsDTO.UserId    = userId;
                    orderDetailsDTO.ProductId = item.ProductId;
                    orderDetailsDTO.Quantity  = item.Quantity;

                    db.OrderDetails.Add(orderDetailsDTO);

                    db.SaveChanges();
                }
            }


            // Email admin
            var client = new SmtpClient("smtp.mailtrap.io", 2525)
            {
                Credentials = new NetworkCredential("71e20e72e4faa6", "558326e3bbf027"),
                EnableSsl   = true
            };

            client.Send("*****@*****.**", "*****@*****.**", "New Order", "You have a new order. Order number " + orderId);

            // Reset session
            Session["cart"] = null;
        }
예제 #2
0
        public void PlaceOrder()
        {
            // Get cart list
            List <CartVM> cart = Session["cart"] as List <CartVM>;

            // Get username
            string username = User.Identity.Name;

            int orderId = 0;

            using (TicketAppDB db = new TicketAppDB())
            {
                // Init OrderDTO
                OrderDTO orderDTO = new OrderDTO();

                // Get user id
                var q      = db.Users.FirstOrDefault(x => x.Username == username);
                int userId = q.Id;

                // Add to OrderDTO and save
                orderDTO.UserId    = userId;
                orderDTO.CreatedAt = DateTime.Now;

                db.Orders.Add(orderDTO);

                db.SaveChanges();

                // Get inserted id
                orderId = orderDTO.OrderId;

                // Init OrderDetailsDTO
                OrderDetailsDTO orderDetailsDTO = new OrderDetailsDTO();
                // Add to OrderDetailsDTO
                foreach (var item in cart)
                {
                    orderDetailsDTO.OrderId   = orderId;
                    orderDetailsDTO.UserId    = userId;
                    orderDetailsDTO.ProductId = item.ProductId;
                    orderDetailsDTO.Quantity  = item.Quantity;
                    ProductDTO prod = db.Products.Where(x => x.Id == orderDetailsDTO.ProductId).FirstOrDefault();
                    prod.IsSold = true;
                    db.OrderDetails.Add(orderDetailsDTO);

                    db.SaveChanges();
                }
            }

            // Email admin
            var client = new SmtpClient("smtp.mailtrap.io", 2525)
            {
                Credentials = new NetworkCredential("90b88b746f7644", "fe9c04ebbf4216"),
                EnableSsl   = true
            };

            client.Send("*****@*****.**", "*****@*****.**", "New Order", "You have a new order. Order number " + orderId);


            // Reset session
            Session["cart"] = null;
        }
예제 #3
0
 /// <summary>
 /// Детали заказа для обновления данных
 /// </summary>
 /// <param name="OrderID"></param>
 public OrderDetailsDTO OrderDetails(int OrderID)
 {
     try
     {
         var             o     = Data.OrderDetails(OrderID);
         OrderDetailsDTO order = new OrderDetailsDTO();
         order.OrderID        = o.OrderID;
         order.CustomerID     = o.CustomerID;
         order.EmployeeID     = o.EmployeeID;
         order.OrderDate      = o.OrderDate;
         order.RequiredDate   = o.RequiredDate;
         order.ShippedDate    = o.ShippedDate;
         order.ShipVia        = o.ShipVia;
         order.Freight        = o.Freight;
         order.ShipName       = o.ShipName;
         order.ShipAddress    = o.ShipAddress;
         order.ShipCity       = o.ShipCity;
         order.ShipRegion     = o.ShipRegion;
         order.ShipPostalCode = o.ShipPostalCode;
         order.ShipCountry    = o.ShipCountry;
         order.OrderStatus    = o.OrderStatus.ToString();
         order.ProductID      = o.ProductID;
         order.ProductName    = o.ProductName;
         order.Quantity       = o.Quantity;
         order.UnitPrice      = o.UnitPrice;
         order.Discount       = o.Discount;
         return(order);
     }
     catch (ArgumentException ex)
     {
         throw new ValidationException(ex.Message, ex.ParamName);
     }
 }
        public IHttpActionResult GetOrder_DetailId(int id)
        {
            OrderDetailsDTO list = db.Order_Details.Where(a => a.OrderID == id).Select(e => new OrderDetailsDTO()
            {
                OrderID   = e.OrderID,
                ProductID = e.ProductID,
                Product   = new ProductDTO()
                {
                    ProductID   = e.Product.ProductID,
                    ProductName = e.Product.ProductName
                },
                UnitPrice = e.UnitPrice,
                Quantity  = e.Quantity,
                Discount  = e.Discount
            }).FirstOrDefault();

            if (list != null)
            {
                return(Ok(list));
            }
            else
            {
                return(NotFound());
            }
        }
예제 #5
0
        public void Execute(Guid id)
        {
            OrderDetailsDTO orderDetailsDTO = _orderDetailsRepository.Execute(id);

            if (orderDetailsDTO is null)
            {
                return;
            }

            OrderModel orderModel = OrderModel.Factory.Load(
                orderDetailsDTO.Id,
                orderDetailsDTO.TableId,
                orderDetailsDTO.OrderNumber,
                orderDetailsDTO.Status,
                orderDetailsDTO.OpenDate,
                orderDetailsDTO.ClosingDate
                );

            if (orderModel.Status != EOrderStatus.Open)
            {
                return;
            }
            orderModel.CloseOrder();

            _closeOrderRepository.Execute(orderModel);
        }
        public async Task <ActionResult> PlaceOrder(IEnumerable <CartItem> items)
        {
            if (!AccessToken.Valid())
            {
                return(RedirectToAction("Login", "Account"));
            }
            Cart cart = new Cart();

            cart.CartItems = items.ToList();

            OrderDetailsDTO order = await bookstoreService.CreateNewOrder(cart, AccessToken.Get());

            if (order == null)
            {
                TempData["OrderStatus"] = false;
            }
            else
            {
                TempData["OrderStatus"]  = true;
                TempData["CreatedOrder"] = order;
                TempData["Cart"]         = cart;
                Session.Remove("Cart");
            }

            return(RedirectToAction("OrderCreatedResult", "Order"));
        }
예제 #7
0
        public async Task <OrderDetailsDTO> SaveOrderDetails(OrderDetailsDTO details)
        {
            var content     = JsonConvert.SerializeObject(details);
            var bodyContent = new StringContent(content, Encoding.UTF8, "application/json");
            var response    = await _httpClient.PostAsync("/api/order/create", bodyContent);

            //string res = response.Content.ReadAsStringAsync().Result; // Need for debugging

            if (response.IsSuccessStatusCode)
            {
                var contentTemp = await response.Content.ReadAsStringAsync();

                var result = JsonConvert.DeserializeObject <OrderDetailsDTO>(contentTemp);

                return(result);
            }
            else
            {
                var contentTemp = await response.Content.ReadAsStringAsync();

                var error = JsonConvert.DeserializeObject <Error>(contentTemp);

                throw new Exception(error.ErrorMessage);
            }
        }
예제 #8
0
        public async Task <IActionResult> PaymentSuccessful([FromBody] OrderDetailsDTO details)
        {
            var service        = new SessionService();
            var sessionDetails = service.Get(details.StripeSessionId);

            if (sessionDetails.PaymentStatus == "paid")
            {
                var result = await _orderRepository.MarkPaymentSuccessful(details.Id);

                if (result == null)
                {
                    return(BadRequest(new Error()
                    {
                        ErrorMessage = "Can't mark payment as successful"
                    }));
                }

                await _emailSender.SendEmailAsync(details.Email, "Booking Confirmed!",
                                                  "Congratulation! Your booking has been confirmed! Your order ID: " + details.Id);

                return(Ok(result));
            }
            else
            {
                return(BadRequest(new Error()
                {
                    ErrorMessage = "Can't mark payment as successful"
                }));
            }
        }
예제 #9
0
        public void AddDetails(OrderDetailsDTO orderDetails)
        {
            var currentOrder = GetCurrentOrder(orderDetails.UserId);
            var details      = new OrderDetails {
                DishId = orderDetails.DishId, Quantity = orderDetails.Quantity
            };

            if (currentOrder == null)
            {
                var order = new Order {
                    UserId = orderDetails.UserId
                };
                Create(order);
                details.OrderId = order.OrderId;
            }
            else
            {
                details.OrderId = currentOrder.OrderId;
            }

            CreateOrderDetails(details);

            var orderToUpdate = _unitOfWork.GetRepository <Order>().Get(order => order.OrderId == details.OrderId, TrackingState.Enabled, "OrderDetails.Dish");

            orderToUpdate.TotalValue = GetOrderValue(GetDetailsForOrder(orderToUpdate.OrderId));

            _unitOfWork.Save();
        }
예제 #10
0
        public OrderDetails Buscar(int id)
        {
            OrderDetails Order = new OrderDetailsDTO().GetDTO(id);

            Order._Product = new ProductsDTO().GetDTO(Order.ProductId);
            return(Order);
        }
예제 #11
0
        public ActionResult OrderDetailEdit(OrderDetailsDTO row)
        {
            // Check model state
            if (!ModelState.IsValid)
            {
                TempData["FM"] = "Edit fail - input invalid";
                return(RedirectToAction("OrderOverview"));
            }
            OrderDetailsDTO dto;

            using (Db db = new Db())
            {
                dto = db.OrderDetails.Where(x => x.OrderId == row.OrderId && x.ProductId == row.ProductId && x.UserId == x.UserId).FirstOrDefault();

                //set preqty for logging
                int preQty  = dto.Quantity;
                int preTQty = dto.TeachersCopyQty;

                dto.Quantity        = row.Quantity;
                dto.TeachersCopyQty = row.TeachersCopyQty;
                db.SaveChanges();

                preUni.logging(User.Identity.Name, "Edit order : " + dto.Order.OrderNo + "/" + dto.Product.ProductYear + "/" + dto.Product.ProductName + " - " + preQty + " -> " + row.Quantity + " | " + preTQty + " -> " + row.TeachersCopyQty);
            }
            return(RedirectToAction("OrderOverview"));
        }
예제 #12
0
        public async Task <OrderDetailsDTO> GetOrderAsync(int orderId)
        {
            var order = await this.db
                        .Orders
                        .Where(o => o.Id == orderId)
                        .Include(o => o.User)
                        .Include(o => o.Items)
                        .FirstOrDefaultAsync();

            if (order == null)
            {
                return(null);
            }

            var model = new OrderDetailsDTO
            {
                UserFirstName   = order.User.FirstName,
                UserLastName    = order.User.LastName,
                DeliveryAddress = order.DeliveryAddress,
                Status          = order.Status,
                Date            = order.Date,
                Items           = order.Items
                                  .AsQueryable()
                                  .ProjectTo <ItemDTO>(mapper.ConfigurationProvider)
                                  .ToList()
            };

            return(model);
        }
예제 #13
0
        // GET: Admin/Shop/DeleteProduct/id
        public ActionResult DeleteProduct(int id)
        {
            string product = "";

            // Delete product from DB
            using (TicketAppDB db = new TicketAppDB())
            {
                ProductDTO dto = db.Products.Find(id);
                PdfDTO     pdf = db.Pdfs.Where(x => x.ProductId == id).FirstOrDefault();
                product = dto.Name;
                PhotoDTO photo = db.Photos.Where(x => x.ProductId == id).FirstOrDefault();
                //Determine if product is an order
                if (db.OrderDetails.Any(x => x.ProductId == id))
                {
                    OrderDetailsDTO dte = db.OrderDetails.Where(x => x.ProductId == id).FirstOrDefault();
                    OrderDTO        ord = db.Orders.Where(x => x.OrderId == dte.OrderId).FirstOrDefault();
                    db.OrderDetails.Remove(dte);
                    db.Orders.Remove(ord);
                }
                db.Pdfs.Remove(pdf);
                db.Photos.Remove(photo);
                db.Products.Remove(dto);

                db.SaveChanges();
            }

            TempData["SM"] = "You have deleted '" + product + "'!";
            // Redirect
            return(RedirectToAction("Products", "Shop"));
        }
예제 #14
0
        public void PlaceOrder()
        {
            //get the cart list
            List <CartVM> cart = Session["cart"] as List <CartVM>;

            //get the username
            string username = User.Identity.Name;

            //init orderId
            int orderId = 0;

            using (Db db = new Db())
            {
                //init OrderDTO
                OrderDTO orderDTO = new OrderDTO();

                //get UserId
                var q      = db.Users.FirstOrDefault(x => x.Username == username);
                int userId = q.Id;

                //add to OrderDTO and save
                orderDTO.UserId    = userId;
                orderDTO.CreatedAt = DateTime.Now;

                db.Orders.Add(orderDTO);

                db.SaveChanges();

                //get inserted id
                orderId = orderDTO.OrderId;

                //init OrderDetailsDTO
                OrderDetailsDTO orderDetailsDTO = new OrderDetailsDTO();

                //add OrderDetailsDTO
                foreach (var item in cart)
                {
                    orderDetailsDTO.OrderId   = orderId;
                    orderDetailsDTO.UserId    = userId;
                    orderDetailsDTO.ProductId = item.ProductId;
                    orderDetailsDTO.Quantity  = item.Quantity;

                    db.OrderDetails.Add(orderDetailsDTO);

                    db.SaveChanges();
                }
            }

            //email admin
            var client = new SmtpClient("smtp.mailtrap.io", 2525)
            {
                Credentials = new NetworkCredential("889fbcc13a5285", "9ff3e373361b22"),
                EnableSsl   = true
            };

            client.Send("*****@*****.**", "*****@*****.**", "New order", "You have a new order. Order number is: " + orderId);

            //reset session
            Session["cart"] = null;
        }
예제 #15
0
        public void PlaceOrder()
        {
            // Получить список товаров в корзине.
            List <CartVM> cart = Session["cart"] as List <CartVM>;

            // Получаем имя пользователя.
            string userName = User.Identity.Name;

            // Объявить переменную для orderId
            int orderId = 0;

            using (Db db = new Db())
            {
                // Объявляем модель OrderDTO
                OrderDTO orderDto = new OrderDTO();

                // Получаем Id пользователя.
                var q      = db.Users.FirstOrDefault(x => x.Username == userName);
                int userId = q.Id;

                // Заполняем модель  OrderDTO данными и сохраняем её.
                orderDto.UserId    = userId;
                orderDto.CreatedAt = DateTime.Now;

                db.Orders.Add(orderDto);
                db.SaveChanges();

                // Получаем orderId
                orderId = orderDto.OrderId;

                // Объявляем модель OrderDetailsDTO
                OrderDetailsDTO orderDetailsDTO = new OrderDetailsDTO();

                // Добавляем в модель данные.
                foreach (var item in cart)
                {
                    orderDetailsDTO.OrderId   = orderId;
                    orderDetailsDTO.UserId    = userId;
                    orderDetailsDTO.ProductId = item.ProductId;
                    orderDetailsDTO.Quantity  = item.Quantity;

                    db.OrderDetails.Add(orderDetailsDTO);
                    db.SaveChanges();
                }
            }
            // Отправляем письмо о заказе на почту администратора.
            var client = new SmtpClient("smtp.mailtrap.io", 2525)
            {
                Credentials = new NetworkCredential("b308869a652127", "1c658ae23e9618"), // ("username", "password")
                EnableSsl   = true                                                       //включение шифрования данных.
            };

            client.Send("*****@*****.**", "*****@*****.**", "New order", $"You have a new order. Order number: {orderId}");

            // Обнуляем сессию !!! Иначе возможны ошибки с paypal, в том числе и в следующих сессиях!

            Session["cart"] = null;
            // return View(); //ничего не возвращаем.
        }
예제 #16
0
        public void PlaceOrder()
        {
            // pobieramy zawartośc koszyka z sesji
            List <CartViewModel> cart = Session["cart"] as List <CartViewModel>;

            //Pobieramy nazwy użytkownika
            string username = User.Identity.Name;

            //deklarujemy nr zamówienia
            int orderId = 0;

            using (Db db = new Db())
            {
                //inicjalizacja OrderDTO
                OrderDTO orderDTO = new OrderDTO();

                //pobieramy user Id
                var user   = db.Users.FirstOrDefault(x => x.UserName == username);
                int userId = user.Id;

                //ustawienie DTO i zapis
                orderDTO.UserId    = userId;
                orderDTO.CreatedAt = DateTime.Now;

                db.Orders.Add(orderDTO);
                db.SaveChanges();

                // pobieramy id zapisanego zamowienia
                orderId = orderDTO.OrderId;

                //inicjalizacja orderDetailDto
                OrderDetailsDTO orderDetailsDTO = new OrderDetailsDTO();

                foreach (var item in cart)
                {
                    orderDetailsDTO.OrderId   = orderId;
                    orderDetailsDTO.UserId    = userId;
                    orderDetailsDTO.ProductId = item.ProductId;
                    orderDetailsDTO.Quantity  = item.Quantity;

                    db.OrderDetails.Add(orderDetailsDTO);
                    db.SaveChanges();
                }
            }

            // wysyłanei emaila do admina

            var client = new SmtpClient("smtp.mailtrap.io", 2525)
            {
                Credentials = new NetworkCredential("ff1b7d185bb6ba", "eacd1da60f7b4d"),
                EnableSsl   = true
            };

            client.Send("*****@*****.**", "*****@*****.**", "Nowe zamówienie", "Masz nowe zamówienie. Numer zamówienia " + orderId);


            // reset sesion
            Session["cart"] = null;
        }
예제 #17
0
        public void PlaceOrder()
        {
            //Get cart list
            List <CartVM> cart = Session["cart"] as List <CartVM>;

            //Get Username
            string username = User.Identity.Name;

            int orderId = 0;


            using (Db db = new Db())
            {
                //Init OrderDTO
                OrderDTO orderDTO = new OrderDTO();

                //Get UserId
                var q      = db.Users.FirstOrDefault(x => x.Username == username);
                int userId = q.Id;

                //Add to orderDTO and Save
                orderDTO.UserId    = userId;
                orderDTO.CreatedAt = DateTime.Now;

                db.Orders.Add(orderDTO);
                db.SaveChanges();

                //Get Inserted Id
                orderId = orderDTO.OrderId;

                //Init the orderdetailsDto
                OrderDetailsDTO orderDetailsDTO = new OrderDetailsDTO();

                //Add to orderDetails DTO
                foreach (var item in cart)
                {
                    orderDetailsDTO.OrderId   = orderId;
                    orderDetailsDTO.UserId    = userId;
                    orderDetailsDTO.ProductId = item.ProductId;
                    orderDetailsDTO.Quantity  = item.Quantity;

                    db.OrderDetails.Add(orderDetailsDTO);

                    db.SaveChanges();
                }
            }
            //Email Admin

            var client = new SmtpClient("smtp.mailtrap.io", 2525)
            {
                Credentials = new NetworkCredential("735143389aef8e", "7e431b516673f1"),
                EnableSsl   = true
            };

            client.Send("*****@*****.**", "*****@*****.**", "New Order", "You have a new Order!. Order Number = " + orderId);

            //Reset Session
            Session["cart"] = null;
        }
예제 #18
0
        public void PlaceOrder()
        {
            //Get cart list
            List <CartVM> cart = Session["cart"] as List <CartVM>;

            //Get username
            string username = User.Identity.Name;

            //Init OrderId
            int orderId = 0;

            using (db DB = new db())
            {
                //Init OrderId
                OrderDTO orderDTO = new OrderDTO();

                //Get user id
                var q      = DB.Users.FirstOrDefault(x => x.UserName == username);
                int userId = q.Id;

                //Add to OrderDTO and save
                orderDTO.UserId    = userId;
                orderDTO.CreatedAt = DateTime.Now;

                DB.Orders.Add(orderDTO);
                DB.SaveChanges();

                //Get inserted id
                orderId = orderDTO.OrderId;

                //Init OrderDetails
                OrderDetailsDTO orderdetailsDTO = new OrderDetailsDTO();

                //Add to orderdetailsdto
                foreach (var item in cart)
                {
                    orderdetailsDTO.OrderId   = orderId;
                    orderdetailsDTO.UserId    = userId;
                    orderdetailsDTO.ProductId = item.ProductId;
                    orderdetailsDTO.Quantity  = item.Quantity;

                    DB.OrderDetails.Add(orderdetailsDTO);
                    DB.SaveChanges();
                }
            }

            //email admin
            var client = new SmtpClient("smtp.mailtrap.io", 2525)
            {
                Credentials = new NetworkCredential("007b203c8beab5", "e0e00e51297f7e"),
                EnableSsl   = true
            };

            client.Send("*****@*****.**", "*****@*****.**", "New Order", "You have a new order " + orderId);

            //Reset Session
            Session["cart"] = null;
        }
        public void PlaceOrder()
        {
            //Получаем лист товаров из корзины
            List <CartViewModel> cart = Session["cart"] as List <CartViewModel>;

            //Получаем имя пользователя
            string userName = User.Identity.Name;

            //Объявляем переменную для OrderId
            int orderId = 0;

            using (DB db = new DB())
            {
                //Объявляем модель OrderDTO
                OrderDTO orderDTO = new OrderDTO();

                //Получаем ID пользователя
                var searchId = db.Users.FirstOrDefault(x => x.UserName == userName);
                int userId   = searchId.Id;

                //Заполняем модель OrderDTO данными и сохраняем
                orderDTO.UserId    = userId;
                orderDTO.CreatedAt = DateTime.Now;

                db.Orders.Add(orderDTO);
                db.SaveChanges();

                //Получаем OrderId
                orderId = orderDTO.OrderId;

                //Объявляем модель OrderDetailsDTO
                OrderDetailsDTO orderDetailsDTO = new OrderDetailsDTO();

                //Наполняем данными модель OrderDetailsDTO
                foreach (var item in cart)
                {
                    orderDetailsDTO.OrderId   = orderId;
                    orderDetailsDTO.UserId    = userId;
                    orderDetailsDTO.ProductId = item.ProductId;
                    orderDetailsDTO.Quantity  = item.Quantity;

                    db.OrderDetails.Add(orderDetailsDTO);
                    db.SaveChanges();
                }
            }

            //Отправляем письмо о заказе на почту администратора
            var client = new SmtpClient("smtp.mailtrap.io", 2525)
            {
                Credentials = new NetworkCredential("f0442c94d547a5", "39e31c687fb06e"),
                EnableSsl   = true
            };

            client.Send("*****@*****.**", "*****@*****.**", "New Order", $"Новый заказ номер {orderId}");

            //Обнулить сессию(Условия для PayPal)
            Session["cart"] = null;
        }
예제 #20
0
        // POST: /Cart/PlaceOrder
        public void PlaceOrder()
        {
            // Get cart list
            List <CartVM> cart = Session["cart"] as List <CartVM>;

            // Get username
            string username = User.Identity.Name;

            int orderId = 0;

            using (Db db = new Db())
            {
                // Init OrderDTO
                OrderDTO orderDTO = new OrderDTO();

                // Get user id
                var q      = db.Users.FirstOrDefault(x => x.Username == username);
                int userId = q.Id;

                // Add to OrderDTO and save
                orderDTO.UserId    = userId;
                orderDTO.CreatedAt = DateTime.Now;

                db.Orders.Add(orderDTO);

                db.SaveChanges();

                // Get inserted id
                orderId = orderDTO.OrderId;

                // Init OrderDetailsDTO
                OrderDetailsDTO orderDetailsDTO = new OrderDetailsDTO();

                // Add to OrderDetailsDTO
                foreach (var item in cart)
                {
                    orderDetailsDTO.OrderId   = orderId;
                    orderDetailsDTO.UserId    = userId;
                    orderDetailsDTO.ProductId = item.ProductId;
                    orderDetailsDTO.Quantity  = item.QuantityOrdered;

                    db.OrderDetails.Add(orderDetailsDTO);

                    db.SaveChanges();
                }
            }

            // Email admin
            //var client = new SmtpClient("mailtrap.io", 2525)
            //{
            //    Credentials = new NetworkCredential("21f57cbb94cf88", "e9d7055c69f02d"),
            //    EnableSsl = true
            //};
            //client.Send("*****@*****.**", "*****@*****.**", "New Order", "You have a new order. Order number " + orderId);

            // Reset session
            Session["cart"] = null;
        }
        public void PlaceOrder()
        {
            // pobieranie zawartości koszyka ze zmiennej sesji
            List <CartVM> cart = Session["cart"] as List <CartVM>;

            // pobranie nazwy użytkownika
            string username = User.Identity.Name;

            // deklaracja orderId numer zamówienia
            int orderId = 0;

            // db kontekst
            using (Database db = new Database())
            {
                // incijalizacja orderDTO
                OrderDTO orderDTO = new OrderDTO();

                // pobieramy user id
                var user   = db.Users.FirstOrDefault(x => x.UserName == username);
                int userId = user.Id;

                // ustawienie orderDTO i zapis
                orderDTO.UserId    = userId;
                orderDTO.CreatedAt = DateTime.Now;

                db.Orders.Add(orderDTO);
                db.SaveChanges();

                // pobieramy id zapisanego zamowienia
                orderId = orderDTO.OrderId;

                // inicjalizacja OrderDetailsDTO
                OrderDetailsDTO orderDetailsDTO = new OrderDetailsDTO();

                foreach (var item in cart)
                {
                    orderDetailsDTO.OrderId   = orderId;
                    orderDetailsDTO.UserId    = userId;
                    orderDetailsDTO.ProductId = item.ProductId;
                    orderDetailsDTO.Quantity  = item.Quantity;

                    db.OrderDetails.Add(orderDetailsDTO);
                    db.SaveChanges();
                }
            }

            // wysyłanie emaila do admina
            var client = new SmtpClient("smtp.mailtrap.io", 2525)
            {
                Credentials = new NetworkCredential("f410ef8f76e72e", "f7615c1fd678ee"),
                EnableSsl   = true
            };

            client.Send("*****@*****.**", "*****@*****.**", "Nowe zamowienie", "Masz nowe zamowienie. Numer zamowienia: " + orderId);

            // reset session
            Session["cart"] = null;
        }
예제 #22
0
        public void MakeOrder()
        {
            // Get cart list
            List <CartVM> cart = Session["cart"] as List <CartVM>;

            // Get username
            string username = User.Identity.Name;

            int orderId = 0;

            using (Db db = new Db())
            {
                // Init OrderDTO
                OrderDTO orderDTO = new OrderDTO();

                // Get user id
                var q      = db.Users.FirstOrDefault(x => x.Username == username);
                int userId = q.Id;

                // Add to OrderDTO and save
                orderDTO.UserId    = userId;
                orderDTO.CreatedAt = DateTime.Now;

                db.Orders.Add(orderDTO);

                db.SaveChanges();

                // Get inserted id
                orderId = orderDTO.OrderId;

                // Init OrderDetailsDTO
                OrderDetailsDTO orderDetailsDTO = new OrderDetailsDTO();

                // Add to OrderDetailsDTO
                foreach (var item in cart)
                {
                    orderDetailsDTO.OrderId   = orderId;
                    orderDetailsDTO.UserId    = userId;
                    orderDetailsDTO.ProductId = item.ProductId;
                    orderDetailsDTO.Quantity  = item.Quantity;

                    db.OrderDetails.Add(orderDetailsDTO);

                    db.SaveChanges();
                }
            }

            //// Email admin
            //var client = new SmtpClient("smtp.mailtrap.io", 2525)
            //{
            //    Credentials = new NetworkCredential("37e1ec9ba32cc9", "19e410e27f856e"),
            //    EnableSsl = true
            //};
            //client.Send("*****@*****.**", "*****@*****.**", "New Order ", "You a new order. Order SN is: " + orderId);

            // Reset session
            Session["cart"] = null;
        }
예제 #23
0
        public void PlaceOrder()
        {
            //Получаем список товаров в корзине
            List <CartVM> cart = Session["cart"] as List <CartVM>;

            //Получаем имя пользоваткля
            string userName = User.Identity.Name;

            //Инициализируем переменную для OrderId
            int orderId = 0;

            using (Db db = new Db())
            {
                //Обьявляем модель OrderDTO
                OrderDTO orderDto = new OrderDTO();

                //Получаем Id пользователя
                var q      = db.Users.FirstOrDefault(x => x.UserName == userName);
                int userId = q.Id;

                //Заполняем модель OrderDTO данными
                orderDto.UserId    = userId;
                orderDto.CreatedAt = DateTime.Now;

                //добавляем модель в бд
                db.Orders.Add(orderDto);

                //Сохраняем модель
                db.SaveChanges();
                //Получаем Id заказа (OrderId)
                orderId = orderDto.OrderId;
                //обьявляем  модель OrderDetailsDTO
                OrderDetailsDTO orderDetailsDto = new OrderDetailsDTO();

                //Инициализируем модель OrderDetailsDTO данными
                foreach (var item in cart)
                {
                    orderDetailsDto.OrderId   = orderId;
                    orderDetailsDto.UserId    = userId;
                    orderDetailsDto.ProductId = item.Id;
                    orderDetailsDto.Quantity  = item.Quantity;

                    db.OrderDetails.Add(orderDetailsDto);
                    db.SaveChanges();
                }
            }
            //Отправвляем письмо о заказе на почту Администратора
            var client = new SmtpClient("smtp.mailtrap.io", 2525)
            {
                Credentials = new NetworkCredential("8b25f1503a65d0", "7ef26bc5a1bb69"),
                EnableSsl   = true
            };

            client.Send("*****@*****.**", "*****@*****.**", "New Order", $"You have a new order. Order number: {orderId}");

            //Обновить сессию
            Session["cart"] = null;
        }
예제 #24
0
        public void PlaceOrder()
        {
            //Получаем лист товаров
            List <CartVM> cart = Session["cart"] as List <CartVM>;

            //Получаем имя пользователя
            string userName = User.Identity.Name;

            //Инициальзируем переменную для OrederId
            int orderId = 0;

            using (Db db = new Db())
            {
                //Объявляем модель OrederDTO
                OrderDTO orderDTO = new OrderDTO();

                //Получаем Id пользователя
                var q      = db.Users.FirstOrDefault(x => x.Username == userName);
                int userId = q.Id;

                //Заполняем модель OrderDTO данными и сохраняем
                orderDTO.UserId    = userId;
                orderDTO.CreatedAt = DateTime.Now;

                db.Orders.Add(orderDTO);
                db.SaveChanges();

                //Получаем  orderId
                orderId = orderDTO.OrderId;

                //Объявляем модель OrderDetailsDTO
                OrderDetailsDTO orderDetailsDTO = new OrderDetailsDTO();

                //Добавляем данные
                foreach (var item in cart)
                {
                    orderDetailsDTO.OrderId   = orderId;
                    orderDetailsDTO.UserId    = userId;
                    orderDetailsDTO.ProductId = item.ProductId;
                    orderDetailsDTO.Quantity  = item.Quantity;

                    db.OrderDetails.Add(orderDetailsDTO);
                    db.SaveChanges();
                }
            }

            //Отправляем письмо о заказе на почту администратора
            var client = new SmtpClient("smtp.mailtrap.io", 2525)
            {
                Credentials = new NetworkCredential("9e777deee35012", "25b6366e845c08"),
                EnableSsl   = true
            };

            client.Send("*****@*****.**", "*****@*****.**", "New Order", $"You have a new order. Order number: {orderId}");

            //Обнуляем сессию
            Session["cart"] = null;
        }
예제 #25
0
        public void PlaceOrder()
        {
            // Получаем лист товаров в корзине
            List <CartVM> cart = Session["cart"] as List <CartVM>;

            // Получаем имя пользователя
            string userName = User.Identity.Name;

            // Объявляем переменную orderId
            int orderId = 0;

            using (Db db = new Db())
            {
                // Инициализируем модель OrderDTO
                OrderDTO orderDto = new OrderDTO();

                // Получаем ID пользователя
                var q      = db.Users.FirstOrDefault(x => x.Username == userName);
                int userId = q.Id;

                // Заполняем модель OrderDTO и сохраняем
                orderDto.UserId    = userId;
                orderDto.CreatedAt = DateTime.Now;

                db.Orders.Add(orderDto);
                db.SaveChanges();

                // Получаем встроенный ID
                orderId = orderDto.OrderId;

                // Инициализируем модель OrderDetailsDTO
                OrderDetailsDTO orderDetailsDto = new OrderDetailsDTO();

                // Добавляем данные в OrderDetailsDTO
                foreach (var item in cart)
                {
                    orderDetailsDto.OrderId   = orderId;
                    orderDetailsDto.UserId    = userId;
                    orderDetailsDto.ProductId = item.ProductId;
                    orderDetailsDto.Quantity  = item.Quantity;

                    db.OrderDetails.Add(orderDetailsDto);
                    db.SaveChanges();
                }
            }

            // Отправляем письмо админу на почту
            var client = new SmtpClient("smtp.mailtrap.io", 2525)
            {
                Credentials = new NetworkCredential("ee053ae36467a9", "8bf25933605f02"),
                EnableSsl   = true
            };

            client.Send("*****@*****.**", "*****@*****.**", "New order", $"You have a new order. Order number: {orderId}");

            // Обноляем сессию
            Session["cart"] = null;
        }
예제 #26
0
        public void PlaceOrder()
        {
            // ppobieramy zawartosc koszyka z sesi
            List <CartVM> cart = Session["cart"] as List <CartVM>;

            // pobranie nazwy uzytkownika
            string username = User.Identity.Name;

            // deklarujemy numer zamowienia
            int orderId = 0;

            using (Db db = new Db())
            {
                // inicjalizacja OrderDTO
                OrderDTO oredrDTO = new OrderDTO();

                // pobieramu user id
                var user   = db.Users.FirstOrDefault(x => x.UserName == username);
                int userId = user.Id;

                // ustawienie orderDTO i zapis
                oredrDTO.UserId    = userId;
                oredrDTO.CreatedAt = DateTime.Now;

                db.Orders.Add(oredrDTO);
                db.SaveChanges();

                // pobieramy id zapisanego zamowienia
                orderId = oredrDTO.OrderId;

                // inicjalizacja OrderDetailsDTO
                OrderDetailsDTO orderDetailsDTO = new OrderDetailsDTO();

                foreach (var item in cart)
                {
                    orderDetailsDTO.OrderId   = orderId;
                    orderDetailsDTO.UserId    = userId;
                    orderDetailsDTO.ProductId = item.ProductId;
                    orderDetailsDTO.Quantity  = item.Quantity;

                    db.OrderDetails.Add(orderDetailsDTO);
                    db.SaveChanges();
                }
            }

            // wysylanie emaila do admina
            var client = new SmtpClient("smtp.mailtrap.io", 2525)
            {
                Credentials = new NetworkCredential("8eb18953881163", "49a0a349063862"),
                EnableSsl   = true
            };

            client.Send("*****@*****.**", "*****@*****.**", "Nowe Zamówienie", "Masz nowe zamówienie. Numer zamówienia " + orderId);

            // reset session
            Session["cart"] = null;
        }
예제 #27
0
        public void PlaceOrder()
        {
            // Fetching contents of the cart in session
            List <CartVM> cart = Session["cart"] as List <CartVM>;

            // Get user name
            string username = User.Identity.Name;

            // Declaring number of order
            int orderId = 0;

            using (DB db = new DB())
            {
                // Initialize OrderDTO
                OrderDTO orderDTO = new OrderDTO();

                // Get UserId
                var user   = db.Users.FirstOrDefault(x => x.UserName == username);
                int userId = user.Id;

                // Set OrderDTO and save
                orderDTO.UserId    = userId;
                orderDTO.CreatedAt = DateTime.Now;

                db.Orders.Add(orderDTO);
                db.SaveChanges();

                // Fetching ID of saved order
                orderId = orderDTO.OrderId;

                // Initialize OrderDetailsDTO
                OrderDetailsDTO orderDetailsDTO = new OrderDetailsDTO();

                foreach (var item in cart)
                {
                    orderDetailsDTO.OrderId   = orderId;
                    orderDetailsDTO.UserId    = userId;
                    orderDetailsDTO.ProductId = item.ProductId;
                    orderDetailsDTO.Quantity  = item.Quantity;

                    db.OrderDetails.Add(orderDetailsDTO);
                    db.SaveChanges();
                }
            }

            // Send email to ADMIN that new order is active
            var client = new SmtpClient("smtp.mailtrap.io", 2525)
            {
                Credentials = new NetworkCredential("405f212db24e40", "6bbf21865479f6"),
                EnableSsl   = true
            };

            client.Send("*****@*****.**", "*****@*****.**", "New Order Placed", "New order has been created on your CMS \n OrderId: " + orderId);

            // Reset session
            Session["cart"] = null;
        }
예제 #28
0
        public void PlaceOrder()
        {
            //get list goods in busket
            List <CartVM> cart = Session["cart"] as List <CartVM>;

            //get name user
            string userName = User.Identity.Name;

            //announce variable for orderId
            int orderId = 0;

            using (Db db = new Db())
            {
                //announce model OrderDTO
                OrderDTO orderDto = new OrderDTO();

                //get Id user
                var q      = db.Users.FirstOrDefault(x => x.Username == userName);
                int userId = q.Id;

                //fil model OrderDTO data nad save
                orderDto.UserId    = userId;
                orderDto.CreatedAt = DateTime.Now;

                db.Orders.Add(orderDto);
                db.SaveChanges();

                //get orderId
                orderId = orderDto.OrderId;

                //announce model OrderDetailsDTO
                OrderDetailsDTO orderDetailsDTO = new OrderDetailsDTO();

                // add in model data
                foreach (var item in cart)
                {
                    orderDetailsDTO.OrderId   = orderId;
                    orderDetailsDTO.UserId    = userId;
                    orderDetailsDTO.ProductId = item.ProductId;
                    orderDetailsDTO.Quantity  = item.Quantity;

                    db.OrderDetails.Add(orderDetailsDTO);
                    db.SaveChanges();
                }
            }
            //sent letter about order on mail administrator
            var client = new SmtpClient("smtp.mailtrap.io", 2525)
            {
                Credentials = new NetworkCredential("062a6ec026cdf6", "2204f3a3f882e2"),
                EnableSsl   = true
            };

            client.Send("*****@*****.**", "*****@*****.**", "New Order", $"You have a new order. Order number: {orderId}");

            //equal zero session
            Session["cart"] = null;
        }
        public async Task AddProductDetails(OrderDetailsDTO orderDetailsDTO)
        {
            var mapper       = new MapperConfiguration(x => x.CreateMap <OrderDetailsDTO, OrderDetails>()).CreateMapper();
            var orderDetails = mapper.Map <OrderDetailsDTO, OrderDetails>(orderDetailsDTO);

            await _uow.OrderDetails.AddAsync(orderDetails);

            await _uow.CommitAsync();
        }
        public void PlaceOrder()
        {
            //pobieramy zawartośc koszyka ze zmiennej sesji
            List <CartVM> cart = Session["cart"] as List <CartVM>;
            //pobieramy nazwe użytkownika

            string UserName = User.Identity.Name;
            // deklarujemy numer zamówienia
            int orderId = 0;

            using (Db db = new Db())
            {
                // zainicjalizowac orderDTO
                OrderDTO orderDto = new OrderDTO();

                //pobieramy userId
                var user   = db.User.FirstOrDefault(x => x.UserName == UserName);
                int userId = user.Id;
                //ustawienie dto  i zapis
                orderDto.UserId    = userId;
                orderDto.CreatedAt = System.DateTime.Now;
                db.Orders.Add(orderDto);
                db.SaveChanges();
                //pobieramy id zapisanego zamówienia
                orderId = orderDto.Id;


                //inicjalizacja orderdetailsdto


                OrderDetailsDTO detailsDto = new OrderDetailsDTO();
                foreach (var item in cart)
                {
                    detailsDto.OrderId   = orderId;
                    detailsDto.UserId    = userId;
                    detailsDto.ProductId = item.ProductId;
                    detailsDto.Quantity  = item.Quantity;

                    db.OrderDetails.Add(detailsDto);

                    db.SaveChanges();
                }
            }

            // wysyłać email do administratora o złożonym zamówieniu
            var client = new SmtpClient("smtp.mailtrap.io", 2525)
            {
                Credentials = new NetworkCredential("4437f0ed5b200f", "530c65931f5a99"),
                EnableSsl   = true
            };

            client.Send("*****@*****.**", "*****@*****.**", "Nowe zamówienie", "Masz nowe zamówienie! o id: " + orderId + " o dacie " + DateTime.Now);


            // reset Session
            Session["cart"] = null;
        }