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); }
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)); }
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); }
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)); }