示例#1
0
        public HttpResponseMessage GetByBrandId(int brandId)
        {
            var brand = _productBrandService.GetProductBrandById(brandId);
            var model = new ProductBrandModel
            {
                Addtime  = brand.Addtime,
                Adduser  = brand.Adduser,
                Bimg     = brand.Bimg,
                Bname    = brand.Bname,
                SubTitle = brand.SubTitle,
                Id       = brand.Id,
                Content  = brand.Content,
                AdTitle  = brand.AdTitle,
                ClassId  = brand.ClassId.HasValue?brand.ClassId.Value:0,

                //Parameters = Brand.ParameterEntities.Select(p => new ProductBrandParameterModel
                //{
                //    Parametername = p.Parametername,
                //    Parametervaule = p.Parametervaule
                //}).ToList()
                Parameters = brand.ParameterEntities.ToDictionary(k => k.Parametername, v => v.Parametervaule)
            };
            var products = _productService.GetProductsByProductBrand(brand.Id);

            model.Products = products.Select(p => new ProductModel
            {
                Productname = p.Productname,
                Id          = p.Id,
                Productimg  = p.Productimg
            }).ToList();
            return(PageHelper.toJson(model));
        }
示例#2
0
        public HttpResponseMessage UpProductBrand(ProductBrandModel productBrandModel)
        {
            Regex reg = new Regex(@"^[^ %@#!*~&',;=?$\x22]+$");
            var   m   = reg.IsMatch(productBrandModel.Bname);

            if (!m)
            {
                return(PageHelper.toJson(PageHelper.ReturnValue(false, "存在非法字符!")));
            }
            else
            {
                var pb = _productBrandService.GetProductBrandById(productBrandModel.Id);
                pb.Updtime  = DateTime.Now;
                pb.Bname    = productBrandModel.Bname;
                pb.Upduser  = _workContext.CurrentUser.Id.ToString(CultureInfo.InvariantCulture);
                pb.SubTitle = productBrandModel.SubTitle;
                pb.Content  = productBrandModel.Content;
                pb.Bimg     = productBrandModel.Bimg;
                pb.AdTitle  = productBrandModel.AdTitle;
                pb.ClassId  = productBrandModel.ClassId;
                if (_productBrandService.Update(pb) != null)
                {
                    return(PageHelper.toJson(PageHelper.ReturnValue(true, "数据修改成功!")));
                }

                else
                {
                    return(PageHelper.toJson(PageHelper.ReturnValue(false, "数据更新失败!")));
                }
            }
        }
示例#3
0
        public JsonResult ProductBrandName_DataLoading(int pBrandID)
        {
            Database          db      = new Database();
            ProductBrandDAO   pbDAO   = new ProductBrandDAO(db);
            ProductBrandModel pbModel = pbDAO.FindById(pBrandID);

            db.Close();

            return(Json(new { brandID = pbModel.PRO_BRAND_ID, brandName = pbModel.PRO_BAND_NAME }));
        }
示例#4
0
        void Cancel()
        {
            Brand = new ProductBrandModel
            {
                BrandId = _originalModel.BrandId,
                Name    = _originalModel.Name
            };

            editingEnabled = false;
        }
        public async Task UpdateProductVendor(Guid productId, ProductBrandModel brand)
        {
            var url = UrlBuilder.UpdateProductVendorUrl(productId);

            var response = await Client.PatchAsync(url, JsonContent.Create(brand));

            if (!response.IsSuccessStatusCode)
            {
                throw new ApplicationException($"Update product {productId} vendor {brand.Name} call ended with status code {response.StatusCode}");
            }
        }
示例#6
0
        public ActionResult Edit(ProductBrandModel model)
        {
            if (ModelState.IsValid)
            {
                var brand = productBrandRepository.FindBrandById(model.ProductBrandId);
                brand.Name = model.Name;
                productBrandRepository.SaveChanges();

                return(RedirectToAction("Brands", "Admin"));
            }

            return(View(model));
        }
示例#7
0
        protected override void OnParametersSet()
        {
            base.OnParametersSet();

            context = new EditContext(Brand);

            editingEnabled = !Readonly;
            _originalModel = new ProductBrandModel
            {
                BrandId = Brand.BrandId,
                Name    = Brand.Name
            };
        }
示例#8
0
        void AddBrandToGrid(Backend.Objects.ProductBrand brand)
        {
            //Fill Grid [ BrandsGrid ] With Rows
            ProductBrandModel brandModel = new ProductBrandModel
            {
                OnDelete = OnDeleteBrand,
                Brand    = brand,
                User     = user,
            };

            //Add To Grid
            BrandsGrid.Controls.Add(brandModel);
        }
示例#9
0
        public ActionResult Edit(int id)
        {
            var brand = productBrandRepository.FindBrandById(id);

            if (brand != null)
            {
                var model = new ProductBrandModel();
                model.ProductBrandId = brand.ProductBrandId;
                model.Name           = brand.Name;
                return(View(model));
            }

            return(RedirectToAction("Brands", "Admin"));
        }
示例#10
0
        public ActionResult Create(ProductBrandModel model)
        {
            if (ModelState.IsValid)
            {
                ProductBrand p = new ProductBrand();
                p.Name = model.Name;
                productBrandRepository.AddBrand(p);
                productBrandRepository.SaveChanges();

                return(RedirectToAction("Brands", "Admin"));
            }

            return(View(model));
        }
示例#11
0
        public async Task <IActionResult> PatchVendor(Guid id, [FromBody] ProductBrandModel model)
        {
            if (id == Guid.Empty)
            {
                _logger.LogError("Empty product id");
                return(BadRequest(nameof(id)));
            }

            await ControllerServices.SetProductVendor(id, model);

            _logger.LogInformation("Vendor {vendorId} set for product {productId}", model.BrandId, id);

            return(Ok());
        }
示例#12
0
        public ActionResult ProductBrandUpdating(string proBrand_name, int proBrand_id)
        {
            ProductBrandModel pbModel = new ProductBrandModel();

            pbModel.PRO_BRAND_ID  = proBrand_id;
            pbModel.PRO_BAND_NAME = proBrand_name;

            Database        db    = new Database();
            ProductBrandDAO pbDAO = new ProductBrandDAO(db);

            pbDAO.Update(pbModel);
            db.Close();

            return(Redirect("~/Product/ProductBrandManagement"));
        }
        async Task UpdateProductBrand(ProductBrandModel brand)
        {
            try
            {
                await Client.UpdateProductVendor(_ProductId, brand);

                product.Brand = brand;
            }
            catch
            {
                errorRaised = true;
            }
            finally
            {
                StateHasChanged();
            }
        }
示例#14
0
        public ActionResult ProductBrandDeleting(int brandID)
        {
            try
            {
                ProductBrandModel pbModel = new ProductBrandModel();
                pbModel.PRO_BRAND_ID = brandID;

                Database        db    = new Database();
                ProductBrandDAO pbDAO = new ProductBrandDAO(db);
                pbDAO.Delete(pbModel);
                db.Close();
                return(Redirect("~/Product/ProductBrandManagement"));
            }
            catch
            {
                return(RedirectToAction("Alert", "Product", new { link = "ProductBrandManagement", massage = "มีรายการที่อ้างถึงข้อมูลนี้อยู่ ไม่สามารถลบได้" }));
            }
        }
示例#15
0
        public HttpResponseMessage GetBrandDetail(int brandId)
        {
            var brand = _productBrandService.GetProductBrandById(brandId);

            if (brand == null)
            {
                return(PageHelper.toJson(PageHelper.ReturnValue(false, "品牌不存在")));
            }
            var model = new ProductBrandModel
            {
                Id         = brand.Id,
                Bname      = brand.Bname,
                SubTitle   = brand.SubTitle,
                Content    = brand.Content,
                Parameters = brand.ParameterEntities.ToDictionary(k => k.Parametername, v => v.Parametervaule)
            };

            return(PageHelper.toJson(model));
        }
示例#16
0
        public ActionResult AddProductBrand()
        {
            string            proBrandName = Request.Params["probrand_name"].Trim();
            ProductBrandModel pbModel      = new ProductBrandModel();

            pbModel.PRO_BAND_NAME = proBrandName;

            Database        db    = new Database();
            ProductBrandDAO pbDAO = new ProductBrandDAO(db);
            int             id    = pbDAO.Add(pbModel);

            db.Close();

            if (id > 0)
            {
                return(RedirectToAction("Alert", "Product", new { link = "~/Product/ManageProduct", massage = "เพิ่มข้อมูลเรียบร้อย" }));
            }
            else
            {
                return(RedirectToAction("ManageProduct", "Product"));
            }
        }
示例#17
0
        public ActionResult addProduct()
        {
            Database db;
            int      typeID = Int32.Parse(Request.Params["protype_id"]);

            string[] brandID = Request.Form.GetValues("probrand_id");

            ProductTypeModel ptModel = new ProductTypeModel();

            ptModel.PRO_TYP_ID = typeID;

            for (int i = 0; i < brandID.Length; i++)
            {
                ProductBrandModel pbModel = new ProductBrandModel();
                pbModel.PRO_BRAND_ID = Int32.Parse(brandID[i]);

                ProductModel pModel = new ProductModel();
                pModel.BANRD = pbModel;
                pModel.TYPE  = ptModel;

                // ค้นข้อมูลมา ตรวจสอบค่าก่อนจะเพิ่มลงฐานข้อมูล
                db = new Database();
                ProductDAO pDAO = new ProductDAO(db);
                bool       tf   = pDAO.HasField(pModel);        // ค้นหาจาก Type and brand
                db.Close();

                // ถ้าไม่มีให้เพิ่มได้ ถ้ามีไม่ต้องทำอะไร
                if (!tf)
                {
                    db   = new Database();
                    pDAO = new ProductDAO(db);
                    pDAO.Add(pModel);
                    db.Close();
                }
            }

            return(RedirectToAction("ManageProduct", "Product"));
        }
示例#18
0
        public HttpResponseMessage AddProductBrand([FromBody] ProductBrandModel productBrandModel)
        {
            Regex reg = new Regex(@"^[^ %@#!*~&',;=?$\x22]+$");
            var   m   = reg.IsMatch(productBrandModel.Bname);

            if (!m)
            {
                return(PageHelper.toJson(PageHelper.ReturnValue(false, "存在非法字符!")));
            }
            else
            {
                ProductBrandEntity pbe = new ProductBrandEntity()
                {
                    Addtime  = DateTime.Now,
                    Adduser  = _workContext.CurrentUser.Id.ToString(CultureInfo.InvariantCulture),
                    Bimg     = productBrandModel.Bimg,
                    Bname    = productBrandModel.Bname,
                    Updtime  = DateTime.Now,
                    Upduser  = _workContext.CurrentUser.Id.ToString(CultureInfo.InvariantCulture),
                    SubTitle = productBrandModel.SubTitle,
                    Content  = productBrandModel.Content,
                    AdTitle  = productBrandModel.AdTitle,
                    ClassId  = productBrandModel.ClassId
                };

                try
                {
                    _productBrandService.Create(pbe);
                    return(PageHelper.toJson(PageHelper.ReturnValue(true, "添加成功!")));
                }
                catch (Exception)
                {
                    return(PageHelper.toJson(PageHelper.ReturnValue(false, "不能添加自身!")));
                }
            }
        }
示例#19
0
        protected ProductDetailsModel PrepareProductDetailsModel(ProductOverviewModel product, int?selectedPriceId = null)
        {
            if (product == null)
            {
                throw new ArgumentNullException("product");
            }

            #region Standard properties

            var model = new ProductDetailsModel
            {
                Id                  = product.Id,
                Name                = string.IsNullOrWhiteSpace(product.H1Title) ? product.Name : product.H1Title,
                ShortDescription    = product.ShortDescription,
                FullDescription     = product.FullDescription,
                DeliveryTimeLine    = product.DeliveryTimeLine,
                OptionType          = product.OptionType,
                AverageReviewRating = product.AverageReviewRating,
                IsPhoneOrder        = product.IsPhoneOrder,
                PhoneOrderMessage   = product.IsPhoneOrder ? _catalogSettings.PhoneOrderMessage : string.Empty,
                UrlKey              = product.UrlKey,
                Enabled             = product.Enabled,
                Discontinued        = product.Discontinued,
                MetaDescription     = product.MetaDescription,
                MetaKeywords        = product.MetaKeywords,
                MetaTitle           = product.MetaTitle
            };

            #endregion

            #region Brand

            var brand = _brandService.GetBrandById(product.BrandId);
            if (brand != null)
            {
                PictureModel brandPicture = null;
                if (string.IsNullOrEmpty(brand.FlashImage) == false)
                {
                    brandPicture = new PictureModel
                    {
                        AlternateText = brand.Name,
                        Title         = brand.Name,
                        ImageUrl      = "/media/brand/" + brand.FlashImage
                    };
                }
                var productBrandModel = new ProductBrandModel();
                productBrandModel.Picture  = brandPicture;
                productBrandModel.Name     = brand.Name;
                productBrandModel.BrandUrl = Url.RouteUrl("Brand", new { urlKey = brand.UrlRewrite }, Request.Url.Scheme);
                productBrandModel.Visible  = true;

                model.ProductBrand = productBrandModel;
            }

            #endregion

            #region Pictures

            var medias              = product.Images;
            var defaultPicture      = medias.Where(x => x.Enabled == true).FirstOrDefault();
            var defaultPictureModel = new PictureModel();
            if (defaultPicture != null)
            {
                defaultPictureModel = new PictureModel
                {
                    Title            = product.Name,
                    AlternateText    = product.Name,
                    ImageUrl         = string.Format("/media/product/{0}", defaultPicture.ThumbnailFilename),
                    FullSizeImageUrl = string.Format("/media/product/{0}", string.IsNullOrEmpty(defaultPicture.HighResFilename) ? defaultPicture.MediaFilename : defaultPicture.HighResFilename)
                };
            }

            var pictureModels = new List <PictureModel>();
            foreach (var picture in medias)
            {
                if (picture.Enabled)
                {
                    pictureModels.Add(new PictureModel
                    {
                        Id               = picture.Id,
                        Title            = product.Name,
                        AlternateText    = product.Name,
                        ImageUrl         = string.Format("/media/product/{0}", picture.ThumbnailFilename),
                        FullSizeImageUrl = string.Format("/media/product/{0}", string.IsNullOrEmpty(picture.HighResFilename) ? picture.MediaFilename : picture.HighResFilename)
                    });
                }
            }

            model.DefaultPicture = defaultPictureModel;
            model.PictureModels  = pictureModels;

            #endregion

            #region Product prices

            var productPrices = _productService.GetProductPricesByProductId(product.Id);
            productPrices = productPrices.OrderBy(pp => pp.Priority).ToList();

            var defaultProductPrice = productPrices.Where(x => x.Stock > 0).FirstOrDefault();
            if (defaultProductPrice == null)
            {
                defaultProductPrice = productPrices.Where(x => x.Enabled == true).FirstOrDefault();
            }

            if (selectedPriceId.HasValue)
            {
                var found = productPrices.Where(x => x.Id == selectedPriceId.Value).FirstOrDefault();
                if (found != null)
                {
                    defaultProductPrice = found;
                }
            }

            var defaultProductPriceModel = new ProductPriceModel();
            if (defaultProductPrice != null)
            {
                defaultProductPriceModel = defaultProductPrice.PrepareProductPriceModel(
                    product.OptionType,
                    product.Discontinued,
                    product.ProductEnforcedStockCount,
                    product.BrandEnforcedStockCount,
                    isPreSelected: true);
            }
            model.DefaultProductPrice = defaultProductPriceModel;

            foreach (var item in productPrices)
            {
                var price = item.PrepareProductPriceModel(
                    product.OptionType,
                    product.Discontinued,
                    product.ProductEnforcedStockCount,
                    product.BrandEnforcedStockCount,
                    isPreSelected: item.Id == defaultProductPriceModel.Id);

                model.ProductPrices.Add(price);
            }

            #endregion

            #region Add to cart

            model.AddToCart = PrepareAddToCartModel(product, defaultProductPrice);

            #endregion

            #region Product offer

            if (defaultProductPrice != null && (defaultProductPrice.OfferRuleId > 0))
            {
                var offerRule = _offerService.GetOfferRuleById(defaultProductPrice.OfferRuleId);
                if (offerRule != null &&
                    offerRule.ShowCountDown &&
                    offerRule.EndDate != null &&
                    offerRule.EndDate.Value != DateTime.MinValue &&
                    offerRule.EndDate.Value.CompareTo(DateTime.Now) >= 0)
                {
                    model.ProductOffer = new ProductOfferModel
                    {
                        ExpiryDate = offerRule.EndDate.Value,
                        Visible    = true
                    };
                }
            }

            #endregion

            #region Product tags

            var productTags = _productService.GetProductTagsByProductId(product.Id);

            if (productTags != null)
            {
                foreach (var productTag in productTags)
                {
                    model.ProductTags.Add(new ProductTagModel
                    {
                        Id          = productTag.TagId,
                        Tag         = productTag.Tag.Name,
                        Description = productTag.Value
                    });
                }
            }

            #endregion

            #region Product reviews

            var reviews = _productService.GetApprovedProductReviewsByProductId(product.Id);

            if (reviews != null)
            {
                foreach (var review in reviews)
                {
                    model.Reviews.Add(new ProductReviewModel
                    {
                        Title     = review.Title,
                        Comment   = review.Comment,
                        Score     = review.Score,
                        Alias     = review.Alias,
                        TimeStamp = review.TimeStamp
                    });
                }
            }

            #endregion

            #region Breadcrumb

            model.ProductBreadcrumb = PrepareProductBreadcrumbModel(product.Id);

            #endregion

            return(model);
        }
示例#20
0
 public async Task SetProductVendor(Guid productId, ProductBrandModel model) => await Commands.SetProductVendor(productId, model.BrandId);