Ejemplo n.º 1
0
        public ActionResult AddToOrderBag(int productID, int productOrderID, int?page, Guid?memberID)
        {
            if (!memberID.HasValue)
            {
                memberID = (Guid)Membership.GetUser().ProviderUserKey;
            }

            List <ProductDetail> productDetails = _entities.ProductDetails.Where(a => a.ProductID == productID && a.UpdateDate > SMCHSGManager.Controllers.ProductController.updateTime && (a.UnitsInStock == null || a.UnitsInStock != null && a.UnitsInStock > 0)).OrderBy(a => a.ID).ToList();

            List <string> productQuantities = GetProductDetailQuantities(productID, productOrderID, memberID.Value, productDetails);

            ViewData["productQuantities"] = productQuantities.ToArray();
            ViewData["productOrderID"]    = productOrderID;

            var viewModel = new ProductDetailViewModel
            {
                Sizes   = productDetails.Select(a => a.SizeDescription).ToList(),
                Product = _entities.Products.Single(a => a.ID == productID),
            };

            viewModel.ProductDiscount = viewModel.Product.ProductDiscounts.Where(a => a.DateTo >= DateTime.Today).FirstOrDefault();
            viewModel.ReadPrice       = GetProductPriceAfterDiscount(viewModel.Product, 1);

            if (viewModel.Product.ProductUploadFiles.Count == 0)
            {
                UploadFile        upload            = _entities.UploadFiles.Single(a => a.ID == 1276);
                ProductUploadFile productUploadFile = new ProductUploadFile();
                productUploadFile.UploadFile = upload;
                viewModel.Product.ProductUploadFiles.Add(productUploadFile);
            }

            return(View(viewModel));
        }
Ejemplo n.º 2
0
 private void RemoveUploadFile(Product product)
 {
     if (product.ProductUploadFiles.Count() > 0)
     {
         ProductUploadFile puf1 = _entities.ProductUploadFiles.SingleOrDefault(a => a.ProductID == product.ID);
         int uploadFileID       = puf1.UploadFileID;
         _entities.DeleteObject(puf1);
         if (_entities.ProductUploadFiles.Where(a => a.UploadFileID == uploadFileID).Count() == 1)
         {
             UploadFile uploadFile = _entities.UploadFiles.SingleOrDefault(a => a.ID == uploadFileID);
             _entities.DeleteObject(uploadFile);
             //HttpPostedFileBase file = Request.Files["fileUpload"];
             //file.
         }
     }
 }
Ejemplo n.º 3
0
        public void AddUploadFile(FormCollection collection, Product product)
        {
            int    startNo      = 8;
            string temp         = collection.GetKey(startNo);
            int    index        = temp.LastIndexOf('.');
            int    uploadFileID = 0;

            if (index > 0 && int.TryParse(temp.Substring(index + 1), out uploadFileID))
            {
                string temp1 = collection.Get(temp);
                if (temp.StartsWith("Product.&.") && temp1.StartsWith("true"))
                {
                    RemoveUploadFile(product);

                    ProductUploadFile puf = new ProductUploadFile();
                    puf.UploadFileID = uploadFileID;
                    product.ProductUploadFiles.Add(puf);
                }
                else if (temp.StartsWith("Product.") && temp1.StartsWith("false"))
                {
                    RemoveUploadFile(product);
                }
            }
        }
Ejemplo n.º 4
0
        public ActionResult AddToOrderBag(FormCollection collection, int productID, int productOrderID, int?page, Guid?memberID)
        {
            if (!memberID.HasValue)
            {
                memberID = (Guid)Membership.GetUser().ProviderUserKey;
            }
            MemberOrder memberOrder = new MemberOrder();

            if (_entities.MemberOrders.Where(a => a.ProductOrderID == productOrderID && a.MemberID == memberID.Value && a.OrderStatusID == 1).Any())
            {
                memberOrder = _entities.MemberOrders.Single(a => a.ProductOrderID == productOrderID && a.MemberID == memberID.Value && a.OrderStatusID == 1);
            }
            else
            {
                memberOrder.MemberID       = memberID.Value;
                memberOrder.ProductOrderID = productOrderID;
                memberOrder.OrderStatusID  = 1;
            }
            memberOrder.LatestOrderDateTime = DateTime.Now.ToUniversalTime().AddHours(8);

            try
            {
                int memberOrderDetailCounts = RemoveMemberOrderDetailsFromMemberOrder(productID, memberOrder);
                AddToMemberOrderDetailForProduct(collection, memberOrder, productID);
                _entities.SaveChanges();

                if (!ModelState.IsValid)
                {
                    if (memberOrderDetailCounts > 0 && memberOrder.MemberOrderDetails.Count == 0)
                    {
                        _entities.DeleteObject(memberOrder);
                        _entities.SaveChanges();
                        return(RedirectToAction("ProductList", new { productOrderID = productOrderID, page = page }));
                    }
                    else if (memberOrderDetailCounts > 0)
                    {
                        return(RedirectToAction("Details", new { memberOrderID = memberOrder.ID, orderStatusID = memberOrder.OrderStatusID, page = page }));
                    }
                    throw new Exception();
                }

                if (memberOrder.ID == 0)
                {
                    _entities.AddToMemberOrders(memberOrder);
                    memberOrder = (from r in _entities.MemberOrders where r.ProductOrderID == productOrderID select r).OrderByDescending(x => x.ID).First();
                }
                else
                {
                    UpdateModel(memberOrder, "MemberOrder");
                }
                _entities.SaveChanges();

                return(RedirectToAction("Details", new { memberOrderID = memberOrder.ID, orderStatusID = memberOrder.OrderStatusID, page = page }));
            }
            catch
            {
                List <ProductDetail> productDetails = _entities.ProductDetails.Where(a => a.ProductID == productID && a.UpdateDate > SMCHSGManager.Controllers.ProductController.updateTime && (a.UnitsInStock == null || a.UnitsInStock != null && a.UnitsInStock > 0)).OrderBy(a => a.ID).ToList();

                List <string> productQuantities = GetProductDetailQuantities(productID, productOrderID, memberID.Value, productDetails);
                ViewData["productQuantities"] = productQuantities.ToArray();

                var viewModel = new ProductDetailViewModel
                {
                    Sizes   = productDetails.Select(a => a.SizeDescription).ToList(),
                    Product = _entities.Products.Single(a => a.ID == productID),
                };
                viewModel.ProductDiscount = viewModel.Product.ProductDiscounts.Where(a => a.DateTo >= DateTime.Today).FirstOrDefault();
                viewModel.ReadPrice       = GetProductPriceAfterDiscount(viewModel.Product, 1);

                if (viewModel.Product.ProductUploadFiles.Count == 0)
                {
                    UploadFile        upload            = _entities.UploadFiles.Single(a => a.ID == 1276);
                    ProductUploadFile productUploadFile = new ProductUploadFile();
                    productUploadFile.UploadFile = upload;
                    viewModel.Product.ProductUploadFiles.Add(productUploadFile);
                }

                return(View(viewModel));
            }
        }