Ejemplo n.º 1
0
        private void AddType(string name, СlothesType category, MeasurementUnits units, string[] keyWords, СlothesType?category2 = null, string[] keywords2 = null)
        {
            var type = ItemsTypes.FirstOrDefault(x => x.Name == name);

            if (type == null)
            {
                type = new ItemsType {
                    Name         = name,
                    Category     = ItemTypeCategory.wear,
                    WearCategory = category,
                    Units        = units,
                };
                switch (category)
                {
                case СlothesType.Wear:
                    type.SizeType   = sizeService.GetSizeType(uow).FirstOrDefault(x => x.Name == "Размер одежды");
                    type.HeightType = sizeService.GetSizeType(uow).FirstOrDefault(x => x.Name == "Рост");
                    break;

                case СlothesType.Shoes:
                    type.SizeType = sizeService.GetSizeType(uow).FirstOrDefault(x => x.Name == "Размер обуви");
                    break;

                case СlothesType.WinterShoes:
                    type.SizeType = sizeService.GetSizeType(uow).FirstOrDefault(x => x.Name == "Размер зимней обуви");
                    break;

                case СlothesType.Headgear:
                    type.SizeType = sizeService.GetSizeType(uow).FirstOrDefault(x => x.Name == "Размер головного убора");
                    break;

                case СlothesType.Gloves:
                    type.SizeType = sizeService.GetSizeType(uow).FirstOrDefault(x => x.Name == "Размер перчаток");
                    break;

                case СlothesType.Mittens:
                    type.SizeType = sizeService.GetSizeType(uow).FirstOrDefault(x => x.Name == "Размер рукавиц");
                    break;
                }
                ItemsTypes.Add(type);
            }
            TypeDescription desc;

            if (category2 != null)
            {
                var type2 = new ItemsType {
                    Name         = name,
                    Category     = ItemTypeCategory.wear,
                    WearCategory = category2.Value,
                    Units        = units
                };
                switch (category)
                {
                case СlothesType.Wear:
                    type2.SizeType   = sizeService.GetSizeType(uow).FirstOrDefault(x => x.Name == "Размер одежды");
                    type2.HeightType = sizeService.GetSizeType(uow).FirstOrDefault(x => x.Name == "Рост");
                    break;

                case СlothesType.Shoes:
                    type2.SizeType = sizeService.GetSizeType(uow).FirstOrDefault(x => x.Name == "Размер обуви");
                    break;

                case СlothesType.WinterShoes:
                    type2.SizeType = sizeService.GetSizeType(uow).FirstOrDefault(x => x.Name == "Размер зимней обуви");
                    break;

                case СlothesType.Headgear:
                    type2.SizeType = sizeService.GetSizeType(uow).FirstOrDefault(x => x.Name == "Размер головного убора");
                    break;

                case СlothesType.Gloves:
                    type2.SizeType = sizeService.GetSizeType(uow).FirstOrDefault(x => x.Name == "Размер перчаток");
                    break;

                case СlothesType.Mittens:
                    type2.SizeType = sizeService.GetSizeType(uow).FirstOrDefault(x => x.Name == "Размер рукавиц");
                    break;
                }
                desc = new TypeDescription(type, type2, keywords2.Select(x => x.ToLower()).ToArray());
            }
            else
            {
                desc = new TypeDescription(type);
            }

            foreach (var word in keyWords)
            {
                KeyWords.Add(word.ToLower(), desc);
            }
        }