public async Task <int> AddPerson(PersonDb personDb) { personDb.NickName ??= ""; personDb.PlaceOfBirth ??= ""; personDb.PlaceOfDeath ??= ""; personDb.Note ??= ""; personDb.Portrait ??= ""; personDb.GedcomId ??= ""; var db = new MySqlConnection(_connectionString); var personId = 0; try { personId = await db.QuerySingleAsync <int>("SELECT Auto_increment FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'People'"); personDb.Id = personId; personDb.GedcomId = personId.ToString(); await db.ExecuteAsync(@" INSERT INTO People ( Id, GedcomId, Gender, PreferredName, GivenNames, Surname, BirthRangeStart, BirthRangeEnd, PlaceOfBirth, Dead, DeathRangeStart, DeathRangeEnd, PlaceOfDeath ) VALUES ( @Id, @GedcomId, @Gender, @PreferredName, @GivenNames, @Surname, @BirthRangeStart, @BirthRangeEnd, @PlaceOfBirth, @Dead, @DeathRangeStart, @DeathRangeEnd, @PlaceOfDeath)", personDb); } catch (Exception) { // ignored } return(personId); }
public async Task UpdatePerson(PersonDb personDb) { var db = new MySqlConnection(_connectionString); await db.ExecuteAsync(@" UPDATE People SET GedcomID = @GedcomID, Gender = @Gender, PreferredName = @PreferredName, GivenNames = @GivenNames, Surname = @Surname, BirthRangeStart = @BirthRangeStart, BirthRangeEnd = @BirthRangeEnd, PlaceOfBirth = @PlaceOfBirth, Dead = @Dead, DeathRangeStart = @DeathRangeStart, DeathRangeEnd = @DeathRangeEnd, PlaceOfDeath = @PlaceOfDeath, Note = @Note, Portrait = @Portrait WHERE Id = @Id", personDb); }