public async static Task <Mitarbeiter> LoadAsync(ISqlHandler Sql, string[] fields, int Id) { SqlDataSet data = await Sql.SelectWhereAsync(Table, SqlUtility.AppendWithCommas(fields), SqlUtility.Equal(FieldId, Id)); Mitarbeiter mit = new Mitarbeiter(); for (int i = 0; i < data.FieldCount; i++) { string f = data.FieldNames[i]; object o = data.Data[0][i]; if (o is DBNull) { o = default(object); } if (f == FieldId) { mit.Id = (int)o; } else if (f == FieldKennung) { mit.Kennung = (string)o; } else if (f == FieldName) { mit.Name = (string)o; } else if (f == FieldVorname) { mit.Vorname = (string)o; } else if (f == FieldFähigkeiten) { mit.Fähigkeiten = (string)o; } else if (f == FieldSchicht) { mit.Schicht.Id = (int)o; } else if (f == FieldTelefon) { mit.Kontakt.Rufnummern.Add(new Rufnummer((string)o, RufnummerTyp.FestnetzPrivat)); } else if (f == FieldMobil) { mit.Kontakt.Rufnummern.Add(new Rufnummer((string)o, RufnummerTyp.MobilDienst)); } else if (f == FieldTelefonIntern) { mit.Kontakt.Rufnummern.Add(new Rufnummer((string)o, RufnummerTyp.FestnetzIntern)); } else if (f == FieldFaxIntern) { mit.Kontakt.Rufnummern.Add(new Rufnummer((string)o, RufnummerTyp.FaxIntern)); } else if (f == FieldEMail) { mit.Kontakt.EMail = (string)o; } } return(mit); }