public static void FatalException(this ILogEnd log, Exception e) { log.Fatal(e); var ae = e as AggregateException; if (ae != null) { foreach (var _e in ae.InnerExceptions) { log.FatalException(_e); } } }
async public Task FinishParsing(ILogEnd log, MyDbContext data) { /* * text use cases: * Commander-in-Chief - DOC, GEN5 * Commanding Officer - Constance, CPT * Executive Officer - Deceded, LTC * BetaHook, PFC - On Leave * Guthrie, PFC - On Leave * Constance, CPT * Juvenis, COL */ var person = await GetPersonFromName(data, name, rank); if (onLeave) { person.Status = "on leave"; } var personToUnit = data.PersonUnits.FirstOrDefault(p => p.Person.PersonId == person.PersonId && p.Unit.UnitId == unitId); if (personToUnit == null) { personToUnit = new PersonUnit(); personToUnit.Person = person; personToUnit.Unit = data.Units.Find(unitId); personToUnit.Joined = DateTime.UtcNow; personToUnit = data.PersonUnits.Add(personToUnit); } personToUnit.PositionNameShort = positionNameShort; personToUnit.Removed = new DateTime(9999, 1, 1); // (DateTime)SqlDateTime.MaxValue; PersonToUnitId = personToUnit.PersonUnitId; try { await data.SaveChangesAsync(); } catch (Exception e) { log.Fatal(e); } }