public void SaveProductDetail(Product _Product) { var _listAttributes = new List <ProductAttributeModelInner>(); var _productAttributes = db.ProductAttributesRelation.Where(x => x.SupplierID == CurrentUserData.SupplierID).ToList(); foreach (var _item in _productAttributes) { var _productAttr = new ProductAttributeModelInner(); _productAttr.AttributeID = _item.ProductAttributesId; _productAttr.Value = " "; _listAttributes.Add(_productAttr); } var _productRel = new ProductAttributeWithQuantity(); _productRel.IsAvailable = true; _productRel.AttributeValues = GetAttributeValues(_listAttributes); _productRel.ProductPrice = 0; _productRel.ProductQuantity = 1; _productRel.ProductId = _Product.Id; _productRel.UnitInStock = 1; _productRel.Weight = 0; _productRel.UnitWeight = 0; _productRel.IsFeatured = false; _productRel.lowQuantityThreshold = 1; _productRel.highQuantityThreshold = 10; _productRel.IsActive = true; _Attributerepository.Insert(_productRel); _Attributerepository.Save(); }
public ActionResult ProductDetails(ProductViewmodel Model) { try { // DeleteOldAttributes(Model.ProductID); var _ProductAttributes = _Attributerepository.GetAll().Where(x => x.ProductId == Model.ProductID).ToList(); var _productRel = new ProductAttributeWithQuantity(); #region Product Attributes Model.allAttributes = (Model.allAttributes == null ? new List <ProductAttributeModel>() : Model.allAttributes); if (Model.allAttributes.Count() > 0) { foreach (var _item in Model.allAttributes) { var _tempProductRel = _ProductAttributes != null && _ProductAttributes.Count() > 0 ? _ProductAttributes.Where(x => x.Id == _item.Id).FirstOrDefault() : new ProductAttributeWithQuantity(); _tempProductRel = _tempProductRel == null ? new ProductAttributeWithQuantity() : _tempProductRel; _productRel = _tempProductRel; _productRel.IsAvailable = true; _productRel.AttributeValues = GetAttributeValues(_item.ColumnsData); _productRel.ProductPrice = _item.price; _productRel.ProductQuantity = _item.Quantity; _productRel.ProductId = Model.ProductID; _productRel.UnitInStock = _item.Quantity; _productRel.Weight = _item.weight; _productRel.UnitWeight = _item.weight; _productRel.StatusId = _item.StatusId; _productRel.IsFeatured = _item.IsFeatured; _productRel.lowQuantityThreshold = _item.lowQuantityThreshold; _productRel.highQuantityThreshold = _item.highQuantityThreshold; _productRel.IsActive = true; if (_productRel.Id == 0) { _Attributerepository.Insert(_productRel); } _Attributerepository.Save(); #region Product Image _item.Images = (_item.Images == null ? new List <ProductImagesViewModel>() : _item.Images); if (_item.Images.Count() > 0) { foreach (var _image in _item.Images) { if (_image.ID == 0) { byte[] bitmap = _image.bytestring; var _imageName = ""; if (bitmap != null) { _imageName = Guid.NewGuid().ToString() + ".png"; var _Path = System.Web.Hosting.HostingEnvironment.MapPath("~/ProductImages/"); using (Image image = Image.FromStream(new MemoryStream(bitmap))) { var _CompletePath = _Path + _imageName; image.Save(_CompletePath, ImageFormat.Png); // Or Png } } var _productImage = new ProductImages(); _productImage.ImageName = _image.FileName; _productImage.ImagePath = _imageName; _productImage.ProductQuantityId = _productRel.Id; //_productImage.ProductId = Model.ProductID; _productImage.CreatedDate = DateTime.Now; _productImage.UpdatedDate = DateTime.Now; _Imagesrepository.Insert(_productImage); _Imagesrepository.Save(); } } } #endregion } } #endregion return(Json(new { Success = true, ex = "", data = "" })); } catch (Exception ex) { return(Json(new { Success = false, ex = ex.Message.ToString(), data = "" })); } }