public static MultiDropDownItem ConvertToMultiDropDownItem(this AttributeCategoryViewModel model) { var item = new MultiDropDownItem() { Value = model.CategoryId.ToString(), Text = model.GetLocalizedName() }; return(item); }
private static List <AttributeCategoryViewModel> GetSimpleLevelData(this ClientFieldData[] formData, string name) { var result = new List <AttributeCategoryViewModel>(); var fieldsName = new string[] { string.Format("{0}-categoryEn", name), string.Format("{0}-categoryEs", name), string.Format("{0}-categoryPt", name), string.Format("{0}-categoryFr", name), string.Format("{0}-disabled", name), string.Format("{0}-code", name), }; var fields = formData.Where(x => !string.IsNullOrWhiteSpace(x.Id) && fieldsName.Any(y => x.Name == y)); var fieldsGrouped = fields.GroupBy(x => x.Id); foreach (var item in fieldsGrouped) { var model = new AttributeCategoryViewModel() { CreateLanguage = Localization.CurrentLanguage }; result.Add(model); var field = item.FirstOrDefault(x => x.Name == fieldsName[0]); model.NameEn = null; if (field != null) { model.NameEn = field.Value; } field = item.FirstOrDefault(x => x.Name == fieldsName[1]); model.NameEs = null; if (field != null) { model.NameEs = field.Value; } field = item.FirstOrDefault(x => x.Name == fieldsName[2]); model.NamePt = null; if (field != null) { model.NamePt = field.Value; } field = item.FirstOrDefault(x => x.Name == fieldsName[3]); model.NameFr = null; if (field != null) { model.NameFr = field.Value; } field = item.FirstOrDefault(x => x.Name == fieldsName[4]); model.IsEnabled = false; if (field != null) { model.IsEnabled = !GetBoolValue(field.Value); } field = item.FirstOrDefault(x => x.Name == fieldsName[5]); model.Code = null; if (field != null) { model.Code = field.Value; } if (!item.Key.Contains("new")) { model.CategoryId = int.Parse(item.Key); } } return(result); }
private static List <AttributeLevelViewModel> GetMultiLevelData(this ClientFieldData[] formData, string name) { var currentLanguage = Localization.CurrentLanguage; var result = new List <AttributeLevelViewModel>(); var fieldsNameLevel = new string[] { string.Format("{0}-levelEn", name), string.Format("{0}-levelEs", name), string.Format("{0}-levelPt", name), string.Format("{0}-levelFr", name), string.Format("{0}-level-disabled", name), }; var fieldsNameCategory = new string[] { string.Format("{0}-categoryEn", name), string.Format("{0}-categoryEs", name), string.Format("{0}-categoryPt", name), string.Format("{0}-categoryFr", name), string.Format("{0}-category-disabled", name), }; var fieldsLevel = formData.Where(x => !string.IsNullOrWhiteSpace(x.Id) && fieldsNameLevel.Any(y => x.Name == y)); var fieldsCategory = formData.Where(x => !string.IsNullOrWhiteSpace(x.Id) && fieldsNameCategory.Any(y => x.Name == y)); var fieldsLevelGrouped = fieldsLevel.GroupBy(x => x.Id); foreach (var levelItem in fieldsLevelGrouped) { var levelId = 0; var levelModel = new AttributeLevelViewModel(); result.Add(levelModel); var levelField = levelItem.FirstOrDefault(x => x.Name == fieldsNameLevel[0]); levelModel.NameEn = null; if (levelField != null) { levelModel.NameEn = levelField.Value; } levelField = levelItem.FirstOrDefault(x => x.Name == fieldsNameLevel[1]); levelModel.NameEs = null; if (levelField != null) { levelModel.NameEs = levelField.Value; } levelField = levelItem.FirstOrDefault(x => x.Name == fieldsNameLevel[2]); levelModel.NamePt = null; if (levelField != null) { levelModel.NamePt = levelField.Value; } levelField = levelItem.FirstOrDefault(x => x.Name == fieldsNameLevel[3]); levelModel.NameFr = null; if (levelField != null) { levelModel.NameFr = levelField.Value; } levelField = levelItem.FirstOrDefault(x => x.Name == fieldsNameLevel[4]); levelModel.IsEnabled = false; if (levelField != null) { levelModel.IsEnabled = !GetBoolValue(levelField.Value); } if (!levelItem.Key.Contains("new")) { levelId = int.Parse(levelItem.Key); levelModel.LevelId = levelId; } var categoriesFromLevel = fieldsCategory.Where(x => x.ExtraData.Any(y => (y.Key == "data-persist-parent-id") && (y.Value == levelItem.Key))); var categoriesFromLevelGrouped = categoriesFromLevel.GroupBy(x => x.Id); foreach (var categoryItem in categoriesFromLevelGrouped) { var categoryModel = new AttributeCategoryViewModel() { CreateLanguage = currentLanguage, LevelId = levelId }; levelModel.Categories.Add(categoryModel); var field = categoryItem.FirstOrDefault(x => x.Name == fieldsNameCategory[0]); categoryModel.NameEn = null; if (field != null) { categoryModel.NameEn = field.Value; } field = categoryItem.FirstOrDefault(x => x.Name == fieldsNameCategory[1]); categoryModel.NameEs = null; if (field != null) { categoryModel.NameEs = field.Value; } field = categoryItem.FirstOrDefault(x => x.Name == fieldsNameCategory[2]); categoryModel.NamePt = null; if (field != null) { categoryModel.NamePt = field.Value; } field = categoryItem.FirstOrDefault(x => x.Name == fieldsNameCategory[3]); categoryModel.NameFr = null; if (field != null) { categoryModel.NameFr = field.Value; } field = categoryItem.FirstOrDefault(x => x.Name == fieldsNameCategory[4]); categoryModel.IsEnabled = false; if (field != null) { categoryModel.IsEnabled = !GetBoolValue(field.Value); } if (!categoryItem.Key.Contains("new")) { categoryModel.CategoryId = int.Parse(categoryItem.Key); } } } return(result); }