Beispiel #1
0
        public ActionResult Prices(FormCollection form)
        {
            using (var context = new ShopContainer())
            {
                var products = context.Product.Include("Brand").Include("Category").ToList();

                PostCheckboxesData cbDataNew = form.ProcessPostCheckboxesData("new");
                PostCheckboxesData cbDataSpec = form.ProcessPostCheckboxesData("special");
                PostCheckboxesData cbDataPublish = form.ProcessPostCheckboxesData("publish");
                PostData oldPriceData = form.ProcessPostData("oldprice");
                PostData priceData = form.ProcessPostData("price");

                foreach (var kvp in cbDataNew)
                {
                    var productId = kvp.Key;
                    bool productValue = kvp.Value;

                    products.First(p => p.Id == productId).IsNew = productValue;
                }

                foreach (var kvp in cbDataSpec)
                {
                    var productId = kvp.Key;
                    bool productValue = kvp.Value;

                    products.First(p => p.Id == productId).IsSpecialOffer = productValue;
                }

                foreach (var kvp in cbDataPublish)
                {
                    var productId = kvp.Key;
                    bool productValue = kvp.Value;

                    products.First(p => p.Id == productId).Published = productValue;
                }

                foreach (var kvp in oldPriceData)
                {
                    int productId = Convert.ToInt32(kvp.Key);
                    foreach (var value in kvp.Value)
                    {
                        var productValue = Convert.ToDecimal(value.Value);
                        products.First(p => p.Id == productId).OldPrice = productValue;
                    }
                }

                foreach (var kvp in priceData)
                {
                    int productId = Convert.ToInt32(kvp.Key);
                    foreach (var value in kvp.Value)
                    {
                        var productValue = Convert.ToDecimal(value.Value);
                        products.First(p => p.Id == productId).Price = productValue;
                    }
                }

                context.SaveChanges();
            }
            return RedirectToAction("Prices");
        }
Beispiel #2
0
        public ActionResult Recalculate(FormCollection form)
        {
            var post = form.ProcessPostData("q");

            foreach (var kvp in post)
            {
                int orderItemId = Convert.ToInt32(kvp.Key);
                foreach (var q in kvp.Value)
                {
                    int orderItemQuantity = Convert.ToInt32(q.Value);

                    foreach (var orderItem in WebSession.OrderItems.Select(oi => oi.Value))
                    {
                        if (orderItem.GetHashCode() == orderItemId)
                        {
                            orderItem.Quantity = orderItemQuantity;
                        }
                    }
                }
            }

            return RedirectToAction("Index");
        }
Beispiel #3
0
        public ActionResult Attributes(int productId, FormCollection form, string page)
        {
            _repository.LangId = CurrentLangId;
            var product = _repository.GetProduct(productId);
            PostCheckboxesData attrData = form.ProcessPostCheckboxesData("attr", "productId");
            PostData staticAttrData = form.ProcessPostData("tb", "productId");

            product.ProductAttributeValues.Clear();
            string searchCriteriaAttributes = "";

            foreach (var kvp in attrData)
            {
                var attributeValueId = kvp.Key;
                bool attributeValue = kvp.Value;

                if (attributeValue)
                {
                    var productAttributeValue = _repository.GetProductAttributeValue(attributeValueId);
                    searchCriteriaAttributes += productAttributeValue.ProductAttributeId + "-" + attributeValueId + ";";
                    product.ProductAttributeValues.Add(productAttributeValue);
                }
            }

            foreach (var kvp in staticAttrData)
            {
                int attributeId = Convert.ToInt32(kvp.Key);
                foreach (var value in kvp.Value)
                {
                    string attributeValue = value.Value;

                    var productAttribute = _repository.GetProductAttribute(attributeId);

                    //productAttribute.ProductAttributeStaticValues.Clear();

                    ProductAttributeStaticValue productAttributeValue = null;
                    productAttributeValue = _repository.GetProductAttributeStaticValue(productAttribute.Id, product.Id);


                    if (string.IsNullOrEmpty(attributeValue))
                    {
                        if (productAttributeValue != null)
                            _repository.DeleteProductAttributeStaticValue(productAttributeValue.Id);
                    }
                    else
                    {
                        if (productAttributeValue == null)
                        {
                            productAttributeValue = new ProductAttributeStaticValue
                            {
                                Title = attributeValue,
                                ProductAttribute = productAttribute,
                                ProductId = product.Id
                            };
                            _repository.AddProductAttributeStaticValue(productAttributeValue);
                        }
                        else
                        {
                            productAttributeValue.Title = attributeValue;
                            _repository.SaveProductAttributeStaticValue(productAttributeValue);
                        }
                    }
                }
            }

            product.SearchCriteriaAttributes = searchCriteriaAttributes;

            _repository.SaveProduct(product);

            return !string.IsNullOrEmpty(page) ? RedirectToAction("Index", new { page = page }) : RedirectToAction("Index");
        }
Beispiel #4
0
        public ActionResult SaveSubscribersSettings(FormCollection form)
        {
            using (var context = new ContentStorage())
            {
                PostData agentsData = form.ProcessPostData("agent");
                PostData touristData = form.ProcessPostData("tourist");

                int[] agentIds =
                    agentsData.Where(d => bool.Parse(d.Value["agent"])).Select(id => Convert.ToInt32(id.Key)).ToArray();
                int[] touristIds =
                    touristData.Where(d => bool.Parse(d.Value["tourist"])).Select(id => Convert.ToInt32(id.Key)).ToArray
                        ();

                var customers = context.Customers.ToList();
                var agents =
                    (from customer in customers from id in agentIds where customer.Id == id select customer).ToList();
                var tourists =
                    (from customer in customers from id in touristIds where customer.Id == id select customer).ToList();
                IEnumerable<Customers> all = agents.Concat(tourists);


                foreach (var customer in customers)
                {
                    customer.IsActive = 0;
                }

                foreach (var customer in customers)
                {
                    if (agentIds.Contains(Convert.ToInt32(customer.Id)) || touristIds.Contains(Convert.ToInt32(customer.Id)))
                        customer.IsActive = 1;
                }
                context.SaveChanges();
            }
            return RedirectToAction("SubscribersList");
        }
Beispiel #5
0
        public ActionResult Attributes(int productId, FormCollection form)
        {
            using (var context = new ShopContainer())
            {
                var product = context.Product.Include("ProductAttributeValues").First(p => p.Id == productId);

                PostCheckboxesData cbData = form.ProcessPostCheckboxesData("attr", "productId");
                PostData staticAttrData = form.ProcessPostData("tb", "productId");

                product.ProductAttributeValues.Clear();

                foreach (var kvp in cbData)
                {
                    var attributeValueId = kvp.Key;
                    bool attributeValue = kvp.Value;

                    if (attributeValue)
                    {
                        var productAttributeValue = context.ProductAttributeValues.First(pv => pv.Id == attributeValueId);
                        product.ProductAttributeValues.Add(productAttributeValue);
                    }
                }


                foreach (var kvp in staticAttrData)
                {
                    int attributeId = Convert.ToInt32(kvp.Key);
                    foreach (var value in kvp.Value)
                    {
                        string attributeValue = value.Value;

                        var productAttribute = context.ProductAttribute.Include("ProductAttributeStaticValues").First(pa => pa.Id == attributeId);

                        //productAttribute.ProductAttributeStaticValues.Clear();

                        ProductAttributeStaticValues productAttributeValue = null;
                        productAttributeValue = context.ProductAttributeStaticValues.FirstOrDefault(
                                pav => pav.ProductAttribute.Id == productAttribute.Id && pav.Product.Id == product.Id);


                        if (string.IsNullOrEmpty(attributeValue))
                        {
                            if (productAttributeValue != null)
                                context.DeleteObject(productAttributeValue);
                        }
                        else
                        {
                            if (productAttributeValue == null)
                            {



                                productAttributeValue = new ProductAttributeStaticValues
                                                            {
                                                                Value = attributeValue,
                                                                ProductAttribute = productAttribute
                                                            };
                                product.ProductAttributeStaticValues.Add(productAttributeValue);

                            }
                            else
                            {
                                productAttributeValue.Value = attributeValue;
                            }
                        }
                        //productAttribute.ProductAttributeValues.Add(productAttributeValue);


                    }
                }

                context.SaveChanges();




                return RedirectToAction("Index");
            }
        }