Ejemplo n.º 1
0
        public ActionResult UpdateProductVarient(int id, bool isEnabled)
        {
            var jsonSuccessResult = new JsonSuccessResult();

            try
            {
                var productVarient = ProductVarients.GetByID(id);

                productVarient.IsEnabled = isEnabled;

                ProductVarients.Update(productVarient);

                Products.UpdateIsUnavailable(id);

                jsonSuccessResult.Success = true;
            }
            catch (Exception ex)
            {
                jsonSuccessResult.Errors  = new string[] { ex.Message };
                jsonSuccessResult.Success = false;
            }

            return(new JsonResult()
            {
                Data = jsonSuccessResult
            });
        }
Ejemplo n.º 2
0
        public ActionResult Edit(int?id)
        {
            EditProduct editProduct;

            if (id.HasValue)
            {
                editProduct = Mapper.Map <EditProduct>(Products.GetByID(id.Value));

                editProduct.Text               = HttpUtility.HtmlDecode(editProduct.Text);
                editProduct.GroupUrlPerfix     = Groups.GetByID(editProduct.GroupID.Value).UrlPerfix;
                editProduct.Groups             = ProductGroups.GetByProductID(editProduct.ID).Select(item => item.GroupID).ToList();
                editProduct.Images             = ProductImages.GetByProductID(editProduct.ID);
                editProduct.Files              = ProductFiles.GetByProductID(editProduct.ID);
                editProduct.Marks              = ProductMarks.GetByProductID(editProduct.ID);
                editProduct.Points             = ProductPoints.GetByProductID(editProduct.ID);
                editProduct.Keywords           = ProductKeywords.GetByProductID(editProduct.ID);
                editProduct.Notes              = ProductNotes.GetByProductID(editProduct.ID);
                editProduct.ProductPricesLinks = ProductPricesLinks.GetByProductID(editProduct.ID);

                editProduct.Supplies = ProductSupplies.GetByProductID(editProduct.ID);
                editProduct.Prices   = ProductPrices.GetByProductID(editProduct.ID);
                editProduct.Varients = ProductVarients.GetByProductID(editProduct.ID);

                editProduct.Discounts = ProductDiscounts.GetAllByProductID(editProduct.ID);
            }
            else
            {
                editProduct        = new EditProduct();
                editProduct.userID = UserID;
            }

            return(View(editProduct));
        }
Ejemplo n.º 3
0
        public JsonResult Search(string title, List <int> groupIDs)
        {
            var jsonSuccessResult = new JsonSuccessResult();

            try
            {
                var list = Products.GetByGroupIDs(title, groupIDs);

                foreach (var item in list)
                {
                    item.ImageFile = UrlProvider.GetProductImage(item.ImageFile, StaticValues.DefaultProductImageSize);
                    item.Varients  = ProductVarients.GetShortVarientByProductID(item.ID);
                }

                jsonSuccessResult.Success = true;
                jsonSuccessResult.Data    = list;
            }
            catch (Exception ex)
            {
                jsonSuccessResult.Errors  = new string[] { ex.Message };
                jsonSuccessResult.Success = false;
            }

            return(new JsonResult()
            {
                Data = jsonSuccessResult
            });
        }
Ejemplo n.º 4
0
        public ActionResult GetProductVarients(int productID)
        {
            var jsonSuccessResult = new JsonSuccessResult();

            try
            {
                jsonSuccessResult.Data    = ProductVarients.GetByProductID(productID);
                jsonSuccessResult.Success = true;
            }
            catch (Exception ex)
            {
                jsonSuccessResult.Errors  = new string[] { ex.Message };
                jsonSuccessResult.Success = false;
            }

            return(new JsonResult()
            {
                Data = jsonSuccessResult
            });
        }
Ejemplo n.º 5
0
        public ActionResult DeleteProductVarient(int id)
        {
            var jsonSuccessResult = new JsonSuccessResult();

            try
            {
                ProductVarients.Delete(id);

                jsonSuccessResult.Success = true;
            }
            catch (Exception ex)
            {
                jsonSuccessResult.Errors  = new string[] { ex.Message };
                jsonSuccessResult.Success = false;
            }

            return(new JsonResult()
            {
                Data = jsonSuccessResult
            });
        }
Ejemplo n.º 6
0
        private static void SaveVarients(EditProduct editProduct, int productID)
        {
            if (editProduct.Varients.Count == 0)
            {
                return;
            }

            var curList = ProductVarients.GetByProductID(productID);

            foreach (var varient in editProduct.Varients)
            {
                if (!curList.Any(item => item.ID == varient.ID))
                {
                    if (varient.Price <= 0)
                    {
                        continue;
                    }

                    var productVarient = Mapper.Map <ProductVarient>(varient);

                    productVarient.ProductID = productID;
                    productVarient.Title     = productVarient.Title;
                    productVarient.PriceCode = productVarient.PriceCode;

                    ProductVarients.Insert(productVarient);

                    foreach (var item in varient.Attributes)
                    {
                        var productVarientAttribute = Mapper.Map <ProductVarientAttribute>(item);

                        productVarientAttribute.ProductVarientID = productVarient.ID;

                        ProductVarientAttributes.Insert(productVarientAttribute);
                    }

                    var varientPrice = new ProductVarientPrice();

                    varientPrice.ProductVarientID = productVarient.ID;
                    varientPrice.Count            = varient.Count;
                    varientPrice.Price            = varient.Price * (ExtensionMethods.IsRial ? 1 : 10);
                    varientPrice.PriceType        = varient.PriceType;

                    ProductVarientPrices.Insert(varientPrice);
                }
                else
                {
                    curList.Remove(curList.Single(cls => cls.ID == varient.ID));

                    if (varient.Price <= 0)
                    {
                        continue;
                    }

                    var varientPrice = new ProductVarientPrice();

                    varientPrice.ProductVarientID = varient.ID;
                    varientPrice.Count            = varient.Count;
                    varientPrice.Price            = varient.Price * (ExtensionMethods.IsRial ? 1 : 10);
                    varientPrice.PriceType        = varient.PriceType;

                    ProductVarientPrices.Insert(varientPrice);
                }
            }

            foreach (var item in curList)
            {
                ProductVarients.DeleteWithAttributes(item.ID);
            }
        }
Ejemplo n.º 7
0
        public ActionResult Edit(EditProduct editProduct, string score, string chkSendSms)
        {
            try
            {
                float scoreValue = score != "" ? float.Parse(score) : 0;

                var product = Mapper.Map <Product>(editProduct);

                product.LastUpdate   = DateTime.Now;
                product.ProductScore = scoreValue;
                ViewBag.Success      = true;

                int productID = product.ID;
                if (productID == -1)
                {
                    if (base.IsAdmin)
                    {
                        product.ProductStatus = editProduct.ProductStatus;
                    }
                    else
                    {
                        product.ProductStatus = ProductStatus.NotChecked;
                    }

                    product.UserID      = base.UserID;
                    product.CreatedDate = DateTime.Now;

                    Products.Insert(product);
                    productID = product.ID;

                    string[] dKeys = GetDefaultKeys(editProduct);

                    SaveGroups(editProduct, productID);
                    SaveImages(editProduct, productID);
                    SaveFiles(editProduct, productID);
                    SaveMarks(editProduct, productID);
                    SavePoints(editProduct, productID);
                    SaveKeywords(editProduct, productID);
                    SaveDefaultKeywords(dKeys, productID);
                    SaveNotes(editProduct, productID, UserID);
                    SaveProductLinks(editProduct, productID);

                    SaveSupplies(editProduct, productID);
                    SavePrices(editProduct, productID);
                    SaveAttributes(Request, productID);
                    SaveVarients(editProduct, productID);

                    UserNotifications.Send(UserID, String.Format("جدید - محصول '{0}'", editProduct.Title), "/Admin/Products/Edit/" + editProduct.ID, NotificationType.Success);
                    editProduct        = new EditProduct();
                    editProduct.userID = product.UserID;
                }
                else
                {
                    Products.Update(product);

                    SaveGroups(editProduct, productID);
                    SaveImages(editProduct, productID);
                    SaveFiles(editProduct, productID);
                    SaveMarks(editProduct, productID);
                    SavePoints(editProduct, productID);
                    SaveKeywords(editProduct, productID);
                    SaveNotes(editProduct, productID, UserID);
                    SaveProductLinks(editProduct, productID);

                    SaveSupplies(editProduct, productID);
                    SavePrices(editProduct, productID);
                    SaveAttributes(Request, productID);
                    SaveVarients(editProduct, productID);

                    editProduct.Text = HttpUtility.HtmlDecode(editProduct.Text);

                    editProduct.Groups   = ProductGroups.GetByProductID(editProduct.ID).Select(item => item.GroupID).ToList();
                    editProduct.Supplies = ProductSupplies.GetByProductID(editProduct.ID);
                    editProduct.Prices   = ProductPrices.GetByProductID(editProduct.ID);
                    editProduct.Varients = ProductVarients.GetByProductID(editProduct.ID);
                    editProduct.Keywords = ProductKeywords.GetByProductID(editProduct.ID);
                    editProduct.Notes    = ProductNotes.GetByProductID(editProduct.ID);

                    editProduct.userID         = product.UserID;
                    editProduct.GroupUrlPerfix = Groups.GetByID(editProduct.GroupID.Value).UrlPerfix;
                    editProduct.ProductScore   = scoreValue;

                    if (chkSendSms == "on")
                    {
                        SendMessageToRequests(editProduct, productID);
                    }
                }

                Products.UpdateIsUnavailable(product.ID);
            }
            catch (Exception ex)
            {
                SetErrors(ex);
            }

            return(ClearView(editProduct));
        }