Exemple #1
0
        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();
        }
Exemple #2
0
        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 = "" }));
            }
        }