public ActionResult SaveProductRoute(int productId, ProductRoute data) { ProductRoute route = null; bool success = false; string msg = string.Empty; Product product = Product.GetProduct(productId); route = product.Routes.AddRoute(data.RouteId); if (!product.IsValid) { msg = product.BrokenRulesCollection.ToString(); } try { product = ImportWizard.PrepareProductSave(product); product = (Product)product.Save(); success = true; } catch (Exception e) { msg = msg + ", " + e.Message; } return(this.Direct(new { success = success, data = route, msg = msg })); }
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 })); }