Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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);
        }