// 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(); } }
// 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(); } }
// 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(); } }