public async Task <IActionResult> PostProductDescription(ProductDescriptionModel productDescriptionModel)
        {
            try
            {
                var productDescription = new ProductDescription()
                {
                    Title             = productDescriptionModel.ProductName,
                    CategoryName      = productDescriptionModel.ProductCategory,
                    AuthorName        = productDescriptionModel.AuthorName,
                    AuthorDescription = productDescriptionModel.AuthorDescription,
                    AuthorImage       = productDescriptionModel.AuthorImageValue,
                    ProductSummary    = productDescriptionModel.ProductSummary,
                    PublisherName     = productDescriptionModel.PublisherName,
                    Edition           = productDescriptionModel.Edition,
                    NumOfPages        = productDescriptionModel.NumofPages,
                    Country           = productDescriptionModel.Country,
                    Language          = productDescriptionModel.Language,
                    ProductId         = productDescriptionModel.ProductId
                };
                await _context.ProductDescriptions.AddAsync(productDescription);

                await _context.SaveChangesAsync();

                return(Ok(productDescription));
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        public void IntegrationTest()
        {
            var connection = TestSession.GetConnection();

            connection.Open();
            #region good insertion and select by id test
            ProductDescriptionModel inserted = new ProductDescriptionModel();
            inserted.Description  = TestSession.Random.RandomString(400);
            inserted.rowguid      = Guid.NewGuid();
            inserted.ModifiedDate = TestSession.Random.RandomDateTime();

            _tested.Insert(connection, new[] { inserted });

            var selectedAfterInsertion = _tested.GetByPrimaryKey(connection, new ProductDescriptionModelPrimaryKey()
            {
                ProductDescriptionID = inserted.ProductDescriptionID,
            });

            CollectionAssert.IsNotEmpty(selectedAfterInsertion);
            var selectedAfterInsert = selectedAfterInsertion.Single();
            Assert.AreEqual(inserted.ProductDescriptionID, selectedAfterInsert.ProductDescriptionID);
            Assert.AreEqual(inserted.Description, selectedAfterInsert.Description);
            Assert.AreEqual(inserted.rowguid, selectedAfterInsert.rowguid);
            Assert.AreEqual(inserted.ModifiedDate, selectedAfterInsert.ModifiedDate);

            #endregion

            #region update and select by id test
            inserted.Description  = TestSession.Random.RandomString(400);
            inserted.rowguid      = Guid.NewGuid();
            inserted.ModifiedDate = TestSession.Random.RandomDateTime();

            _tested.Update(connection, new[] { inserted });

            var selectedAfterUpdateAddresss = _tested.GetByPrimaryKey(connection, new ProductDescriptionModelPrimaryKey()
            {
                ProductDescriptionID = inserted.ProductDescriptionID,
            });

            CollectionAssert.IsNotEmpty(selectedAfterUpdateAddresss);
            var selectedAfterUpdate = selectedAfterUpdateAddresss.Single();
            Assert.AreEqual(inserted.ProductDescriptionID, selectedAfterUpdate.ProductDescriptionID);
            Assert.AreEqual(inserted.Description, selectedAfterUpdate.Description);
            Assert.AreEqual(inserted.rowguid, selectedAfterUpdate.rowguid);
            Assert.AreEqual(inserted.ModifiedDate, selectedAfterUpdate.ModifiedDate);

            #endregion

            #region delete test
            _tested.Delete(connection, new[] { inserted });
            var selectedAfterDeleteAddresss = _tested.GetByPrimaryKey(connection, new ProductDescriptionModelPrimaryKey()
            {
                ProductDescriptionID = inserted.ProductDescriptionID,
            });
            CollectionAssert.IsEmpty(selectedAfterDeleteAddresss);
            #endregion
            connection.Close();
        }
        public static int InsertProductConfigBrand(SqlDbHelper dbhelper, ProductDescriptionModel brandItem, string userName)
        {
            using (var cmd = new SqlCommand("[Gungnir]..[ProductModel_AddConfigBrandInfo]"))
            {
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Parameters.AddWithValue("@ModuleID", brandItem.ModuleID);
                cmd.Parameters.AddWithValue("@CategoryName", brandItem.CategoryName);
                cmd.Parameters.AddWithValue("@Brand", brandItem.Brand);
                cmd.Parameters.AddWithValue("@CreatedUser", userName);

                return(dbhelper.ExecuteNonQuery(cmd));
            }
        }
        public ActionResult ProductDescriptionIndex()
        {
            var model = new ProductDescriptionModel
            {
                Id          = GetParams <int>("id"),
                ProductId   = GetParams <int>("productid"),
                Description = GetParams <string>("description"),
                Status      = GetParams <int>("status"),
                Createtime  = GetParams <DateTime>("createtime"),
                Updatetime  = GetParams <DateTime>("updatetime"),
            };

            return(View(model));
        }
        public static int InsertProductConfigPID(SqlDbHelper dbhelper, ProductDescriptionModel pidItem, ProductDescriptionModel productModuleModel,
                                                 string userName)
        {
            using (var cmd = new SqlCommand("[Gungnir]..[ProductModel_AddConfigPIDInfo]"))
            {
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Parameters.AddWithValue("@ModuleID", pidItem.ModuleID);
                cmd.Parameters.AddWithValue("@PID", pidItem.PID);
                cmd.Parameters.AddWithValue("@AddOrDel", productModuleModel.AddOrDel);
                cmd.Parameters.AddWithValue("@CreatedUser", userName);

                return(dbhelper.ExecuteNonQuery(cmd));
            }
        }
 public static ProductDescriptionPO ToPO(this ProductDescriptionModel item)
 {
     if (item == null)
     {
         return(null);
     }
     return(new ProductDescriptionPO
     {
         Id = item.Id,
         ProductId = item.ProductId,
         Description = item.Description,
         Status = item.Status,
         Createtime = item.Createtime,
         Updatetime = item.Updatetime,
     });
 }
        public static ProductDescriptionConfig IsExcistProductDescriptionItem(ProductDescriptionModel item, ProductDescriptionConfig data)
        {
            ProductDescriptionConfig configDetails = new ProductDescriptionConfig();
            ProductDescriptionBrand  brandItem     = new ProductDescriptionBrand();

            if (item.AddOrDel > 0 && data.AddOrDel == 0)
            {
                data.AddOrDel = item.AddOrDel;
            }

            if (!string.IsNullOrEmpty(item.CategoryName) && string.IsNullOrEmpty(item.Brand) && !data.Categories.Contains(item.CategoryName))
            {
                data.Categories.Add(item.CategoryName);
            }

            if (!string.IsNullOrEmpty(item.PID) && !data.Pids.Contains(item.PID))
            {
                data.Pids.Add(item.PID);
            }

            if (!string.IsNullOrEmpty(item.Brand))
            {
                if (data.BrandDetails.Where(o => o.BrandCategoryName.Equals(item.CategoryName)).Count() > 0)
                {
                    foreach (var configItem in data.BrandDetails)
                    {
                        if (String.Equals(configItem.BrandCategoryName, item.CategoryName))
                        {
                            if (String.Equals(configItem.BrandCategoryName, item.CategoryName) && !configItem.Brands.Contains(item.Brand))
                            {
                                configItem.Brands.Add(item.Brand);
                            }
                        }
                    }
                }
                else
                {
                    brandItem.Brands = new List <string>();

                    brandItem.BrandCategoryName = item.CategoryName;
                    brandItem.Brands.Add(item.Brand);
                    data.BrandDetails.Add(brandItem);
                }
            }

            return(data);
        }
        public static int InsertProductModule(SqlDbHelper dbhelper, ProductDescriptionModel model, int moduleID, ProductDescriptionModel platformItem,
                                              string userName)
        {
            using (var cmd = new SqlCommand("[Gungnir]..[ProductModel_InsertProductModuleInfo]"))
            {
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Parameters.AddWithValue("@ModuleID", moduleID);
                cmd.Parameters.AddWithValue("@ModuleName", model.ModuleName);
                cmd.Parameters.AddWithValue("@ModuleOrder", model.ModuleOrder);
                cmd.Parameters.AddWithValue("@StartDateTime", model.StartDateTime);
                cmd.Parameters.AddWithValue("@EndDateTime", model.EndDateTime);
                cmd.Parameters.AddWithValue("@IsAdvert", model.IsAdvert);
                cmd.Parameters.AddWithValue("@ShowPlatform", model.IsAdvert == false ? model.ShowPlatform : platformItem.ShowPlatform);
                cmd.Parameters.AddWithValue("@BigImageUrl", model.IsAdvert == false ? null : platformItem.BigImageUrl);
                cmd.Parameters.AddWithValue("@SmallImageUrl", model.IsAdvert == false ? null : platformItem.SmallImageUrl);
                cmd.Parameters.AddWithValue("@AppHandlekey", model.IsAdvert == false ? null : platformItem.AppHandleKey);
                cmd.Parameters.AddWithValue("@AppSpecialkey", model.IsAdvert == false ? null : platformItem.AppSpecialKey);
                cmd.Parameters.AddWithValue("@URL", model.IsAdvert == false ? null : platformItem.URL);
                cmd.Parameters.AddWithValue("@ModuleContent", model.IsAdvert == false ? (model.ModuleContent == "" ? null : model.ModuleContent) : (platformItem.ModuleContent == "" ? null : platformItem.ModuleContent));
                cmd.Parameters.AddWithValue("@CreatedUser", userName);

                return(dbhelper.ExecuteNonQuery(cmd));
            }
        }
 public bool Save(ProductDescriptionModel model)
 {
     return(new ProductDescriptionService().Save(model));
 }
 /// <summary>
 ///
 /// </summary>
 /// <param name="model"></param>
 /// <returns></returns>
 public bool Save(ProductDescriptionModel model)
 {
     return(ProductDescriptionRepository.Save(model.ToPO()));
 }
        public static int InsertProductConfig(ProductDescriptionModel productModuleModel, List <ProductDescriptionModel> platformList,
                                              List <ProductDescriptionModel> categoryList, List <ProductDescriptionModel> pidList, List <ProductDescriptionModel> brandList,
                                              string userName, out int moduleID)
        {
            var conn = ConfigurationManager.ConnectionStrings["Gungnir"].ConnectionString;

            if (SecurityHelp.IsBase64Formatted(conn))
            {
                conn = SecurityHelp.DecryptAES(conn);
            }
            using (var dbhelper = new SqlDbHelper(conn))
            {
                dbhelper.BeginTransaction();
                var result = 0;
                moduleID = DALProductModuleConfig.GetProductModuleMaxID(dbhelper) + 1;
                if (platformList.Count() <= 0)
                {
                    result = DALProductModuleConfig.InsertProductModule(dbhelper, productModuleModel, moduleID, null, userName);
                }
                else
                {
                    foreach (var item in platformList)
                    {
                        var r = DALProductModuleConfig.InsertProductModule(dbhelper, productModuleModel, moduleID, item, userName);
                        if (r <= 0)
                        {
                            dbhelper.Rollback();
                            moduleID = 0;
                            return(-1);
                        }
                    }
                    result = 1;
                }
                if (result > 0)
                {
                    foreach (var item in categoryList)
                    {
                        item.ModuleID = moduleID;
                        var r = InsertProductConfigCategory(dbhelper, item, productModuleModel, userName);
                        if (r <= 0)
                        {
                            dbhelper.Rollback();
                            moduleID = 0;
                            return(-1);
                        }
                    }
                    foreach (var item in pidList)
                    {
                        item.ModuleID = moduleID;
                        var r = InsertProductConfigPID(dbhelper, item, productModuleModel, userName);
                        if (r <= 0)
                        {
                            dbhelper.Rollback();
                            moduleID = 0;
                            return(-1);
                        }
                    }
                    foreach (var item in brandList)
                    {
                        item.ModuleID = moduleID;
                        var r = InsertProductConfigBrand(dbhelper, item, userName);
                        if (r <= 0)
                        {
                            dbhelper.Rollback();
                            moduleID = 0;
                            return(-1);
                        }
                    }

                    dbhelper.Commit();

                    return(moduleID);
                }
                else
                {
                    dbhelper.Rollback();
                    moduleID = 0;
                    return(-1);
                }
            }
        }
        public async Task <IActionResult> UpdateProductDescriptionData(int productDescId, ProductDescriptionModel productDescriptionModel)
        {
            try
            {
                var productDescriptionDetails = await _context.ProductDescriptions.FirstOrDefaultAsync(x => x.ProductDescId == productDescId);

                productDescriptionDetails.AuthorName        = productDescriptionModel.AuthorName;
                productDescriptionDetails.AuthorDescription = productDescriptionModel.AuthorDescription;
                productDescriptionDetails.AuthorImage       = productDescriptionModel.AuthorImageValue;
                productDescriptionDetails.ProductSummary    = productDescriptionModel.ProductSummary;
                productDescriptionDetails.PublisherName     = productDescriptionModel.PublisherName;
                productDescriptionDetails.Edition           = productDescriptionModel.Edition;
                productDescriptionDetails.NumOfPages        = productDescriptionModel.NumofPages;
                productDescriptionDetails.Country           = productDescriptionModel.Country;
                productDescriptionDetails.Language          = productDescriptionModel.Language;
                var resultProductStock = _context.ProductDescriptions.Update(productDescriptionDetails);
                await _context.SaveChangesAsync();

                return(NoContent());
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Exemplo n.º 13
0
 public static int UpdateProductConfig(ProductDescriptionModel productModuleModel, List <ProductDescriptionModel> platformList,
                                       List <ProductDescriptionModel> categoryList, List <ProductDescriptionModel> pidList, List <ProductDescriptionModel> brandList,
                                       int ParentID, string userName)
 {
     return(DALProductModuleConfig.UpdateProductConfig(productModuleModel, platformList, categoryList, pidList, brandList, ParentID, userName));
 }
Exemplo n.º 14
0
 public static int InsertProductConfig(ProductDescriptionModel productModuleModel, List <ProductDescriptionModel> platformList,
                                       List <ProductDescriptionModel> categoryList, List <ProductDescriptionModel> pidList, List <ProductDescriptionModel> brandList,
                                       string userName, out int moduleID)
 {
     return(DALProductModuleConfig.InsertProductConfig(productModuleModel, platformList, categoryList, pidList, brandList, userName, out moduleID));
 }