public async Task <IActionResult> Edit(OrderCustomerViewModel orderCustomer)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    ModelState.AddModelError("", "Please, Enter correct information");

                    return(View(orderCustomer));
                }
                else
                {
                    OrderApiResponse <Order> orderApiResponse = await ServiceProvider
                                                                .PutDataAsync <OrderApiResponse <Order> >(orderCustomer, "https://localhost:44369/api/orders/edit/");

                    if (orderApiResponse?.Message == "ok")
                    {
                        return(RedirectToAction("Index"));
                    }
                    else
                    {
                        ModelState.AddModelError("", "Order is not edited");

                        return(View(orderCustomer));
                    }
                }
            }
            catch (Exception exp)
            {
                return(NotFound());
            }
        }
예제 #2
0
        public ActionResult UpdateOrderCustomer(int customerIdDto)
        {
            var mapper = new MapperConfiguration(cfg => cfg.CreateMap <OrderCustomerDTO, OrderCustomerViewModel>()).CreateMapper();
            OrderCustomerViewModel customerVM = mapper.Map <OrderCustomerDTO, OrderCustomerViewModel>(service.GetOrderCustomer(customerIdDto));

            return(View(customerVM));
        }
예제 #3
0
        //
        public ActionResult Save(OrderCustomerViewModel model)
        {
            var memberId = User.Identity.GetUserId();
            var carts    = _context.Carts.Where(m => m.UserId == memberId).ToList();

            if (carts.Count == 0)
            {
                ViewBag.message = CartEmptyMsg;
                return(View("Message"));
            }
            Order order;

            foreach (var item in carts)
            {
                order = new Order()
                {
                    ApplicationUserId = memberId,
                    ProductId         = item.ProductId,
                    Quantity          = item.Quantity,
                    Address           = model.Address,
                    PhoneNumber       = model.PhoneNumber,
                    OrderPostDate     = DateTime.Now
                };

                _context.Orders.Add(order);
                _context.SaveChanges();
                _context.Carts.Remove(item);
                _context.SaveChanges();

                var OldSearchHistory = _context.Recommendations.SingleOrDefault(c => c.ApplicationUserId == memberId && c.Count == 1);
                if (OldSearchHistory != null)
                {
                    OldSearchHistory.Count = -2;
                    _context.SaveChanges();
                }

                var recommendation = _context.Recommendations.SingleOrDefault(c => c.ProductId == item.ProductId && c.ApplicationUserId == memberId);

                if (recommendation == null)
                {
                    recommendation = new Recommendation()
                    {
                        ApplicationUserId = memberId,
                        ProductId         = item.ProductId,
                        Count             = 1
                    };
                    _context.Recommendations.Add(recommendation);
                    _context.SaveChanges();
                }
                else
                {
                    recommendation.ProductId         = item.ProductId;
                    recommendation.ApplicationUserId = memberId;
                    recommendation.Count             = 1;
                    _context.SaveChanges();
                }
            }
            return(View());
        }
예제 #4
0
        public ActionResult UpdateOrderCustomer(OrderCustomerViewModel customerVM)
        {
            var mapper = new MapperConfiguration(cfg => cfg.CreateMap <OrderCustomerViewModel, OrderCustomerDTO>()).CreateMapper();
            OrderCustomerDTO customerDto = mapper.Map <OrderCustomerViewModel, OrderCustomerDTO>(customerVM);

            service.UpdateOrderCustomer(customerDto);

            return(Content("<div style='text-align: center;'><h2>Изменения сохранены успешно</h2></div>"));
        }
        public async Task <string> Edit([FromBody] OrderCustomerViewModel orderCustomer)
        {
            try
            {
                string result = string.Empty;

                if (orderCustomer != null)
                {
                    List <Tuple <string, string> > errors = Validate.
                                                            ValidateObject(orderCustomer);

                    if (errors.Count == 0)
                    {
                        Order order = _dbContext.Orders.Include(x => x.Customer)
                                      .FirstOrDefault(x => x.Id == orderCustomer.OrderId);

                        if (order != null)
                        {
                            order.Name      = orderCustomer.OrderName;
                            order.OrderType = orderCustomer.OrderType;

                            if (order.Customer != null)
                            {
                                order.Customer.Name              = orderCustomer.CustomerName;
                                order.Customer.Note              = orderCustomer.CustomerNote;
                                order.Customer.OrderDate         = orderCustomer.CustomerOrderDate;
                                order.Customer.PhoneNumber       = orderCustomer.CustomerPhoneNumber;
                                order.Customer.AddressMovingFrom = orderCustomer.CustomerAddressMovingFrom;
                                order.Customer.AddressMovingTo   = orderCustomer.CustomerAddressMovingTo;
                                order.Customer.Email             = orderCustomer.CustomerEmail;
                            }

                            _dbContext.Update(order);

                            await _dbContext.SaveChangesAsync();

                            result = JsonConvert.SerializeObject(new { info = "success", message = "ok", errors, data = "" });
                        }
                        else
                        {
                            result = JsonConvert.SerializeObject(new { info = "error", message = "Order is not found", errors, data = "" });
                        }
                    }
                    else
                    {
                        result = JsonConvert.SerializeObject(new { info = "error", message = "Information is not found", errors, data = "" });
                    }
                }
                return(result);
            }
            catch (Exception exp)
            {
                return(JsonConvert.SerializeObject(new { info = "error", message = "Information is not found", errors = exp.Message, data = "" }));
            }
        }
예제 #6
0
 public ActionResult Order_Customer(OrderCustomerViewModel OCVM)
 {
     Session["Order_Session"] = OCVM;
     ViewData["CustomerName"] = OCVM.CustomerName;
     ViewData["City"]         = OCVM.City;
     ViewData["ZipCode"]      = OCVM.ZipCode;
     ViewData["Address"]      = OCVM.Address;
     ViewData["Phone"]        = OCVM.Phone;
     ViewData["Email"]        = OCVM.Email;
     ViewBag.CartToHere       = Session["CartToHere"];
     return(View("Order_Ship"));
 }
 public OrderViewModelService(AnviModel db, int cid)
 {
     DB   = db;
     CID  = cid;
     OCVM = new OrderCustomerViewModel()
     {
         CustomerName = GetCustomerName(),
         City         = GetCity(),
         ZipCode      = GetZipCode(),
         Address      = GetAddress(),
         Phone        = GetPhone()
     };
 }
        public async Task <string> Post([FromBody] OrderCustomerViewModel orderCustomer)
        {
            try
            {
                string result = string.Empty;

                if (orderCustomer != null)
                {
                    List <Tuple <string, string> > errors = Validate.
                                                            ValidateObject(orderCustomer);

                    if (errors.Count == 0)
                    {
                        Customer customer = new Customer()
                        {
                            Name              = orderCustomer.CustomerName,
                            Email             = orderCustomer.CustomerEmail,
                            AddressMovingFrom = orderCustomer.CustomerAddressMovingFrom,
                            AddressMovingTo   = orderCustomer.CustomerAddressMovingTo,
                            Note              = orderCustomer.CustomerNote,
                            OrderDate         = orderCustomer.CustomerOrderDate,
                            PhoneNumber       = orderCustomer.CustomerPhoneNumber
                        };

                        Order order = new Order()
                        {
                            Name      = orderCustomer.OrderName,
                            OrderType = orderCustomer.OrderType,
                            Customer  = customer
                        };

                        await _dbContext.Orders.AddAsync(order);

                        await _dbContext.SaveChangesAsync();

                        result = JsonConvert.SerializeObject(new { info = "success", message = "ok", errors, data = "" });
                    }
                    else
                    {
                        result = JsonConvert.SerializeObject(new { info = "error", message = "Information is not found", errors, data = "" });
                    }
                }
                return(result);
            }
            catch (Exception exp)
            {
                return(JsonConvert.SerializeObject(new { info = "error", message = "Information is not found", errors = exp.Message, data = "" }));
            }
        }
예제 #9
0
        public ActionResult DeleteOrderCustomer(int?customerIdDto)
        {
            if (customerIdDto == null)
            {
                throw new ValidationException("Не установлено id объявления покупателя", "");
            }
            OrderCustomerDTO customerDto = service.GetOrderCustomer(customerIdDto);

            if (customerDto == null)
            {
                throw new ValidationException("Объявления покупателя не существует", "");
            }

            var mapper = new MapperConfiguration(cfg => cfg.CreateMap <OrderCustomerDTO, OrderCustomerViewModel>()).CreateMapper();
            OrderCustomerViewModel customerVM = mapper.Map <OrderCustomerDTO, OrderCustomerViewModel>(customerDto);

            return(View(customerVM));
        }
예제 #10
0
        public async Task <IActionResult> Create(OrderCustomerViewModel order)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    var pricePoint = CalculatorCreator.Create((CalculateType)order.OrderType).Calculate(order.Days);
                    var customer   = _uow.customerRepository.List.Where(r => r.Name == order.CustomerName)?.FirstOrDefault();
                    if (customer == null)
                    {
                        _uow.customerRepository.Save(new RentalProducts.DAL.Models.Customer {
                            Name = order.CustomerName
                        });
                        var custId = _uow.customerRepository.List.Where(r => r.Name == order.CustomerName)?.FirstOrDefault();
                        _customer.Id = custId.Id;
                    }
                    else
                    {
                        _customer.Id = customer.Id;
                    }

                    var orderEntity = new RentalProducts.DAL.Models.Order
                    {
                        CustomerId   = _customer.Id,
                        ProductId    = _product.Id,
                        Price        = pricePoint.Price,
                        Days         = order.Days,
                        LoyaltyPoint = pricePoint.LoyaltyPoint,
                        Type         = order.OrderType
                    };

                    _uow.orderRepository.Save(orderEntity);
                    EventLogger.WriteLog($"Create {customer.Name}'s Order", _context);
                    return(Redirect("/Orders/Index"));
                }
                return(View(order));
            }
            catch (Exception ex)
            {
                Logger.WriteLog(ex, _context);
                return(BadRequest());
            }
        }
예제 #11
0
        public ActionResult ConfirmOrders()
        {
            var memberId = User.Identity.GetUserId();

            var user = _context.Users.SingleOrDefault(m => m.Id == memberId);

            if (user == null)
            {
                ViewBag.message = LoginMsg;
                return(View("Message"));
            }

            var carts = _context.Carts.Include(m => m.product).Where(m => m.UserId == memberId).ToList();

            if (carts.Count == 0)
            {
                ViewBag.message = CartEmptyMsg;
                return(View("Message"));
            }

            float         totalprize = 0;
            List <string> Names      = new List <string>();

            foreach (var item in carts)
            {
                totalprize = totalprize + item.product.ProductPrice;
                Names.Add(item.product.ProductName);
            }

            var orderCustomerViewModel = new OrderCustomerViewModel()
            {
                Name         = user.FirstName + " " + user.LastName,
                Email        = user.Email,
                PhoneNumber  = user.CellNumber,
                Prize        = totalprize,
                ProductNames = Names
            };

            return(View(orderCustomerViewModel));
        }
        public async Task <IActionResult> Edit(string id)
        {
            try
            {
                if (id != null)
                {
                    OrderApiResponse <Order> orderApiResponse = await ServiceProvider
                                                                .GetDataAsync <OrderApiResponse <Order> >("https://localhost:44369/api/orders/get/" + id);

                    if (orderApiResponse.Message == "ok")
                    {
                        OrderCustomerViewModel orderCustomerViewModel = new OrderCustomerViewModel()
                        {
                            OrderId                   = orderApiResponse.Data.FirstOrDefault().Id,
                            OrderName                 = orderApiResponse.Data.FirstOrDefault().Name,
                            OrderType                 = orderApiResponse.Data.FirstOrDefault().OrderType,
                            CustomerName              = orderApiResponse.Data.FirstOrDefault().Customer.Name,
                            CustomerEmail             = orderApiResponse.Data.FirstOrDefault().Customer.Email,
                            CustomerPhoneNumber       = orderApiResponse.Data.FirstOrDefault().Customer.PhoneNumber,
                            CustomerAddressMovingFrom = orderApiResponse.Data.FirstOrDefault().Customer.AddressMovingFrom,
                            CustomerAddressMovingTo   = orderApiResponse.Data.FirstOrDefault().Customer.AddressMovingTo,
                            CustomerNote              = orderApiResponse.Data.FirstOrDefault().Customer.Note,
                            CustomerOrderDate         = orderApiResponse.Data.FirstOrDefault().Customer.OrderDate
                        };

                        return(View(orderCustomerViewModel));
                    }

                    ViewBag.Error = "Order is not found";
                }
            }
            catch (Exception exp)
            {
                return(NotFound());
            }

            return(RedirectToAction("Index"));
        }
예제 #13
0
        public IActionResult Index(string searchName = null)
        {
            System.Security.Claims.ClaimsPrincipal currentUser = this.User;
            var claimsIdentity = (ClaimsIdentity)this.User.Identity;
            var claim          = claimsIdentity.FindFirst(ClaimTypes.NameIdentifier);

            OrderCustomerViewModel orderCustomerVM = new OrderCustomerViewModel()
            {
                OrderCustomers = new List <Models.OrderCustomer>()
            };

            orderCustomerVM.OrderCustomers = _db.OrderCustomers.Include(m => m.ApplicationUser).ToList();
            if (User.IsInRole(Sd.AdminEndUser))
            {
                orderCustomerVM.OrderCustomers = orderCustomerVM.OrderCustomers.Where(a => a.SalesPersonId == claim.Value).ToList();
            }


            if (searchName != null)
            {
                orderCustomerVM.OrderCustomers = orderCustomerVM.OrderCustomers.Where(a => a.CustomerName.ToLower().Contains(searchName.ToLower())).ToList();
            }
            return(View(orderCustomerVM));
        }
예제 #14
0
        public ActionResult Order_Pay(OrderCustomerViewModel Bill_OCVM, bool Order_Pay_Radio)  //下單-付費頁面!沒有HEADER跟FOOTER
        {
            var OCVM = (OrderCustomerViewModel)Session["Order_Session"];

            ViewData["CustomerName"] = OCVM.CustomerName;
            ViewData["City"]         = OCVM.City;
            ViewData["ZipCode"]      = OCVM.ZipCode;
            ViewData["Address"]      = OCVM.Address;
            ViewData["Phone"]        = OCVM.Phone;
            ViewData["Email"]        = OCVM.Email;

            if (Order_Pay_Radio)
            {
                Session["Bill_Order_Seccion"] = Bill_OCVM;
                ViewData["Bill_CustomerName"] = Bill_OCVM.Bill_CustomerName;
                ViewData["Bill_City"]         = Bill_OCVM.Bill_City;
                ViewData["Bill_ZipCode"]      = Bill_OCVM.Bill_ZipCode;
                ViewData["Bill_Address"]      = Bill_OCVM.Bill_Address;
                ViewData["Bill_Phone"]        = Bill_OCVM.Bill_Phone;
            }

            //SQL

            var           REPO_O  = new Repositories.KumaRepository <Order>(db);
            var           REPO_OD = new Repositories.KumaRepository <OrderDetail>(db);
            Random        rnd     = new Random();
            List <string> name    = new List <string>()
            {
                "風志淇", "風志聞", "風志來", "風志可", "風志成", "風志偉"
            };
            List <string> country = new List <string>()
            {
                "Taiwan 台灣", "Thailand 泰國", "Sweden 瑞典", "Poland 波蘭", "Russia 俄羅斯", "Malaysia 馬來西亞", "Japan 日本", "India 印度", "United States 美國"
            };
            List <string> payment = new List <string>()
            {
                "銀行轉帳", "信用卡/VISA金融卡", "貨到付款"
            };
            List <string> zipCode = new List <string>()
            {
                "300", "226", "267", "413", "362", "649", "901"
            };
            List <string> city = new List <string>()
            {
                "Keelung", "Taipei", "Hsinchu", "Taichung", "Tainan", "Kaohsiung", "Yilan", "Taoyuan", "Miaoli", "Changhua", "Nantou"
            };
            List <string> address = new List <string>()
            {
                "No. 1, Sec. 4, Roosevelt Rd., Da’an Dist.", "No. 2, Ln. 456, Sec. 1, Xinsheng S. Rd., Da’an Dist.", "No. 456, Sec. 2, Heping E. Rd., Da’an Dist.", "No. 85, Sec. 1, Jianguo S. Rd., Da’an Dist.",
                "No. 85, Sec. 1, Jianguo S. Rd., Da’an Dist.", "No. 67, Sec. 2, Yangde Blvd., Shilin Dist.", "No. 865, Yishou St., Wenshan Dist."
            };
            List <string> phone = new List <string>()
            {
                "+639051234567", "+817012345678", "+85261234567", "+12042345678", "+5491123456789", "+358412345678"
            };
            List <decimal> fare = new List <decimal>()
            {
                60, 60, 60, 80, 90
            };
            var O = new Order();

            // 存到Order資料庫
            O.RecipientName      = name[rnd.Next(name.Count)];
            O.RecipientCity      = city[rnd.Next(city.Count)];
            O.RecipientZipCod    = zipCode[rnd.Next(zipCode.Count)];
            O.RecipientAddressee = address[rnd.Next(address.Count)];
            O.RecipientPhone     = phone[rnd.Next(phone.Count)];
            int n = rnd.Next(fare.Count);

            O.ShippingID       = n + 1;
            O.Fare_now         = fare[n];
            O.RecipientCountry = country[rnd.Next(country.Count)];

            var Userid = User.Identity.GetUserId();

            O.UserID = Userid;
            //因為目前只有轉帳功能
            O.Payment = payment[rnd.Next(payment.Count)];
            if (Session["Remark"] == null)
            {
                O.Remaeks = null;
            }
            else
            {
                O.Remaeks = Session["Remark"].ToString();
            }
            O.OrderDate  = DateTime.Now;
            O.StatusID   = 7;
            O.TotalPrice = 0;
            //O.ShipDate = DateTime.Now.AddHours(1);

            REPO_O.Create(O);
            try
            {
                db.SaveChanges();
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
                throw;
            }
            var OrderList = db.Orders.ToList();
            var OrderID   = OrderList.Last().OrderID;

            var REPO_PD = new KumaRepository <ProductDetail>(db);
            var PDs     = db.ProductDetails.ToList();

            if ((bool)Session["CartToHere"])
            {
                var currentCart = CartService.GetCurrentCart();
                foreach (var item in currentCart)
                {
                    //新增訂單
                    var OD = new OrderDetail();
                    OD.PDID     = item.PDID;
                    OD.OrderID  = OrderID;
                    OD.Price    = item.Amount;
                    OD.Quantity = item.Quantity;
                    REPO_OD.Create(OD);

                    //修正物品庫存量
                    var pd = PDs.FirstOrDefault(x => x.PDID == OD.PDID);
                    pd.Stock -= OD.Quantity;
                    REPO_PD.Update(pd);
                }
                //加入Order總金額
                try
                {
                    O = db.Orders.ToList().LastOrDefault(x => x.OrderID == OrderID);
                }
                catch (Exception e)
                {
                    Console.WriteLine(e);
                    throw;
                }
                O.TotalPrice = currentCart.TotalAmount + OCVM.Fare;
                REPO_O.Update(O);
            }
            else // BuyItNow
            {
                //新增訂單
                var OD       = new OrderDetail();
                var BuyItNow = (BuyOneViewModel)Session["BuyItNow"];
                OD.PDID     = BuyItNow.CartItem.PDID;
                OD.OrderID  = OrderID;
                OD.Price    = BuyItNow.CartItem.UnitPrice;
                OD.Quantity = BuyItNow.CartItem.Quantity;
                REPO_OD.Create(OD);
                //加入Order總金額
                try
                {
                    O = db.Orders.ToList().LastOrDefault(x => x.OrderID == OrderID);
                }
                catch (Exception e)
                {
                    Console.WriteLine(e);
                    throw;
                }
                O.TotalPrice = BuyItNow.CartItem.Amount + OCVM.Fare;
                REPO_O.Update(O);

                //修正物品庫存量
                var pd = PDs.FirstOrDefault(x => x.PDID == OD.PDID);
                pd.Stock -= OD.Quantity;
                REPO_PD.Update(pd);
            }
            db.SaveChanges();

            //初始化
            Session["Remark"] = null;
            ViewData.Model    = CartService.GetCurrentCart();
            ViewBag.Img       = CartService.getEachProductImages(db);
            //購買完成,清除購物車
            CartService.ClearCart();
            return(View("Order_Check"));
        }
예제 #15
0
 public ActionResult DeleteOrderCustomer(OrderCustomerViewModel customerVM)
 {
     service.DeleteOrderCustomer(customerVM.Id);
     return(Content("<h2>Объявление покупателя удалено</h2>"));
 }
예제 #16
0
        public ActionResult Order_Pay(OrderCustomerViewModel Bill_OCVM, bool Order_Pay_Radio)  //下單-付費頁面!沒有HEADER跟FOOTER
        {
            var OCVM = (OrderCustomerViewModel)Session["Order_Session"];

            ViewData["CustomerName"] = OCVM.CustomerName;
            ViewData["City"]         = OCVM.City;
            ViewData["ZipCode"]      = OCVM.ZipCode;
            ViewData["Address"]      = OCVM.Address;
            ViewData["Phone"]        = OCVM.Phone;
            ViewData["Email"]        = OCVM.Email;

            if (Order_Pay_Radio)
            {
                Session["Bill_Order_Seccion"] = Bill_OCVM;
                ViewData["Bill_CustomerName"] = Bill_OCVM.Bill_CustomerName;
                ViewData["Bill_City"]         = Bill_OCVM.Bill_City;
                ViewData["Bill_ZipCode"]      = Bill_OCVM.Bill_ZipCode;
                ViewData["Bill_Address"]      = Bill_OCVM.Bill_Address;
                ViewData["Bill_Phone"]        = Bill_OCVM.Bill_Phone;
            }

            //SQL

            var REPO_O  = new Repositories.AnviRepository <Order>(db);
            var REPO_OD = new Repositories.AnviRepository <OrderDetail>(db);
            var O       = new Order();

            // 存到Order資料庫
            O.RecipientName      = OCVM.CustomerName;
            O.RecipientCity      = OCVM.City;
            O.RecipientZipCod    = OCVM.ZipCode;
            O.RecipientAddressee = OCVM.Address;
            O.RecipientPhone     = OCVM.Phone;

            var Userid = User.Identity.GetUserId();

            O.UserID = Userid;
            //因為目前只有轉帳功能
            O.Payment = "銀行轉帳";
            if (Session["Remark"] == null)
            {
                O.Remaeks = null;
            }
            else
            {
                O.Remaeks = Session["Remark"].ToString();
            }
            O.OrderDate = DateTime.Now;
            //O.ShipDate = DateTime.Now.AddHours(1);

            REPO_O.Create(O);
            db.SaveChanges();
            var OrderList = db.Orders.ToList();
            var OrderID   = OrderList.Last().OrderID;

            var REPO_PD = new AnviRepository <ProductDetail>(db);
            var PDs     = db.ProductDetails.ToList();

            if ((bool)Session["CartToHere"])
            {
                var currentCart = CartService.GetCurrentCart();
                foreach (var item in currentCart)
                {
                    //新增訂單
                    var OD = new OrderDetail();
                    OD.PDID     = item.PDID;
                    OD.OrderID  = OrderID;
                    OD.Price    = item.UnitPrice;
                    OD.Quantity = item.Quantity;
                    REPO_OD.Create(OD);

                    //修正物品庫存量
                    var pd = PDs.FirstOrDefault(x => x.PDID == OD.PDID);
                    pd.Stock -= OD.Quantity;
                    REPO_PD.Update(pd);
                }
            }
            else // BuyItNow
            {
                //新增訂單
                var OD       = new OrderDetail();
                var BuyItNow = (BuyOneViewModel)Session["BuyItNow"];
                OD.PDID     = BuyItNow.CartItem.PDID;
                OD.OrderID  = OrderID;
                OD.Price    = BuyItNow.CartItem.UnitPrice;
                OD.Quantity = BuyItNow.CartItem.Quantity;
                REPO_OD.Create(OD);

                //修正物品庫存量
                var pd = PDs.FirstOrDefault(x => x.PDID == OD.PDID);
                pd.Stock -= OD.Quantity;
                REPO_PD.Update(pd);
            }
            db.SaveChanges();

            //初始化
            Session["Remark"] = null;
            ViewData.Model    = CartService.GetCurrentCart();
            ViewBag.Img       = CartService.getEachProductImages(db);
            //購買完成,清除購物車
            CartService.ClearCart();
            return(View("Order_Check"));
        }
예제 #17
0
        public ActionResult CreateOrderCustomer(OrderCustomerViewModel customerVM)
        {
            if (ModelState.IsValid)
            {
                var mapper = new MapperConfiguration(cfg => cfg.CreateMap <OrderCustomerViewModel,
                                                                           OrderCustomerDTO>()).CreateMapper();
                OrderCustomerDTO customerDto = mapper.Map <OrderCustomerViewModel, OrderCustomerDTO>(customerVM);
                service.CreateOrderCustomer(customerDto);

                string category = service.GetProduct(customerVM.ProdId);

                if (category == "Phone")
                {
                    PhoneDTO phoneDTO = service.GetPhone(customerVM.ProdId);

                    if (phoneDTO.QtyEnd == 0)
                    {
                        return(View("ProductEnded"));
                    }

                    phoneDTO.QtyEnd--;
                    phoneDTO.PriceNow = Price(phoneDTO.PriceStart, phoneDTO.PriceEnd, phoneDTO.QtyEnd);


                    var mapper1 = new MapperConfiguration(cfg => cfg.CreateMap <PhoneDTO,
                                                                                PhoneViewModel>()).CreateMapper();
                    PhoneViewModel phoneVM = mapper1.Map <PhoneDTO, PhoneViewModel>(phoneDTO);


                    return(View("ThanksPagePhone", phoneVM));
                }

                if (category == "TV")
                {
                    TVDTO tvDTO = service.GetTV(customerVM.ProdId);

                    if (tvDTO.QtyEnd == 0)
                    {
                        return(View("ProductEnded"));
                    }

                    tvDTO.QtyEnd--;
                    tvDTO.PriceNow = Price(tvDTO.PriceStart, tvDTO.PriceEnd, tvDTO.QtyEnd);


                    var mapper1 = new MapperConfiguration(cfg => cfg.CreateMap <TVDTO,
                                                                                TVViewModel>()).CreateMapper();
                    TVViewModel tvVM = mapper1.Map <TVDTO, TVViewModel>(tvDTO);


                    return(View("ThanksPageTV", tvVM));
                }

                if (category == "Laptop")
                {
                    LaptopDTO laptopDTO = service.GetLaptop(customerVM.ProdId);

                    if (laptopDTO.QtyEnd == 0)
                    {
                        return(View("ProductEnded"));
                    }

                    laptopDTO.QtyEnd--;
                    laptopDTO.PriceNow = Price(laptopDTO.PriceStart, laptopDTO.PriceEnd, laptopDTO.QtyEnd);


                    var mapper1 = new MapperConfiguration(cfg => cfg.CreateMap <LaptopDTO,
                                                                                LaptopViewModel>()).CreateMapper();
                    LaptopViewModel laptopVM = mapper1.Map <LaptopDTO, LaptopViewModel>(laptopDTO);


                    return(View("ThanksPageLaptop", laptopVM));
                }


                return(View("ThanksPagePhone"));
            }
            return(View("ThanksPagePhone"));
        }