public static bool IsField(this AdsDataReader reader, string field)
        {
            var table = reader.GetSchemaTable();
            var rows  = table?.Rows.Cast <DataRow>().ToList();
            var item  = rows?.SingleOrDefault(x => (string)x.ItemArray[0] == field);

            return(item != null);
        }
Exemplo n.º 2
0
 public override void FillFromReader(AdsDataReader reader)
 {
     desc   = reader.ReadString("desc");
     partno = reader.ReadString("partno");
     //term = reader.ReadString("term");
     alloc = reader.ReadDecimal("alloc");
     note  = reader.ReadString("note");
     MakeClean();
 }
        public static DateTime?ReadDate(this AdsDataReader reader, int col)
        {
            if (string.IsNullOrEmpty(reader.GetValue(col).ToString()))
            {
                return(null);
            }
            var good = DateTime.TryParse(reader.GetValue(col).ToString(), out var x);

            return(good ? x : (DateTime?)null);
        }
        public static bool ReadBool(this AdsDataReader reader, int col)
        {
            if (reader.GetValue(col) == null)
            {
                return(false);
            }
            var good = bool.TryParse(reader.GetValue(col).ToString(), out var x);

            return(good && x);
        }
        public static decimal ReadDecimal(this AdsDataReader reader, int col)
        {
            if (reader.GetValue(col) == null)
            {
                return(0);
            }
            var good = decimal.TryParse(reader.GetValue(col).ToString(), out var x);

            return(good ? x : 0);
        }
        public static int ReadInt(this AdsDataReader reader, int col)
        {
            if (reader.GetValue(col) == null)
            {
                return(0);
            }
            var good = int.TryParse(reader.GetValue(col).ToString(), out var x);

            return(good ? x : 0);
        }
        public static char ReadChar(this AdsDataReader reader, int col)
        {
            if (reader.GetValue(col) == null)
            {
                return(new char());
            }
            var good = char.TryParse(reader.GetValue(col).ToString(), out var x);

            return(good ? x : new char());
        }
Exemplo n.º 8
0
 public override void FillFromReader(AdsDataReader reader)
 {
     partno    = reader.ReadString("partno");
     desc      = reader.ReadString("desc");
     note      = reader.ReadString("note");
     orderno   = reader.ReadInt("orderno");
     lineno    = reader.ReadInt("lineno");
     ship_date = reader.ReadDate("ship_date");
     repno     = reader.ReadInt("repno");
     custserv  = reader.ReadString("custserv");
     linedesc  = reader.ReadString("linedesc");
     MakeClean();
 }
        public static string ReadString(this AdsDataReader reader, string field)
        {
            string x = null;

            try {
                var col = reader.GetOrdinal(field);
                x = reader.GetValue(col)?.ToString();
            }
            catch (Exception e) {
                Debug.WriteLine(e);
            }
            return(x);
        }
Exemplo n.º 10
0
        public static char ReadChar(this AdsDataReader reader, string field)
        {
            var x = new char();

            try {
                var col = reader.GetOrdinal(field);
                if (reader.GetValue(col) == null)
                {
                    return(x);
                }
                var good = char.TryParse(reader.GetValue(col).ToString(), out x);
            }
            catch (Exception e) {
                Debug.WriteLine(e);
            }
            return(x);
        }
Exemplo n.º 11
0
        public static bool ReadBool(this AdsDataReader reader, string field)
        {
            var x = false;

            try {
                var col = reader.GetOrdinal(field);
                if (reader.GetValue(col) == null)
                {
                    return(x);
                }
                var good = bool.TryParse(reader.GetValue(col).ToString(), out x);
            }
            catch (Exception e) {
                Debug.WriteLine(e);
            }
            return(x);
        }
Exemplo n.º 12
0
        public static DateTime ReadDateNotNull(this AdsDataReader reader, string field)
        {
            var x = DateTime.Today;

            try {
                var col = reader.GetOrdinal(field);
                if (string.IsNullOrEmpty(reader.GetValue(col).ToString()))
                {
                    return(x);
                }
                var good = DateTime.TryParse(reader.GetValue(col).ToString(), out var xx);
                x = xx;
            }
            catch (Exception e) {
                Debug.WriteLine(e);
            }
            return(x);
        }
Exemplo n.º 13
0
    public T Get <T>(object key) where T : class
    {
        AdsEntityMapping mapping = AdsEntityMapping.GetForType(typeof(T));

        var primaryKeyMappings = new List <AdsEntityMemberMapping>();

        foreach (AdsEntityMemberMapping memberMapping in mapping.Members)
        {
            if (memberMapping.ColumnAttribute.IsPrimaryKey)
            {
                primaryKeyMappings.Add(memberMapping);
            }
        }

        if (primaryKeyMappings.Count == 0)
        {
            throw new AdsContextException("No primary key is defined for the class");
        }

        if (primaryKeyMappings.Count > 1)
        {
            throw new AdsContextException("Multiple primary key columns are not supported");
        }

        AdsEntityMemberMapping primaryKeyMapping = primaryKeyMappings[0];

        string selectFilter = string.Format("{0} = :p_key", primaryKeyMapping.ResolvedName);;

        string query = CreateSelectQuery <T>(mapping, null, selectFilter, null);

        AdsCommand command = new AdsCommand(query, connection);

        command.Parameters.Add(":p_key", key);

        AdsDataReader reader = command.ExecuteReader();

        if (reader.HasRows && reader.Read())
        {
            T obj = (T)Activator.CreateInstance(typeof(T));

            foreach (AdsEntityMemberMapping memberMapping in mapping.Members)
            {
                int resolvedNameOrdinal = reader.GetOrdinal(memberMapping.ResolvedName);

                object value = null;

                if (!reader.IsDBNull(resolvedNameOrdinal))
                {
                    value = reader.GetValue(resolvedNameOrdinal);

                    if (memberMapping.MemberType == typeof(uint) && value is int)
                    {
                        value = (uint)(int)value;
                    }

                    if (memberMapping.MemberType == typeof(ushort) && value is short)
                    {
                        value = (ushort)(short)value;
                    }
                }

                memberMapping.SetValue(obj, value);
            }

            return(obj);
        }

        return(null);
    }
Exemplo n.º 14
0
 public virtual void FillFromReaderList(AdsDataReader reader, List <string> fields)
 {
     FieldList = fields;
     FillFromReader(reader);
 }
Exemplo n.º 15
0
 public abstract void FillFromReader(AdsDataReader reader);
Exemplo n.º 16
0
 public static string ReadString(this AdsDataReader reader, int col)
 {
     return(reader.GetValue(col) == null ? null : reader.GetValue(col).ToString());
 }