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
});
}