public static MultiDropDownItem ConvertToMultiDropDownItem(this AttributeCategoryViewModel model)
        {
            var item = new MultiDropDownItem()
            {
                Value = model.CategoryId.ToString(),
                Text  = model.GetLocalizedName()
            };

            return(item);
        }
Exemple #2
0
        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);
        }
Exemple #3
0
        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);
        }