public virtual CatalogProperty ToProperty(catalogDto.Property propertyDto, Language currentLanguage) { var retVal = new CatalogProperty(); retVal.Id = propertyDto.Id; retVal.Name = propertyDto.Name; retVal.Type = propertyDto.Type; retVal.ValueType = propertyDto.ValueType; //Set display names and set current display name for requested language if (propertyDto.DisplayNames != null) { retVal.DisplayNames = propertyDto.DisplayNames.Select(x => new LocalizedString(new Language(x.LanguageCode), x.Name)).ToList(); retVal.DisplayName = retVal.DisplayNames.FindWithLanguage(currentLanguage, x => x.Value, null); } //if display name for requested language not set get system property name if (string.IsNullOrEmpty(retVal.DisplayName)) { retVal.DisplayName = propertyDto.Name; } //For multilingual properties need populate LocalizedValues collection and set value for requested language if (propertyDto.Multilanguage ?? false) { if (propertyDto.Values != null) { retVal.LocalizedValues = propertyDto.Values.Where(x => x.Value != null).Select(x => new LocalizedString(new Language(x.LanguageCode), x.Value.ToString())).ToList(); } } //Set property value if (propertyDto.Values != null) { var propValue = propertyDto.Values.FirstOrDefault(x => x.Value != null); if (propValue != null) { //Use only one prop value (reserve multi-values to other scenarios) retVal.Value = propValue.Value; retVal.ValueId = propValue.ValueId; } } //Try to set value for requested language if (retVal.LocalizedValues.Any()) { retVal.Value = retVal.LocalizedValues.FindWithLanguage(currentLanguage, x => x.Value, retVal.Value); } return(retVal); }
public static CatalogProperty ToWebModel(this VirtoCommerceCatalogModuleWebModelProperty property, Language currentLanguage) { var retVal = new CatalogProperty(); retVal.InjectFrom(property); //Set display names and set current display name for requested language if (property.DisplayNames != null) { retVal.DisplayNames = property.DisplayNames.Select(x => new LocalizedString(new Language(x.LanguageCode), x.Name)).ToList(); retVal.DisplayName = retVal.DisplayNames.Where(x => x.Language.Equals(currentLanguage)) .Select(x => x.Value) .FirstOrDefault(); } //if display name for requested language not set get system property name if (String.IsNullOrEmpty(retVal.DisplayName)) { retVal.DisplayName = property.Name; } //For multilingual properties need populate LocalizedValues collection and set value for requested language if (property.Multilanguage ?? false) { if (property.Values != null) { retVal.LocalizedValues = property.Values.Where(x => x.Value != null).Select(x => new LocalizedString(new Language(x.LanguageCode), x.Value.ToString())).ToList(); } } //Set property value if (property.Values != null) { var propValue = property.Values.Where(x => x.Value != null).FirstOrDefault(); if (propValue != null) { //Use only one prop value (reserve multivalues to other scenarious) retVal.Value = propValue.Value.ToString(); retVal.ValueId = propValue.ValueId; } } //Try to set value for requested language if (retVal.LocalizedValues.Any()) { retVal.Value = retVal.LocalizedValues.Where(x => x.Language.Equals(currentLanguage)) .Select(x => x.Value ?? retVal.Value) .FirstOrDefault() ?? retVal.Value; } return(retVal); }
public JsonResult UpdateProperty(long id, string cataproname, string cataprokey, int typeproperty, int typedesignproperty) { try { CatalogPropertiesBusiness catalogPropertiesBusiness = new CatalogPropertiesBusiness(); CatalogProperty catalogProperty = new CatalogProperty(); catalogProperty = catalogPropertiesBusiness.GetById(id); catalogProperty.Key = cataprokey; catalogProperty.Type = typeproperty; catalogProperty.TypeDesign = typedesignproperty; catalogProperty.Name = cataproname; catalogPropertiesBusiness.Edit(catalogProperty); return(Json(1)); } catch { return(Json(0)); } }
public JsonResult AddPropertyUpdate(long id, string propertyvalue) { try { CatalogPropertiesBusiness catalogPropertiesBusiness = new CatalogPropertiesBusiness(); CatalogProperty catalogProperty = new CatalogProperty(); catalogProperty = catalogPropertiesBusiness.GetById(id); CatalogPropertiesValue objCatalogPropertiesValue = new CatalogPropertiesValue(); objCatalogPropertiesValue.Value = propertyvalue; objCatalogPropertiesValue.CatalogPropertieId = id; catalogProperty.CatalogPropertiesValues.Add(objCatalogPropertiesValue); catalogPropertiesBusiness.Edit(catalogProperty); return(Json(1));//Cập nhật thành công } catch (Exception) { return(Json(0)); //write log throw; } }
public static CatalogProperty ToProperty(this catalogDto.Property propertyDto, Language currentLanguage) { var result = new CatalogProperty { Id = propertyDto.Id, Name = propertyDto.Name, Type = propertyDto.Type, ValueType = propertyDto.ValueType, IsMultivalue = propertyDto.Multivalue ?? false }; //Set display names and set current display name for requested language if (propertyDto.DisplayNames != null) { result.DisplayNames = propertyDto.DisplayNames.Select(x => new LocalizedString(new Language(x.LanguageCode), x.Name)).ToList(); result.DisplayName = result.DisplayNames.FindWithLanguage(currentLanguage, x => x.Value, null); } //if display name for requested language not set get system property name if (string.IsNullOrEmpty(result.DisplayName)) { result.DisplayName = propertyDto.Name; } //For multilingual properties need populate LocalizedValues collection and set value for requested language if (propertyDto.Multilanguage ?? false) { if (propertyDto.Values != null) { result.LocalizedValues = propertyDto.Values.Where(x => x.Value != null).Select(x => new LocalizedString(new Language(x.LanguageCode), x.Value.ToString())).ToList(); } } //Set property value var propValue = propertyDto.Values?.FirstOrDefault(v => v.Value != null); if (propValue != null) { //Use only one prop value (reserve multi-values to other scenarios) result.Value = propValue.Value?.ToString(); result.ValueId = propValue.ValueId; } //Try to set value for requested language if (result.LocalizedValues.Any()) { result.Value = result.LocalizedValues.FindWithLanguage(currentLanguage, x => x.Value, result.Value); } //Set multivalues if (result.IsMultivalue && propertyDto.Values != null) { if (result.LocalizedValues.Any()) { result.Values = result.LocalizedValues.GetLocalizedStringsForLanguage(currentLanguage).Select(x => x.Value).ToList(); } else { result.Values = propertyDto.Values.Where(x => x != null).Select(x => x.Value.ToString()).ToList(); } } return(result); }
set => SetValue(CatalogProperty, value);
public JsonResult AddProperty(string nameproperty, int typevalue, int typedesgin, long cate, string allvalue) { try { CatalogProperty objCatalogProperty = new CatalogProperty(); objCatalogProperty.CatalogId = cate; objCatalogProperty.Type = typevalue; objCatalogProperty.TypeDesign = typedesgin; objCatalogProperty.Name = nameproperty; objCatalogProperty.Key = Function.ConvertFileName(nameproperty); var vl = allvalue.TrimEnd('|'); var arrValue = vl.Split('|'); List <CatalogPropertiesValue> catalogPropertiesValues = new List <CatalogPropertiesValue>(); foreach (var s in arrValue) { CatalogPropertiesValue objCatalogPropertiesValue = new CatalogPropertiesValue(); objCatalogPropertiesValue.Value = s; catalogPropertiesValues.Add(objCatalogPropertiesValue); } objCatalogProperty.CatalogPropertiesValues = catalogPropertiesValues; _catalogPropertiesBusiness.AddNew(objCatalogProperty); string htm = ""; htm += "<div class=\"panel panel-default tht_panel panlel_" + objCatalogProperty.Id + "\">" + "<div class=\"panel-heading\">" + "<h3 class=\"panel-title\">" + " <input id=\"cataproname" + objCatalogProperty.Id + "\" type=\"text\" value=\"" + objCatalogProperty.Name + "\" />" + " <input id=\"cataprokey" + objCatalogProperty.Id + "\" type=\"text\" value=\"" + objCatalogProperty.Key + "\" />"; if (objCatalogProperty.TypeDesign == 1) { if (objCatalogProperty.Type == 1) { htm += "<label ><input type=\"checkbox\" style=\"display:none;\" checked id =\"typeproperty\" value=\"" + objCatalogProperty.Type + "\">Cho phép chọn nhiều? </label><input type=\"checkbox\" id =\"typedesignproperty\" checked value=\"" + objCatalogProperty.TypeDesign + "\">Hiển thị 1 dòng </label><a class=\"del_1\" onclick=\"UpdateProperties(" + objCatalogProperty.Id + ")\">Sửa</a><a class=\"del_1\" onclick=\"DeleteProperties(" + objCatalogProperty.Id + ")\">Xóa</a></div>" + "<div class=\"panel-body\">"; } else { htm += "<label ><input type=\"checkbox\" style=\"display:none;\" id =\"typeproperty\" value=\"" + objCatalogProperty.Type + "\">Cho phép chọn nhiều? </label><input type=\"checkbox\" id =\"typedesignproperty\" checked value=\"" + objCatalogProperty.TypeDesign + "\">Hiển thị 1 dòng </label><a class=\"del_1\" onclick=\"UpdateProperties(" + objCatalogProperty.Id + ")\">Sửa</a><a class=\"del_1\" onclick=\"DeleteProperties(" + objCatalogProperty.Id + ")\">Xóa</a></div>" + "<div class=\"panel-body\">"; } } else { if (objCatalogProperty.Type == 1) { htm += "<label><input type=\"checkbox\" style=\"display:none;\" id =\"typeproperty\" checked value=\"" + objCatalogProperty.Type + "\">Cho phép chọn nhiều? </label><input type=\"checkbox\" id =\"typedesignproperty\" value=\"" + objCatalogProperty.TypeDesign + "\">Hiển thị 1 dòng </label><a class=\"del_1\" onclick=\"UpdateProperties(" + objCatalogProperty.Id + ")\">Sửa</a><a class=\"del_1\" onclick=\"DeleteProperties(" + objCatalogProperty.Id + ")\">Xóa</a></div>" + "<div class=\"panel-body\">"; } else { htm += "<label><input type=\"checkbox\" style=\"display:none;\" id =\"typeproperty\" value=\"" + objCatalogProperty.Type + "\">Cho phép chọn nhiều? </label><input type=\"checkbox\" id =\"typedesignproperty\" value=\"" + objCatalogProperty.TypeDesign + "\">Hiển thị 1 dòng </label><a class=\"del_1\" onclick=\"UpdateProperties(" + objCatalogProperty.Id + ")\">Sửa</a><a class=\"del_1\" onclick=\"DeleteProperties(" + objCatalogProperty.Id + ")\">Xóa</a></div>" + "<div class=\"panel-body\">"; } } foreach (var item2 in objCatalogProperty.CatalogPropertiesValues) { htm += "<p id=\"properties_value_" + item2.Id + "\">+ <input id=\"properties_value_edit_" + item2.Id + "\" type=\"text\" value=\"" + item2.Value + "\" /><a class=\"update_2\" onclick=\"UpdatePropertiesValue(" + item2.Id + ")\">Sửa</a><a class=\"del_2\" onclick=\"DeletePropertiesValue(" + item2.Id + ")\">Xóa</a></p>"; } htm += " </div></div>"; return(Json(htm));//add susess } catch (Exception) { return(Json(0)); //write log throw; } }