示例#1
0
        public int CreateNewOrderAndDetails(ProductDetailPostViewModel productDetailView, Product product, HttpPostedFileBase fileUpload)
        {
            Order order = new Order();

            order.Id                = Guid.NewGuid();
            order.IsDelete          = false;
            order.IsPaid            = false;
            order.SubmitDate        = DateTime.Now;
            order.Code              = codeCreator.ReturnOrderCode();
            order.DeliverEmail      = productDetailView.Email;
            order.DeliverCellNumber = productDetailView.CellNumber;
            order.DeliverFullName   = productDetailView.FirstName + "-" + productDetailView.LastName;
            order.IsFinal           = false;



            decimal subTotal = product.Amount;

            order.TotalAmount = subTotal;


            db.Orders.Add(order);

            CreateNewOrderDetail(order.Id, productDetailView, product, fileUpload);

            return(order.Code);
        }
示例#2
0
        public ActionResult DetailsLottery()
        {
            Product product = db.Products.FirstOrDefault(c => c.Code == 50);

            if (product == null)
            {
                return(Redirect("/"));
            }

            ProductDetailViewModel productDetail = new ProductDetailViewModel()
            {
                Product = product,
                SidebarProductGroups = db.ProductGroups.Where(c => c.ParentId != null && c.IsDelete == false).ToList(),
                Menu           = menu.ReturnMenuTours(),
                Footer         = menu.ReturnFooter(),
                MenuBlogGroups = menu.ReturnBlogGroups(),
            };

            if (string.IsNullOrEmpty(product.ProductGroup.HeaderImageUrl))
            {
                ViewBag.headerImg = "/Images/header1.jpg";
            }
            else
            {
                ViewBag.headerImg = product.ProductGroup.HeaderImageUrl;
            }


            ViewBag.VisaTypeId = new SelectList(db.VisaTypes.Where(c => c.IsDelete == false), "Id", "Title");
            ProductDetailPostViewModel page = new ProductDetailPostViewModel();

            ViewData.Add("Page", page);
            ViewBag.Code = product.Code;
            return(View(productDetail));
        }
示例#3
0
        public void CreateNewOrderDetail(Guid orderId, ProductDetailPostViewModel productDetailView, Product product, HttpPostedFileBase fileUpload)
        {
            #region Upload and resize image if needed
            string newFilenameUrl = string.Empty;
            if (fileUpload != null)
            {
                string filename    = Path.GetFileName(fileUpload.FileName);
                string newFilename = Guid.NewGuid().ToString().Replace("-", string.Empty)
                                     + Path.GetExtension(filename);

                newFilenameUrl = "/Uploads/Passport/" + newFilename;
                string physicalFilename = Server.MapPath(newFilenameUrl);

                fileUpload.SaveAs(physicalFilename);
            }
            #endregion

            OrderDetail orderDetail = new OrderDetail()
            {
                Id                = Guid.NewGuid(),
                ProductId         = product.Id,
                Quantity          = 1,
                RowAmount         = product.Amount,
                IsDelete          = false,
                SubmitDate        = DateTime.Now,
                OrderId           = orderId,
                Amount            = product.Amount,
                VisaTypeId        = productDetailView.VisaTypeId,
                BirthDate         = productDetailView.BirthDate,
                PasportNumber     = productDetailView.PasportNumber,
                PasportExpireDate = productDetailView.PasportExpireDate,
                Nationality       = productDetailView.Nationality,
                VisitDate1        = productDetailView.VisitDate1,
                VisitDate2        = productDetailView.VisitDate2,
                TravelDate        = productDetailView.TravelDate,
                PasportFileUrl    = newFilenameUrl,
                FirstName         = productDetailView.FirstName,
                LastName          = productDetailView.LastName,
                Email             = productDetailView.Email,
                CellNumber        = productDetailView.CellNumber
            };

            db.OrderDetails.Add(orderDetail);
        }
示例#4
0
        public ActionResult Details(ProductDetailPostViewModel productDetailView, HttpPostedFileBase fileUpload)
        {
            int productCode = Convert.ToInt32(productDetailView.Code);

            string cookieOrderId = GetCookieOrderId();

            Product product = db.Products.FirstOrDefault(c => c.Code == productCode);

            if (ModelState.IsValid)
            {
                if (cookieOrderId != null)
                {
                    int code = Convert.ToInt32(cookieOrderId);

                    Order oOrder =
                        db.Orders.FirstOrDefault(c => c.IsFinal == false && c.IsDelete == false && c.Code == code);

                    if (oOrder == null)
                    {
                        int orderCode = CreateNewOrderAndDetails(productDetailView, product, fileUpload);
                        db.SaveChanges();
                        SetCookieOrderId(orderCode.ToString());
                    }
                    else
                    {
                        CreateNewOrderDetail(oOrder.Id, productDetailView, product, fileUpload);

                        oOrder.TotalAmount          = oOrder.TotalAmount + product.Amount;
                        oOrder.LastModificationDate = DateTime.Now;

                        db.SaveChanges();
                        SetCookieOrderId(oOrder.Code.ToString());
                    }
                }


                //CreateOrder
                else
                {
                    int orderCode = CreateNewOrderAndDetails(productDetailView, product, fileUpload);
                    db.SaveChanges();

                    SetCookieOrderId(orderCode.ToString());
                }
                return(RedirectToAction("index", "Basket"));
            }


            ProductDetailViewModel productDetail = new ProductDetailViewModel()
            {
                Product = product,
                SidebarProductGroups = db.ProductGroups.Where(c => c.ParentId != null && c.IsDelete == false).ToList(),
                Menu            = menu.ReturnMenuTours(),
                Footer          = menu.ReturnFooter(),
                MenuBlogGroups  = menu.ReturnBlogGroups(),
                RelatedProducts = db.Products.Where(c => c.ProductGroupId == product.ProductGroupId && c.IsDelete == false).Take(4).ToList()
            };

            if (string.IsNullOrEmpty(product.ProductGroup.HeaderImageUrl))
            {
                ViewBag.headerImg = "/Images/header1.jpg";
            }
            else
            {
                ViewBag.headerImg = product.ProductGroup.HeaderImageUrl;
            }


            ViewBag.VisaTypeId = new SelectList(db.VisaTypes.Where(c => c.IsDelete == false), "Id", "Title");
            ProductDetailPostViewModel page = new ProductDetailPostViewModel();

            ViewData.Add("Page", page);
            ViewBag.Code = product.Code;
            return(View(productDetail));
        }