public void Seed(Storage storage, int plantCode) { storage.Insert(new Manufacturer { Name = "ЧерМК", IsPrimary = true }); storage.Insert(new Manufacturer { Name = "НЛМК", IsPrimary = true }); storage.Insert(new Manufacturer { Name = "ММК", IsPrimary = true }); //storage.Insert(new Manufacturer { Name = "(1) КТЗ", IsPrimary = false }); //storage.Insert(new Manufacturer { Name = "(1) РязТЗ", IsPrimary = false }); //storage.Insert(new Manufacturer { Name = "(1) БТЗ", IsPrimary = false }); //storage.Insert(new Manufacturer { Name = "(1) ОМК", IsPrimary = false }); //storage.Insert(new Manufacturer { Name = "(1) СЗТЗ", IsPrimary = false }); //storage.Insert(new Manufacturer { Name = "(1) ТПК Союз", IsPrimary = false }); //storage.Insert(new Manufacturer { Name = "(1) Машпрофиль", IsPrimary = false }); //storage.Insert(new Manufacturer { Name = "(1) Профиль А", IsPrimary = false }); //storage.Insert(new Manufacturer { Name = "(1) БИС", IsPrimary = false }); storage.Insert(new Manufacturer { Name = "(2) ВестМет", IsPrimary = false }); //storage.Insert(new Manufacturer { Name = "(2) Промизделия", IsPrimary = false }); storage.Insert(new Manufacturer { Name = "(2) ТЭМПО", IsPrimary = false }); //storage.Insert(new Manufacturer { Name = "(2) ОМК", IsPrimary = false }); //storage.Insert(new Manufacturer { Name = "(2) ТМК", IsPrimary = false }); //storage.Insert(new Manufacturer { Name = "(2) Уралтрубпром", IsPrimary = false }); //storage.Insert(new Manufacturer { Name = "(2) Исаевский ТЗ", IsPrimary = false }); storage.Insert(new PriceExtraCategory { Name = "Себестоимость" }); storage.Insert(new PriceExtraCategory { Name = "Доставка материала" }); storage.Insert(new PriceExtraCategory { Name = "Передел" }); storage.Insert(new PriceExtraCategory { Name = "Доставка до Москвы" }); var allManufacturers = storage .Manufacturers .ToList(); var primaryManufacturers = allManufacturers.Where(m => m.IsPrimary); var nonPrimaryManufacturers = allManufacturers.Where(m => !m.IsPrimary); var materialThickness = EnumerateThickness(plantCode); foreach (var thickness in materialThickness) { foreach (var rollType in new [] {RollType.Cold, RollType.Hot }) { foreach (var alloyType in new[] {AlloyType.LowAlloy, AlloyType.Regular }) { var materialType = new RawMaterialType { AlloyType = alloyType, RollType = rollType, Thickness = thickness, }; SetMaterialTypeName(materialType); var materialTypeId = storage.InsertWithIdentity(materialType); foreach (var primaryManufacturer in primaryManufacturers) { var rawMaterialId = storage.InsertWithIdentity( new RawMaterial { ManufacturerId = primaryManufacturer.ManufacturerId, RawMaterialTypeId = Convert.ToInt32(materialTypeId), }); foreach (var productName in EnumerateProductNames(plantCode, rollType, alloyType)) { storage.Insert( new Product { ManufacturerId = primaryManufacturer.ManufacturerId, RawMaterialId = Convert.ToInt32(rawMaterialId), Name = productName, Thickness = thickness, }); foreach (var nonPrimaryManufacturer in nonPrimaryManufacturers) { storage.Insert( new Product { ManufacturerId = nonPrimaryManufacturer.ManufacturerId, RawMaterialId = Convert.ToInt32(rawMaterialId), Name = productName, Thickness = thickness, }); } } } } } } }
private void SetMaterialTypeName(RawMaterialType rawMaterialType) { string rollType, alloyType; switch (rawMaterialType.RollType) { case RollType.Cold: rollType = " х/к"; break; case RollType.Hot: rollType = " г/к"; break; default: rollType = ""; break; } switch (rawMaterialType.AlloyType) { case AlloyType.LowAlloy: alloyType = " низколегир."; break; case AlloyType.Regular: alloyType = " рядовой"; break; default: alloyType = ""; break; } rawMaterialType.Name = $"Штрипс{alloyType}{rollType} {rawMaterialType.Thickness}мм"; }