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);
     }
 }
Esempio n. 2
0
            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);
                        }
                    }
                }
            }
Esempio n. 3
0
 public ActionResult InputMaterial(InputMaterials inputMaterials)
 {
     Repo.CreateInputMaterial(inputMaterials);
     return(RedirectToAction("InputMaterial"));
 }
Esempio n. 4
0
 public void AddInput(Material material)
 {
     InputMaterials.Add(material);
 }