public void CreateInputMaterial(InputMaterials movingMaterials) { using (IDbConnection db = new NpgsqlConnection(_connectionString)) { var NpgsqlQuery = "INSERT INTO input_material (date , documentid, supplier, price, materialid) VALUES (@TransDate, @DocumentId, @SupplierName, @Price, @MaterialId);"; db.Execute(NpgsqlQuery, movingMaterials); } }
public void Process(List <Material> materialsToUse) { UseCount++; if (InputMaterials.Any(x => x.IsOre())) { var material = new Material(OutputMaterials.FirstOrDefault().Quantity, OutputMaterials.FirstOrDefault().Type); var existingmaterial = materialsToUse.Where(x => x.Type == OutputMaterials.FirstOrDefault().Type).FirstOrDefault(); if (existingmaterial != null) { existingmaterial.Quantity += OutputMaterials.FirstOrDefault().Quantity; } else { materialsToUse.Add(material); } } else { var sufficientMaterials = InputMaterials.TrueForAll(x => x.IsSufficientAvailable(materialsToUse)); if (sufficientMaterials) { var factor = UseMaterialsAndDetermineOutputFactor(materialsToUse); var materials = new List <Material>(); var material = new Material(OutputMaterials.FirstOrDefault().Quantity *factor, OutputMaterials.FirstOrDefault().Type); var existingmaterial = materialsToUse.Where(x => x.Type == OutputMaterials.FirstOrDefault().Type).FirstOrDefault(); if (existingmaterial != null) { existingmaterial.Quantity += material.Quantity; } else { materialsToUse.Add(material); } } } }
public ActionResult InputMaterial(InputMaterials inputMaterials) { Repo.CreateInputMaterial(inputMaterials); return(RedirectToAction("InputMaterial")); }
public void AddInput(Material material) { InputMaterials.Add(material); }