예제 #1
0
        public async static Task <SqlDataSet> FromMySqlDataReaderAsync(ConnectedMySqlDataReader Reader)
        {
            SqlDataSet Data = new SqlDataSet();

            while (await Reader.Reader.ReadAsync())
            {
                string[] fieldNames = new string[Reader.Reader.FieldCount];
                object[] data       = new object[Reader.Reader.FieldCount];
                for (int i = 0; i < Reader.Reader.FieldCount; i++)
                {
                    fieldNames[i] = Reader.Reader.GetName(i);
                    data[i]       = await Reader.Reader.GetFieldValueAsync <object>(i);
                }
                Data.AddData(fieldNames, data);
            }
            Reader.Close();
            return(Data);
        }
예제 #2
0
        public static SqlDataSet FromOdbcDataReader(ConnectedOdbcDataReader Reader)
        {
            SqlDataSet Data = new SqlDataSet();

            while (Reader.Reader.Read())
            {
                string[] fieldNames = new string[Reader.Reader.FieldCount];
                object[] data       = new object[Reader.Reader.FieldCount];
                for (int i = 0; i < Reader.Reader.FieldCount; i++)
                {
                    fieldNames[i] = Reader.Reader.GetName(i);
                    data[i]       = Reader.Reader.GetValue(i);
                }
                Data.AddData(fieldNames, data);
            }
            Reader.Close();
            return(Data);
        }
예제 #3
0
        public static async Task <Schicht> LoadSchichtAsync(ISqlHandler Sql, int Id)
        {
            SqlDataSet Data = await Sql.SelectAllWhereAsync(Schicht.Table, Equal(Schicht.FieldId, Id));

            Schicht schicht = new Schicht();

            for (int j = 0; j < Data.FieldCount; j++)
            {
                string f = Data.FieldNames[j];
                object d = Data.GetRowData(j)[0];
                if (f == Schicht.FieldId)
                {
                    schicht.Id = (int)d;
                }
                else if (f == Schicht.FieldBezeichnung)
                {
                    schicht.Bezeichnung = (string)d;
                }
            }
            return(schicht);
        }
예제 #4
0
        public async static Task <List <Mitarbeiter> > LoadAllMitarbeiterAsync(ISqlHandler Sql, string Fields)
        {
            SqlDataSet Data = await Sql.SelectAsync(Mitarbeiter.Table, Fields);

            List <Mitarbeiter> loadedMitarbeiterList = new List <Mitarbeiter>();

            for (int i = 0; i < Data.DataRowCount; i++)
            {
                Mitarbeiter mitarbeiter = new Mitarbeiter();
                for (int j = 0; j < Data.FieldCount; j++)
                {
                    string f = Data.FieldNames[j];
                    object d = Data.GetRowData(i)[Data.FieldNames.IndexOf(f)];
                    if (f == Mitarbeiter.FieldId)
                    {
                        mitarbeiter.Id = (int)d;
                    }
                    else if (f == Mitarbeiter.FieldKennung)
                    {
                        mitarbeiter.Kennung = (string)d;
                    }
                    else if (f == Mitarbeiter.FieldName)
                    {
                        mitarbeiter.Name = (string)d;
                    }
                    else if (f == Mitarbeiter.FieldVorname)
                    {
                        mitarbeiter.Vorname = (string)d;
                    }
                    else if (f == Mitarbeiter.FieldFähigkeiten)
                    {
                        mitarbeiter.Fähigkeiten = (string)d;
                    }
                    else if (f == Mitarbeiter.FieldSchicht)
                    {
                        mitarbeiter.Schicht = await LoadSchichtAsync(Sql, (int)d);
                    }
                    else if (f == Mitarbeiter.FieldTelefon)
                    {
                        mitarbeiter.AddRufnummer(new Rufnummer((string)d, RufnummerTyp.FestnetzPrivat));
                    }
                    else if (f == Mitarbeiter.FieldMobil)
                    {
                        mitarbeiter.AddRufnummer(new Rufnummer((string)d, RufnummerTyp.MobilDienst));
                    }
                    else if (f == Mitarbeiter.FieldTelefonIntern)
                    {
                        mitarbeiter.AddRufnummer(new Rufnummer((string)d, RufnummerTyp.FestnetzIntern));
                    }
                    else if (f == Mitarbeiter.FieldFaxIntern)
                    {
                        mitarbeiter.AddRufnummer(new Rufnummer((string)d, RufnummerTyp.FaxIntern));
                    }
                    else if (f == Mitarbeiter.FieldEMail)
                    {
                        mitarbeiter.AddEmail((string)d);
                    }
                }
                loadedMitarbeiterList.Add(mitarbeiter);
            }
            return(loadedMitarbeiterList);
        }
예제 #5
0
 public async Task <SqlDataSet> GetDataAsync(string command, params string[] args)
 {
     return(SqlDataSet.FromOdbcDataReader(await CreateAndRunCommandAsync(command, args)));
 }