public ViewModel.ReturnResult <bool> AddProductDetail(ViewModel.ProductFeatureModel productFeature) { ViewModel.ReturnResult <bool> returnResult = new ViewModel.ReturnResult <bool>(); try { DomainDeriven.AkoSatrapDb context = new DomainDeriven.AkoSatrapDb(); var product = context.Products.Include("Product2").FirstOrDefault(r => r.Id == productFeature.ProductId); if (product != null) { var enProductFeatureDb = new DomainDeriven.ProductFeature { Title = productFeature.EnTitle, Description = productFeature.EnDescription, Order = productFeature.Order, ProductId = product.Product2.Id, IsEnglish = true }; var faProductFeatureDb = new DomainDeriven.ProductFeature { Title = productFeature.Title, Description = productFeature.Description, Order = productFeature.Order, ProductFeature2 = enProductFeatureDb, ProductId = product.Id, IsEnglish = false }; context.ProductFeatures.Add(faProductFeatureDb); context.SaveChanges(); } else { returnResult.SetError("محصول مورد نظر پیدا نشدُ"); } } catch (Exception ex) { returnResult.SetError(ex.Message); } return(returnResult); }
public ViewModel.ReturnResult <bool> UpdateProductFeature(ViewModel.ProductFeatureModel productFeature) { ViewModel.ReturnResult <bool> returnResult = new ViewModel.ReturnResult <bool>(); try { DomainDeriven.AkoSatrapDb context = new DomainDeriven.AkoSatrapDb(); var dbProductFeature = context.ProductFeatures.Include("ProductFeature2") .FirstOrDefault(r => !r.IsEnglish.Value && r.Id == productFeature.Id); if (dbProductFeature != null) { dbProductFeature.Title = productFeature.Title; dbProductFeature.ProductFeature2.Title = productFeature.EnTitle; dbProductFeature.Description = productFeature.Description; dbProductFeature.ProductFeature2.Description = productFeature.EnDescription; dbProductFeature.Order = productFeature.Order; dbProductFeature.ProductFeature2.Order = productFeature.Order; context.SaveChanges(); } else { returnResult.SetError("جزییات محصول مورد نظر پیدا نشد"); } context.SaveChanges(); } catch (Exception ex) { returnResult.SetError(ex.Message); } return(returnResult); }