Beispiel #1
0
        // 6.3 MaterialDiscarded
        private void JournalMaterialDiscarded(string jstr)
        {
            MaterialDiscardedEvent materialdiscarded = JsonConvert.DeserializeObject <MaterialDiscardedEvent>(jstr);

            using (var db = new EDTSQLEntities())
            {
                MaterialList mater = db.MaterialLists.Where(p => p.EDCodeName == materialdiscarded.Name).First();
                if (db.Materials.Any(o => o.MaterialName == mater.MaterialName))
                {
                    Material materialitem = db.Materials.Where(o => o.MaterialName == mater.MaterialName).First();
                    if (materialitem.Quantity == materialdiscarded.Count)
                    {
                        //Remove item from materials
                        db.Materials.RemoveRange(db.Materials.Where(o => o.MaterialName == mater.MaterialName));
                    }
                    else
                    {
                        //Update Materials record
                        materialitem.Quantity = materialitem.Quantity - materialdiscarded.Count;
                    }
                    db.SaveChanges();
                }
                db.Dispose();
            }
        }
Beispiel #2
0
        // 6 Exploration
        // 6.2 MaterialCollected
        private void JournalMaterialCollected(string jstr)
        {
            MaterialCollectedEvent materialcollected = JsonConvert.DeserializeObject <MaterialCollectedEvent>(jstr);

            using (var db = new EDTSQLEntities())
            {
                MaterialList mater = db.MaterialLists.Where(p => p.EDCodeName == materialcollected.Name).First();
                if (db.Materials.Any(o => o.MaterialName == mater.MaterialName))
                {
                    //Update Materials record
                    Material materialUpdate = db.Materials.Where(o => o.MaterialName == mater.MaterialName).First();
                    materialUpdate.Quantity = materialUpdate.Quantity + materialcollected.Count;
                }
                else
                {
                    //Add Materials record
                    db.Materials.Add(new Material()
                    {
                        MaterialName = mater.MaterialName, Quantity = materialcollected.Count
                    });
                }
                db.SaveChanges();
                db.Dispose();
            }
        }
Beispiel #3
0
        // 3.4 Materials
        private void JournalMaterials(string jstr)
        {
            MaterialsEvent materials = JsonConvert.DeserializeObject <MaterialsEvent>(jstr);

            // Reset stored list of Materials
            using (var db = new EDTSQLEntities())
            {
                if (materials.Raw.Count() > 0 || materials.Manufactured.Count() > 0 || materials.Encoded.Count() > 0)
                {
                    // Delete all existing records
                    db.Materials.RemoveRange(db.Materials);
                    db.SaveChanges();
                    // Add reported materials to table
                    foreach (var item in materials.Raw)
                    {
                        MaterialList matlookup = db.MaterialLists.Where(p => p.EDCodeName == item.Name).First();
                        db.Materials.Add(new Material()
                        {
                            MaterialName = matlookup.MaterialName, Quantity = item.Count, MaterialGroup = "Raw"
                        });
                    }
                    foreach (var item in materials.Manufactured)
                    {
                        MaterialList matlookup = db.MaterialLists.Where(p => p.EDCodeName == item.Name).First();
                        db.Materials.Add(new Material()
                        {
                            MaterialName = matlookup.MaterialName, Quantity = item.Count, MaterialGroup = "Manufactured"
                        });
                    }
                    foreach (var item in materials.Encoded)
                    {
                        MaterialList matlookup = db.MaterialLists.Where(p => p.EDCodeName == item.Name).First();
                        db.Materials.Add(new Material()
                        {
                            MaterialName = matlookup.MaterialName, Quantity = item.Count, MaterialGroup = "Encoded"
                        });
                    }
                    db.SaveChanges();
                }
                db.Dispose();
            }
        }