public int?Edit(NewProductViewModel product) { if (!ModelState.IsValid) { return(null); } var prod = _repo.Get(product.ProductId.Value); prod.Title = product.Title; prod.ShortDescription = product.ShortDescription; prod.Description = HttpUtility.UrlDecode(product.Description, System.Text.Encoding.Default); prod.BrandId = product.Brand; prod.ProductGroupId = product.ProductGroup; prod.Rate = product.Rate; var updateProduct = _repo.Update(prod); #region Removing Previous Product Features var productMainFeatures = _repo.GetProductMainFeatures(updateProduct.Id); foreach (var mainFeature in productMainFeatures) { _mainFeatureRepo.Delete(mainFeature.Id); } var productFeatures = _repo.GetProductFeatures(updateProduct.Id); foreach (var feature in productFeatures) { _featureRepo.Delete(feature.Id); } #endregion #region Adding Product Features foreach (var feature in product.ProductFeatures) { if (feature.IsMain) { var model = new ProductMainFeature(); model.ProductId = updateProduct.Id; model.FeatureId = feature.FeatureId; model.SubFeatureId = feature.SubFeatureId; model.Value = feature.Value; model.Quantity = feature.Quantity ?? 0; model.Price = feature.Price ?? 0; _repo.AddProductMainFeature(model); } else { var model = new ProductFeatureValue(); model.ProductId = updateProduct.Id; model.FeatureId = feature.FeatureId; model.SubFeatureId = feature.SubFeatureId; model.Value = feature.Value; _repo.AddProductFeature(model); } } #endregion return(updateProduct.Id); }
public ProductMainFeature AddProductMainFeature(ProductMainFeature mainFeature) { var user = GetCurrentUser(); mainFeature.InsertDate = DateTime.Now; mainFeature.InsertUser = user.UserName; _context.ProductMainFeatures.Add(mainFeature); _context.SaveChanges(); _logger.LogEvent(mainFeature.GetType().Name, mainFeature.Id, "Add"); return(mainFeature); }
public int?Create(NewProductViewModel entity) { if (!ModelState.IsValid) { return(null); } var prod = new Product(); prod.ProductName = entity.ProductName; prod.ProductShortDescription = entity.ProductShortDescription; prod.ProductDescription = HttpUtility.UrlDecode(entity.ProductDescription, System.Text.Encoding.Default); prod.BrandId = entity.Brand; prod.ProductGroupId = entity.ProductGroup; prod.ProductPrice = entity.ProductPrice; prod.ProductDiscountPercent = entity.ProductDiscountPercent; prod.Point = entity.Point; var addProduct = db.Products.Add(prod); db.SaveChanges(); #region Adding Product Features foreach (var feature in entity.ProductFeatures) { if (feature.IsMain) { var model = new ProductMainFeature(); model.ProductId = addProduct.Id; model.FeatureId = feature.FeatureId; model.SubFeatureId = feature.SubFeatureId; model.Value = feature.Value; model.Quantity = feature.Quantity ?? 0; model.Price = feature.Price ?? 0; db.ProductMainFeatures.Add(model); db.SaveChanges(); } else { var model = new ProductFeatureValue(); model.ProductId = addProduct.Id; model.FeatureId = feature.FeatureId; model.SubFeatureId = feature.SubFeatureId; model.Value = feature.Value; db.ProductFeatureValues.Add(model); db.SaveChanges(); } } #endregion return(addProduct.Id); }
public int?Create(NewProductViewModel product) { if (!ModelState.IsValid) { return(null); } var prod = new Product(); prod.Title = product.Title; prod.ShortDescription = product.ShortDescription; prod.Description = HttpUtility.UrlDecode(product.Description, System.Text.Encoding.Default); prod.BrandId = product.Brand; prod.ProductGroupId = product.ProductGroup; prod.Rate = product.Rate; prod.ShortDescription = product.ShortDescription; var addProduct = _repo.Add(prod); #region Adding Product Features foreach (var feature in product.ProductFeatures) { if (feature.IsMain) { var model = new ProductMainFeature(); model.ProductId = addProduct.Id; model.FeatureId = feature.FeatureId; model.SubFeatureId = feature.SubFeatureId; model.Value = feature.Value; model.Quantity = feature.Quantity ?? 0; model.Price = feature.Price ?? 0; _repo.AddProductMainFeature(model); } else { var model = new ProductFeatureValue(); model.ProductId = addProduct.Id; model.FeatureId = feature.FeatureId; model.SubFeatureId = feature.SubFeatureId; model.Value = feature.Value; _repo.AddProductFeature(model); } } #endregion return(addProduct.Id); }
public int?Edit(NewProductViewModel product) { if (!ModelState.IsValid) { return(null); } var prod = db.Products.Find(product.Id.Value); prod.ProductName = product.ProductName; prod.ProductShortDescription = product.ProductShortDescription; prod.ProductDescription = prod.ProductDescription; prod.BrandId = product.Brand; prod.ProductGroupId = product.ProductGroup; prod.ProductPrice = product.ProductPrice; prod.ProductDiscountPercent = product.ProductDiscountPercent; prod.Point = product.Point; db.Entry(prod).State = EntityState.Modified; db.SaveChanges(); #region Removing Previous Product Features var productMainFeatures = db.ProductMainFeatures.Where(f => f.ProductId == prod.Id).ToList(); foreach (var mainFeature in productMainFeatures) { db.ProductMainFeatures.Remove(mainFeature); } db.SaveChanges(); var productFeatures = db.ProductFeatureValues.Where(f => f.ProductId == prod.Id).ToList(); foreach (var feature in productFeatures) { db.ProductFeatureValues.Remove(feature); } db.SaveChanges(); #endregion #region Adding Product Features foreach (var feature in product.ProductFeatures) { if (feature.IsMain) { var model = new ProductMainFeature(); model.ProductId = prod.Id; model.FeatureId = feature.FeatureId; model.SubFeatureId = feature.SubFeatureId; model.Value = feature.Value; model.Quantity = feature.Quantity ?? 0; model.Price = feature.Price ?? 0; db.ProductMainFeatures.Add(model); db.SaveChanges(); } else { var model = new ProductFeatureValue(); model.ProductId = prod.Id; model.FeatureId = feature.FeatureId; model.SubFeatureId = feature.SubFeatureId; model.Value = feature.Value; db.ProductFeatureValues.Add(model); db.SaveChanges(); } } #endregion return(prod.Id); }