public ActionResult SaveProductSubstance(ProductSubstance productSubstance)
        {
            bool             success   = false;
            string           msg       = string.Empty;
            ProductSubstance substance = null;

            if (Product.Exists(new Product.ExistCriteria(productSubstance.ProductId)))
            {
                Product product = Product.GetProduct(productSubstance.ProductId);
                if (product.HasSubstance(productSubstance.SubstanceName))
                {
                    substance = product.Substances.GetSubstanceByName(productSubstance.SubstanceName);
                }
                else
                {
                    substance = product.Substances.AddNew();
                }

                if (substance != null)
                {
                    Csla.Data.DataMapper.Map(productSubstance, substance, "ProductId");
                    if (product.IsSavable)
                    {
                        try
                        {
                            product   = ImportWizard.PrepareProductSave(product);
                            product   = (Product)product.Save();
                            substance = product.Substances.GetSubstanceByName(productSubstance.SubstanceName);
                            success   = true;
                        }
                        catch (Exception e)
                        {
                            msg = e.Message;
                        }
                    }
                }
            }

            return(this.Direct(new
            {
                success = success,
                data = substance,
                msg = msg
            }));
        }
        public ActionResult DeleteProductSubstance(int productId, int productSubstanceId)
        {
            Product          product   = null;
            ProductSubstance substance = null;
            bool             success   = true;
            string           msg       = string.Empty;

            try
            {
                product   = Product.GetProduct(productId);
                substance = (from s in product.Substances
                             where s.ProductSubstanceId == productSubstanceId
                             select s).Single();
                product.Substances.Remove(substance);
                product.Save();
            }
            catch (Exception e)
            {
                success = false;
                msg     = e.Message;
            }

            return(this.Direct(new { success = success, msg = msg }));
        }
Ejemplo n.º 3
0
        public ActionResult SaveProductSubstance(ProductSubstance productSubstance)
        {
            bool success = false;
            string msg = string.Empty;
            ProductSubstance substance = null;

            if (Product.Exists(new Product.ExistCriteria(productSubstance.ProductId)))
            {
                Product product = Product.GetProduct(productSubstance.ProductId);
                if (product.HasSubstance(productSubstance.SubstanceName))
                {
                    substance = product.Substances.GetSubstanceByName(productSubstance.SubstanceName);
                }
                else
                {
                    substance = product.Substances.AddNew();

                }

                if (substance != null)
                {
                    Csla.Data.DataMapper.Map(productSubstance, substance, "ProductId");
                    if (product.IsSavable)
                    {
                        try
                        {
                            product = ImportWizard.PrepareProductSave(product);
                            product = (Product)product.Save();
                            substance = product.Substances.GetSubstanceByName(productSubstance.SubstanceName);
                            success = true;
                        }
                        catch (Exception e)
                        {
                            msg = e.Message;
                        }
                    }
                }
            }

            return this.Direct(new
                {
                    success = success,
                    data = substance,
                    msg = msg
                });
        }