public bool ScanCelestial(string celestial) { StarSystemDocument document = _repository.FindOne(s => s.Celestials.FirstOrDefault(c => c.Name == celestial) != null); if (document == null) { return(false); } var celestialDocument = document.Celestials.Single(c => c.Name.ToUpper() == celestial.ToUpper()); if (celestialDocument.Scanned == true) { // We've already scanned this celestial return(false); } else { celestialDocument.Scanned = true; } if (document.Celestials.All(c => c.Scanned)) { document.Scanned = true; } return(_repository.Update(document)); }
private bool UpdateSystem(string system, bool scanned) { StarSystemDocument document = _repository.FindOne(s => s.Name.ToUpper() == system.ToUpper()); if (document == null) { return(false); } document.Celestials.ForEach(c => c.Scanned = scanned); document.Scanned = scanned; return(_repository.Update(document)); }
public bool ScanCelestial(string celestial) { StarSystemDocument document = _repository.FindOne(s => s.Celestials.FirstOrDefault(c => c.Name == celestial) != null); if (document == null) { return(false); } document.Celestials.Single(c => c.Name.ToUpper() == celestial.ToUpper()).Scanned = true; if (document.Celestials.All(c => c.Scanned)) { document.Scanned = true; } return(_repository.Update(document)); }
public bool ScanCelestialSurface(string celestial, bool efficient) { StarSystemDocument document = _repository.FindOne(s => s.Celestials.FirstOrDefault(c => c.Name == celestial) != null); if (document == null) { return(false); } var cDoc = document.Celestials.Single(c => c.Name.ToUpper() == celestial.ToUpper()); cDoc.SurfaceScanned = true; cDoc.Efficient = efficient; if (document.Celestials.All(c => c.SurfaceScanned)) { document.SurfaceScanned = true; } return(_repository.Update(document)); }