private void Insert() { string ErrorMessage = String.Empty; if (String.IsNullOrEmpty(TextBox_Title.Text)) { ErrorMessage += "请输入标题!"; } if (String.IsNullOrEmpty(TextBox_Content.Text)) { ErrorMessage += "请输入内容!"; } if (!String.IsNullOrEmpty(ErrorMessage)) { MessageBox.Show(this, ErrorMessage); return; } ProductSpecificationModel model = new ProductSpecificationModel(); model.SpecificationID = CommDataHelper.GetNewSerialNum(AppType.Product); model.CategoryID = 0; model.CategoryPath = ""; model.Content = TextBox_Content.Text; model.CreateTime = DateTime.Now; model.Title = TextBox_Title.Text; model.Type = Convert.ToInt16(DropDown_Type.SelectedValue); bll.Insert(model); }
protected void Button_Edit_Click(object sender, EventArgs e) { string ErrorMessage = String.Empty; if (String.IsNullOrEmpty(TextBox_Title.Text)) { ErrorMessage += "请输入标题!"; } if (String.IsNullOrEmpty(TextBox_Content.Text)) { ErrorMessage += "请输入内容!"; } if (!String.IsNullOrEmpty(ErrorMessage)) { MessageBox.Show(this, ErrorMessage); return; } ProductSpecificationModel model = bll.GetModel(SpecificationID); model.Title = TextBox_Title.Text; model.Content = TextBox_Content.Text; model.Type = Convert.ToInt16(DropDown_Type.SelectedValue); bll.Update(model); Response.Redirect("List.aspx?type=" + DropDown_Type.SelectedValue); }
public static IList <ProductSpecificationModel> PrepareProductSpecificationModel(this Controller controller, IWorkContext workContext, ISpecificationAttributeService specificationAttributeService, ICacheManager cacheManager, Product product) { if (product == null) { throw new ArgumentNullException("product"); } string cacheKey = string.Format(ModelCacheEventConsumer.PRODUCT_SPECS_MODEL_KEY, product.Id, workContext.WorkingLanguage.Id); return(cacheManager.Get(cacheKey, () => //specificationAttributeService.GetProductSpecificationAttributes(product.Id, 0, null, true) product.ProductSpecificationAttributes.Where(x => x.ShowOnProductPage) .Select(psa => { var specificationAttribute = specificationAttributeService.GetSpecificationAttributeById(psa.SpecificationAttributeId); var m = new ProductSpecificationModel { SpecificationAttributeId = psa.SpecificationAttributeId, SpecificationAttributeName = specificationAttribute.GetLocalized(x => x.Name), ColorSquaresRgb = specificationAttribute.SpecificationAttributeOptions.Where(x => x.Id == psa.SpecificationAttributeOptionId).FirstOrDefault() != null ? specificationAttribute.SpecificationAttributeOptions.Where(x => x.Id == psa.SpecificationAttributeOptionId).FirstOrDefault().ColorSquaresRgb : "", }; switch (psa.AttributeType) { case SpecificationAttributeType.Option: m.ValueRaw = HttpUtility.HtmlEncode(specificationAttribute.SpecificationAttributeOptions.Where(x => x.Id == psa.SpecificationAttributeOptionId).FirstOrDefault().GetLocalized(x => x.Name)); break; case SpecificationAttributeType.CustomText: m.ValueRaw = HttpUtility.HtmlEncode(psa.CustomValue); break; case SpecificationAttributeType.CustomHtmlText: m.ValueRaw = psa.CustomValue; break; case SpecificationAttributeType.Hyperlink: m.ValueRaw = string.Format("<a href='{0}' target='_blank'>{0}</a>", psa.CustomValue); break; default: break; } return m; }).ToList() )); }
private ProductDetailsModel GetProductDetails(int productId, int updateCartItemId = 0) { var controllerContext = new ControllerContext(); var product = _productService.GetProductById(productId); var cart = _workContext.CurrentCustomer.ShoppingCartItems .LimitPerStore(_storeContext.CurrentStore.Id).ToList(); var updatecartitem = cart.FirstOrDefault(x => x.Id == updateCartItemId); var model = _productModelFactory.PrepareProductDetailsModel(product, updatecartitem, false); // add hidden specification params // which checked as "don't show on product page" model.ProductSpecifications = _specificationAttributeService.GetProductSpecificationAttributes(productId, 0, null, null) .Select(psa => { var m = new ProductSpecificationModel { SpecificationAttributeId = psa.SpecificationAttributeOption.SpecificationAttributeId, SpecificationAttributeName = psa.SpecificationAttributeOption.SpecificationAttribute .GetLocalized(x => x.Name), ColorSquaresRgb = psa.SpecificationAttributeOption.ColorSquaresRgb }; switch (psa.AttributeType) { case SpecificationAttributeType.Option: m.ValueRaw = WebUtility.HtmlEncode(psa.SpecificationAttributeOption.GetLocalized(x => x.Name)); break; case SpecificationAttributeType.CustomText: m.ValueRaw = WebUtility.HtmlEncode(psa.CustomValue); break; case SpecificationAttributeType.CustomHtmlText: m.ValueRaw = psa.CustomValue; break; case SpecificationAttributeType.Hyperlink: m.ValueRaw = string.Format("<a href='{0}' target='_blank'>{0}</a>", psa.CustomValue); break; default: break; } return(m); }) .ToList(); return(model); }
private void BindData() { ProductSpecificationModel model = bll.GetModel(SpecificationID); TextBox_Title.Text = model.Title; TextBox_Content.Text = model.Content; DropDown_Type.DataSource = DataTableUtil.GetEnumKeyValue(typeof(SpecificationType)); DropDown_Type.DataTextField = "key"; DropDown_Type.DataValueField = "value"; DropDown_Type.DataBind(); DropDown_Type.SelectedValue = model.Type.ToString(); }
public void Update(ProductSpecificationModel Model) { string SpName = "UP_pdProductSpecification_Update"; DbCommand Command = dbw.GetStoredProcCommand(SpName); dbw.AddInParameter(Command, "@SpecificationID", DbType.Int32, Model.SpecificationID); dbw.AddInParameter(Command, "@Title", DbType.String, Model.Title); dbw.AddInParameter(Command, "@Content", DbType.String, Model.Content); dbw.AddInParameter(Command, "@CategoryID", DbType.Int32, Model.CategoryID); dbw.AddInParameter(Command, "@CategoryPath", DbType.String, Model.CategoryPath); dbw.AddInParameter(Command, "@CreateTime", DbType.DateTime, Model.CreateTime); dbw.AddInParameter(Command, "@Type", DbType.Int32, Model.Type); dbw.ExecuteNonQuery(Command); }
public ProductSpecificationModel GetModel(int SpecificationID) { string SpName = "UP_pdProductSpecification_GetModel"; DbCommand Command = dbr.GetStoredProcCommand(SpName); dbr.AddInParameter(Command, "@SpecificationID", DbType.Int32, SpecificationID); DataTable dt = dbr.ExecuteDataSet(Command).Tables[0]; ProductSpecificationModel model = null; if (dt.Rows.Count > 0) { model = new ProductSpecificationModel(dt.Rows[0]); } return(model); }
// GET: /Product/Edit public IActionResult Edit(Guid?id, string ActiveTab) { if (id == null) { return(RedirectToAction("List")); } // check product id exist var productEntity = _productService.GetProductById(id ?? Guid.Empty); if (productEntity == null) { return(RedirectToAction("List")); } // get all categories var categoryIds = new List <string>(); foreach (var category in productEntity.Categories) { categoryIds.Add(category.Category.Id.ToString()); } // get all manufacturers var manufacturerIds = new List <string>(); foreach (var manufacturer in productEntity.Manufacturers) { manufacturerIds.Add(manufacturer.Manufacturer.Id.ToString()); } // get all images var images = new List <ImageModel>(); foreach (var image in productEntity.Images.OrderBy(x => x.Position)) { var img = new ImageModel { Id = image.Image.Id, FileName = image.Image.FileName, SortOrder = image.SortOrder }; images.Add(img); } // get all specifications var specifications = new List <ProductSpecificationModel>(); foreach (var specification in productEntity.Specifications.OrderBy(x => x.Position)) { var spec = new ProductSpecificationModel { Key = specification.SpecificationId.ToString(), Value = System.Net.WebUtility.HtmlDecode(specification.Value), SortOrder = specification.SortOrder }; specifications.Add(spec); } // map entity to view model var model = _mapper.Map <Product, ProductCreateOrUpdateModel>(productEntity); model.Description = System.Net.WebUtility.HtmlDecode(model.Description); model.CategoryIds = categoryIds; model.ManufacturerIds = manufacturerIds; model.Images = images; model.Specifications = specifications; // view helper model.ActiveTab = ActiveTab ?? model.ActiveTab; model.CategorySelectList = _viewHelper.GetParentCategorySelectList(); model.ManufacturerSelectList = _viewHelper.GetManufacturerSelectList(); model.SpecificationKeySelectList = _viewHelper.GetSpecificationKeySelectList(); // add model to session Session.SetString(_sessionKey, JsonConvert.SerializeObject(model)); return(View(model)); }
private async Task <ProductSpecificationModel> GetOrAddProductSpecificationDtoAsync(ProductSpecificationModel productSpecification) { // Crea si no existe var current = await GetProductSpecificationDtoAsync(productSpecification.Code); if (current == null) { return(await repository.InsertAsync(productSpecification)); } return(current); }
public void Update(ProductSpecificationModel Model) { dal.Update(Model); }
public void Insert(ProductSpecificationModel Model) { dal.Insert(Model); }