Example #1
0
        /// <summary>
        /// Cập nhật thông tin của các thuốc tính trong 1 sản phẩm
        /// </summary>
        /// <param name="data"></param>
        /// <returns></returns>
        public bool Update(ProductAttributes data)
        {
            int rowsAffected = 0;

            using (SqlConnection connection = new SqlConnection(this.connectionString))
            {
                connection.Open();

                SqlCommand cmd = new SqlCommand();
                cmd.CommandText = @"Update ProductAttributes
                                    SET
                                        ProductID = @ProductID,
                                        AttributeName = @AttributeName,
                                        AttributeValues = @AttributeValues,
                                        DisplayOrder = @DisplayOrder
                                    WHERE
                                        AttributeID = @AttributeID;";
                cmd.CommandType = CommandType.Text;
                cmd.Connection  = connection;

                cmd.Parameters.AddWithValue("@ProductID", data.ProductID);
                cmd.Parameters.AddWithValue("@AttributeName", data.AttributeName);
                cmd.Parameters.AddWithValue("@AttributeValues", data.AttributeValues);
                cmd.Parameters.AddWithValue("@DisplayOrder", data.DisplayOrder);
                cmd.Parameters.AddWithValue("@AttributeID", data.AttributeID);

                rowsAffected = Convert.ToInt32(cmd.ExecuteNonQuery());

                connection.Close();
            }
            return(rowsAffected > 0);
        }
        public IActionResult OnPost(int?productId)      // Make sure productId gets in here OK
        {
            if (!ModelState.IsValid)
            {
                return(Page());
            }
            if (Attribute.Id > 0)
            {
                Attribute = attributeData.Update(Attribute);
            }
            else
            {
                attributeData.Add(Attribute);
            }

            attributeData.Commit();
            TempData["Message"] = "Attribute has been saved!";

            if (productId.HasValue)
            {
                ProductAttributes             = new ProductAttributes();
                ProductAttributes.ProductId   = productId.Value;
                ProductAttributes.AttributeId = Attribute.Id;
                productAttributesData.Add(ProductAttributes);
                productAttributesData.Commit();
            }



            return(RedirectToPage("./AttributeDetails", new { attributeId = Attribute.Id }));
        }
        public async Task <string> AttributeUpdateSpecific(int id, [FromBody] string value)
        {
            string UpdateResult = "Success";

            try
            {
                ProductAttributes ProductAttributeToUpdate = JsonConvert.DeserializeObject <ProductAttributes>(value);
                ProductAttributeToUpdate.product_attribute_id = id;
                Dictionary <String, String> ValuesToUpdate = new Dictionary <string, string>();

                if (ProductAttributeToUpdate.sku != null)
                {
                    ValuesToUpdate.Add("sku", ProductAttributeToUpdate.sku.ToString());
                }

                await _ProductRepo.AttributeUpdateSpecific(ValuesToUpdate, "product_attribute_id=" + id);
            }
            catch (Exception ex)
            {
                var logger = _loggerFactory.CreateLogger("internal_error_log");
                logger.LogInformation("Problem happened in updating new Product with message" + ex.Message);
                UpdateResult = "Failed";
            }

            return(UpdateResult);
        }
Example #4
0
        public async Task <int> Update(ProductAttributes productAttributes)
        {
            _dataContext.ProductAttributes.Update(productAttributes);
            var Updated = await _dataContext.SaveChangesAsync();

            return(Updated);
        }
        public async Task <IActionResult> Create([FromBody] CreateProductAttributeRequest attributeRequest)
        {
            var Attr = new ProductAttributes
            {
                ArabicName  = attributeRequest.ArabicName,
                EnglishName = attributeRequest.EnglishName,
                ProductId   = attributeRequest.ProductId
            };

            var status = await _productAttributeService.Create(Attr);

            if (status == 1)
            {
                var response = new
                {
                    status  = Ok().StatusCode,
                    message = "Success"
                };
                return(Ok(response));
            }
            return(NotFound(new ErrorResponse
            {
                message = "Not Found",
                status = NotFound().StatusCode
            }));
        }
        public ProductAttributes Update(ProductAttributes updatedProductAttributes)
        {
            var entity = db.ProductAttributes.Attach(updatedProductAttributes);

            entity.State = EntityState.Modified;
            return(updatedProductAttributes);
        }
Example #7
0
        public override IEnumerable <ValidationResult> Validate(ValidationContext validationContext)
        {
            base.Validate(validationContext);

            if (PaymentExpireIn.HasValue && PaymentExpireIn.Value < TimeSpan.Zero)
            {
                yield return(new ValidationResult(
                                 "PaymentExpireIn should be greater than or equal to 0.",
                                 new[] { "PaymentExpireIn" }
                                 ));
            }

            if (ProductAttributes.Select(a => a.DisplayName.Trim()).Distinct().Count() != ProductAttributes.Count)
            {
                yield return(new ValidationResult(
                                 "DisplayNames of ProductAttributes should be unique!",
                                 new[] { "ProductAttributes" }
                                 ));
            }

            var optionNameList = ProductAttributes.SelectMany(a => a.ProductAttributeOptions)
                                 .Select(o => o.DisplayName.Trim()).ToList();

            if (optionNameList.Distinct().Count() != optionNameList.Count)
            {
                yield return(new ValidationResult(
                                 "DisplayNames of ProductAttributeOptions should be unique!",
                                 new[] { "ProductAttributeOptions" }
                                 ));
            }
        }
 public CategoryEntity(Category Category, params object[] args) : base(Category)
 {
     foreach (object arg in args)
     {
         if (arg is Category Parent)
         {
             ParentEntity = new CategoryEntity(Parent);
         }
         if (arg is ICollection <CategoryName> CategoryNames)
         {
             CategoryNameEntities = CategoryNames.Select(model => new CategoryNameEntity(model, model.Language)).ToList();
         }
         if (arg is ICollection <Category> InverseParent)
         {
             InverseParentEntities = InverseParent.Select(model => new CategoryEntity(model)).ToList();
         }
         if (arg is ICollection <ProductAttribute> ProductAttributes)
         {
             ProductAttributeEntities = ProductAttributes.Select(model => new ProductAttributeEntity(model)).ToList();
         }
         if (arg is ICollection <Product> Products)
         {
             ProductEntities = Products.Select(model => new ProductEntity(model, model.Manufacturer)).ToList();
         }
         if (arg is ICollection <Tax> Taxes)
         {
             TaxEntities = Taxes.Select(model => new TaxEntity(model, model.Country)).ToList();
         }
     }
 }
Example #9
0
        /// <summary>
        /// Lấy thông tin thuộc tính theo mã sản phẩm
        /// </summary>
        /// <param name="ProductID"></param>
        /// <returns></returns>
        public ProductAttributes Get(int ProductID)
        {
            ProductAttributes data = null;

            using (SqlConnection connection = new SqlConnection(connectionString))
            {
                connection.Open();

                SqlCommand cmd = new SqlCommand();
                cmd.CommandText = @"SELECT * FROM ProductAttributes WHERE ProductID = @ProductID";
                cmd.CommandType = CommandType.Text;
                cmd.Connection  = connection;
                cmd.Parameters.AddWithValue("@ProductID", ProductID);

                using (SqlDataReader dbReader = cmd.ExecuteReader(CommandBehavior.CloseConnection))
                {
                    if (dbReader.Read())
                    {
                        data = new ProductAttributes()
                        {
                            AttributeID     = Convert.ToInt32(dbReader["AttributeID"]),
                            ProductID       = Convert.ToInt32(dbReader["ProductID"]),
                            AttributeName   = Convert.ToString(dbReader["AttributeName"]),
                            AttributeValues = Convert.ToString(dbReader["AttributeValues"]),
                            DisplayOrder    = Convert.ToInt32(dbReader["DisplayOrder"]),
                        };
                    }
                }
                connection.Close();
            }
            return(data);
        }
Example #10
0
        public async Task <int> Create(ProductAttributes productAttributes)
        {
            await _dataContext.ProductAttributes.AddAsync(productAttributes);

            var Created = await _dataContext.SaveChangesAsync();

            return(Created);
        }
        public Product FetchProduct(int productId)
        {
            Product product = new Product();

            try
            {
                using (IDbConnection connection = dbObj.CreateOpenConnection())
                {
                    string query = "select p.ProductId, p.ProductCategoryId, pc.ProductCategoryName, p.Name, p.Description from Product p JOIN ProductCategory pc on p.ProductCategoryId = pc.ProductCategoryId where p.ProductId = " + productId;
                    using (IDbCommand command = dbObj.CreateCommand(query, connection))
                    {
                        using (IDataReader reader = command.ExecuteReader())
                        {
                            while (reader.Read())
                            {
                                product.ProductId           = reader["ProductId"] == DBNull.Value ? 0 : (int)reader["ProductId"];
                                product.ProductCategoryId   = reader["ProductCategoryId"] == DBNull.Value ? 0 : (int)reader["ProductCategoryId"];
                                product.ProductCategoryName = reader["ProductCategoryName"] == DBNull.Value ? "" : (string)reader["ProductCategoryName"];
                                product.Name        = reader["Name"] == DBNull.Value ? "" : (string)reader["Name"];
                                product.Description = reader["Description"] == DBNull.Value ? "" : (string)reader["Description"];
                            }
                            reader.Dispose();
                        }
                        command.Dispose();
                    }

                    List <ProductAttributes> lstattr = new List <ProductAttributes>();
                    query = "select pa.AttributeId,pa.AttributeValue,pal.AttributeName, pc.ProductCategoryId, pc.ProductCategoryName from ProductAttributes pa JOIN ProductAttributeLookup pal on pa.AttributeId = pal.AttributeId  JOIN ProductCategory pc on pc.ProductCategoryId = pal.ProductCategoryId where ProductId = " + productId;
                    using (IDbCommand command = dbObj.CreateCommand(query, connection))
                    {
                        using (IDataReader reader = command.ExecuteReader())
                        {
                            while (reader.Read())
                            {
                                var data = new ProductAttributes
                                {
                                    ProductId           = productId,
                                    AttributeId         = reader["AttributeId"] == DBNull.Value ? 0 : (int)reader["AttributeId"],
                                    AttributeValue      = reader["AttributeValue"] == DBNull.Value ? "" : (string)reader["AttributeValue"],
                                    AttributeName       = reader["AttributeName"] == DBNull.Value ? "" : (string)reader["AttributeName"],
                                    ProductCategoryId   = reader["ProductCategoryId"] == DBNull.Value ? 0 : (int)reader["ProductCategoryId"],
                                    ProductCategoryName = reader["ProductCategoryName"] == DBNull.Value ? "" : (string)reader["ProductCategoryName"],
                                };
                                lstattr.Add(data);
                            }
                            reader.Dispose();
                        }
                        command.Dispose();
                    }
                    connection.Dispose();
                    product.lstProductAttributes = lstattr;
                }
            }
            catch (Exception)
            {
            }
            return(product);
        }
Example #12
0
 public void WriteToParcel(Parcel dest, [GeneratedEnum] ParcelableWriteFlags flags)
 {
     dest.WriteInt(Id);
     dest.WriteString(Avatar);
     dest.WriteString(Name);
     dest.WriteString(Barcode);
     dest.WriteParcelableArray(ProductAttributes.ToArray(), ParcelableWriteFlags.None);
     dest.WriteParcelableArray(ProductDetails.ToArray(), ParcelableWriteFlags.None);
 }
Example #13
0
        public void IsBookFactoryCreateBookProduct()
        {
            ProductFactory    pFactory = new BookFactory();
            ProductAttributes pAttr    = new ProductAttributes("book", 20, 2, true);
            Product           book     = pFactory.CreateProduct(pAttr);

            Assert.IsNotNull(book);
            Assert.IsInstanceOfType(book, typeof(BookProduct));
        }
Example #14
0
 public ActionResult Edit([Bind(Include = "Id,AttributeName,AttributeDescription")] ProductAttributes PA)
 {
     if (ModelState.IsValid)
     {
         _repository.Update(PA);
         _repository.Save();
         this.AddNotification("Updated successfully.", NotificationType.SUCCESS);
         return(RedirectToAction("Index"));
     }
     return(View(PA));
 }
Example #15
0
 public ActionResult InputProductAttribute(ProductAttributes model)
 {
     if (model.AttributeID == 0)
     {
         var addAttr = CatalogBLL.ProductAttribute_Add(model);
         return(RedirectToAction("Input", "Product", new { id = model.ProductID }));
     }
     else
     {
         var editAttr = CatalogBLL.ProductAttributes_Update(model);
         return(RedirectToAction("Input", "Product", new { id = model.ProductID }));
     }
 }
Example #16
0
        public async Task <string> createProductAttributesAsync(int product_id, int attribute_id, string sku, string value_id)
        {
            ProductAttributes _productAttribute = new ProductAttributes();

            _productAttribute.product_id   = product_id;
            _productAttribute.attribute_id = attribute_id;
            _productAttribute.sku          = sku;
            _productAttribute.value_id     = value_id;

            String returnID = await _BadgerApiHelper.GenericPostAsyncString <String>(JsonConvert.SerializeObject(_productAttribute), "/product/createProductAttribute");

            return(returnID);
        }
Example #17
0
        // GET: /Category/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            ProductAttributes PA = _repository.GetById(id);

            if (PA == null)
            {
                return(HttpNotFound());
            }
            return(View(PA));
        }
Example #18
0
 public Product SearchAndRetrieveItemFromShelf(String name, double price, bool imported, int quantity)
 {
     if (productItems.ContainsKey(name))
     {
         ProductAttributes pAttributes = new ProductAttributes(name, price, quantity, imported);
         Product           productItem = productItems[name].GetFactory().CreateProduct(pAttributes);
         return(productItem);
     }
     else
     {
         Console.WriteLine("Product not available, pls enter another product \n");
         return(null);
     }
 }
Example #19
0
        public async Task <string> PostAsyncAttribute([FromBody]   string value)
        {
            string NewInsertionID = "0";

            try
            {
                ProductAttributes newProductAttributes = JsonConvert.DeserializeObject <ProductAttributes>(value);
                NewInsertionID = await _ProductRepo.CreateProductAttribute(newProductAttributes);
            }
            catch (Exception ex)
            {
                var logger = _loggerFactory.CreateLogger("internal_error_log");
                logger.LogInformation("Problem happened in making new product with message" + ex.Message);
            }
            return(NewInsertionID);
        }
Example #20
0
        public ProductAttributes SaveProductAttribute(string attributeName)
        {
            var chkAttribute = _currentDbContext.ProductAttributes.FirstOrDefault(a => a.AttributeName.Equals(attributeName, StringComparison.CurrentCultureIgnoreCase));

            if (chkAttribute != null)
            {
                return(null);
            }

            var att = new ProductAttributes()
            {
                AttributeName = attributeName
            };

            _currentDbContext.Entry(att).State = EntityState.Added;
            _currentDbContext.SaveChanges();
            return(att);
        }
Example #21
0
        public Task SetAttributes(ProductAttributes attributes)
        {
            if (!State.IsActivated)
            {
                State.Id           = attributes.Id;
                State.StockId      = attributes.StockId;
                State.Title        = attributes.Title;
                State.Description  = attributes.Description;
                State.IsActivated  = true;
                State.CurrentPrice = attributes.CurrentPrice;

                var stock = this.GrainFactory.GetGrain <IStockGrain>(State.StockId);
                stock.SetAttributes(State.Id, 10);

                return(WriteStateAsync());
            }

            return(Task.FromResult(0));
        }
Example #22
0
        public IActionResult OnPost(int attributeId)
        {
            var i = 0;

            ProductAttributesData = productAttributesData;
            foreach (var boolean in IsChecked)
            {
                if (boolean)
                {
                    var pa = new ProductAttributes();
                    pa.AttributeId = attributeId;
                    pa.ProductId   = productData.GetProductsByName("").ToList()[i].Id;
                    ProductAttributesData.Add(pa);
                    productAttributesData.Commit();
                }
                i++;
            }
            return(RedirectToPage("./List"));
        }
Example #23
0
        /*
         * Developer: Sajid Khan
         * Date: 7-5-19
         * Action: Create new product attributes into databaset
         * Input: product attributes data
         * output: string of product attributes
         */
        public async Task <string> CreateProductAttribute(ProductAttributes NewProductAttributes)
        {
            string ProductAttributesExistsQuery = "SELECT * FROM product_attributes WHERE sku='" + NewProductAttributes.sku + "' and  attribute_id='" + NewProductAttributes.attribute_id + "' and product_id='" + NewProductAttributes.product_id + "';";

            using (IDbConnection conn = Connection)
            {
                var ProductAttributesExist = await conn.QueryAsync <ProductAttributes>(ProductAttributesExistsQuery);

                if (ProductAttributesExist == null || ProductAttributesExist.Count() == 0)
                {
                    var result = await conn.InsertAsync <ProductAttributes>(NewProductAttributes);

                    return(result.ToString());
                }
                else
                {
                    return(ProductAttributesExist.First().product_attribute_id.ToString());
                }
            }
        }
 public ActionResult InputDetail(string id)
 {
     if (string.IsNullOrEmpty(id))
     {
         ViewBag.Title = "Add new attribute";
         ProductAttributes newAttribute = new ProductAttributes();
         newAttribute.AttributeID = 0;
         return(View(newAttribute));
     }
     else
     {
         ViewBag.Title = "Edit attribute";
         ProductAttributes editAttribute = CatalogBLL.ProductAttribute_GetAttr(Convert.ToInt32(id));
         if (editAttribute == null)
         {
             return(RedirectToAction("Input"));
         }
         return(View(editAttribute));
     }
 }
        public ActionResult InputDetail(ProductAttributes model)
        {
            try
            {
                //kiem tra tinh hop le
                if (string.IsNullOrEmpty(model.AttributeName))
                {
                    ModelState.AddModelError("AttributeName", "AttributeName is required");
                }
                if (string.IsNullOrEmpty(model.AttributeValues))
                {
                    ModelState.AddModelError("AttributeValues", "AttributeValues is required");
                }
                if (model.DisplayOrder == 0)
                {
                    ModelState.AddModelError("DisplayOrder", "DisplayOrder is required");
                }

                if (!ModelState.IsValid)
                {
                    return(View(model));
                }

                if (model.AttributeID == 0)
                {
                    int attributeId = CatalogBLL.ProductAttribute_Add(model);

                    return(RedirectToAction("Index"));
                }
                else
                {
                    bool updateResult = CatalogBLL.ProductAttribute_Update(model);
                    return(RedirectToAction("Input", "Product", new { id = model.ProductID }));
                }
            }
            catch (Exception ex)
            {
                ModelState.AddModelError("", ex.Message + ":" + ex.StackTrace);
                return(View(model));
            }
        }
Example #26
0
        public IEnumerable <ValidationResult> Validate(ValidationContext validationContext)
        {
            if (ProductAttributes.Select(a => a.DisplayName.Trim()).Distinct().Count() != ProductAttributes.Count)
            {
                yield return(new ValidationResult(
                                 "DisplayNames of ProductAttributes should be unique!",
                                 new[] { "ProductAttributes" }
                                 ));
            }

            var optionNameList = ProductAttributes.SelectMany(a => a.ProductAttributeOptions)
                                 .Select(o => o.DisplayName.Trim()).ToList();

            if (optionNameList.Distinct().Count() != optionNameList.Count)
            {
                yield return(new ValidationResult(
                                 "DisplayNames of ProductAttributeOptions should be unique!",
                                 new[] { "ProductAttributeOptions" }
                                 ));
            }
        }
        public ActionResult Create(ProductModelBrandViewModel productModel)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    Product newProduct = new Product()
                    {
                        BrandId = productModel.BrandId,
                        ModelId = productModel.ModelId,
                        Name    = productModel.Name
                    };
                    product.Add(newProduct);
                    product.SaveAll();

                    for (int i = 0; i < productModel.ProductAttributes.Count; i++)
                    {
                        ProductAttributes newProductAttributes = new ProductAttributes()
                        {
                            ProductId     = newProduct.Id,
                            AttributeName = productModel.ProductAttributes[i].Name,
                            Value         = productModel.ProductValues[i]
                        };

                        productAttributes.Add(newProductAttributes);
                    }

                    productAttributes.SaveAll();

                    return(Ok("Product has been Add"));
                }

                return(BadRequest("Product Data is not valid"));
            }

            catch
            {
                return(BadRequest("Product Data is not valid"));
            }
        }
        public async Task <IActionResult> Update([FromRoute] Int32 id, [FromBody] UpdateProductAttributeRequest attributeRequest)
        {
            var Attr = new ProductAttributes
            {
                Id          = id,
                ArabicName  = attributeRequest.ArabicName,
                EnglishName = attributeRequest.EnglishName,
                ProductId   = attributeRequest.ProductId
            };

            var status = await _productAttributeService.Update(Attr);

            if (status == 1)
            {
                return(Ok());
            }
            return(NotFound(new ErrorResponse
            {
                message = "Not Found",
                status = NotFound().StatusCode
            }));
        }
Example #29
0
        /// <summary>
        /// Bổ sung một thuộc tính cho sản phẩm
        /// </summary>
        /// <param name="data"></param>
        /// <returns></returns>
        public int Add(ProductAttributes data)
        {
            int attributeId = 0;

            using (SqlConnection connection = new SqlConnection(this.connectionString))
            {
                connection.Open();

                SqlCommand cmd = new SqlCommand();
                cmd.CommandText = @"INSERT INTO ProductAttributes
                                          (
                                                ProductID,
                                                AttributeName,
                                                AttributeValues,
                                                DisplayOrder
                                          )
                                          VALUES
                                          (
	                                            @ProductID,
                                                @AttributeName,
                                                @AttributeValues,
                                                @DisplayOrder
                                          );
                                          SELECT @@IDENTITY;";
                cmd.CommandType = CommandType.Text;
                cmd.Connection  = connection;

                cmd.Parameters.AddWithValue("@ProductID", data.ProductID);
                cmd.Parameters.AddWithValue("@AttributeName", data.AttributeName);
                cmd.Parameters.AddWithValue("@AttributeValues", data.AttributeValues);
                cmd.Parameters.AddWithValue("@DisplayOrder", data.DisplayOrder);

                attributeId = Convert.ToInt32(cmd.ExecuteScalar());
                connection.Close();
            }
            return(attributeId);
        }
        public ActionResult Attribute(string id = "")
        {
            try
            {
                Product checkProduct = CatalogBLL.Product_Get(id);

                List <ProductAttributes> data = new List <ProductAttributes>();
                data = CatalogBLL.Product_GetAttribute(id);
                if (data == null)
                {
                    ProductAttributes newAttribute = new ProductAttributes();
                    return(View(newAttribute));
                }
                var model = new Models.AttributeResult()
                {
                    Data = data,
                };
                return(View(model));
            }
            catch (Exception e)
            {
                return(RedirectToAction("Index"));
            }
        }