Пример #1
0
		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,
										});
								}
								
							}
						}
					}
				}
			}
		}
Пример #2
0
		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}мм";
		}