public void Delete(long id)
 {
     _awards.Remove(_awards.Find(award => award.Id == id));
 }
 public LiquidacionCuotaModeradora BuscarPorLiquidacion(string numeroLiquidacion)
 {
     Consultar();
     return(liquidacionCuotasModeradoras.Find(liquidacionCuotasModeradoras => liquidacionCuotasModeradoras.NumeroLiquidacion.Equals(numeroLiquidacion)));
 }
Exemple #3
0
        //http://www.codeproject.com/Articles/57062/Load-Any-Object-From-Most-Any-Database
        /// <summary>
        /// שליפת נתונים מהטבלה
        /// </summary>
        /// <typeparam name="T">הטיפוס לקליטת הנתונים ממסד הנתונים</typeparam>
        /// <returns>רשימת איברים מהטיפוס</returns>
        protected IList <T> SelectList <T>() where T : new()
        {
            IList <T> retval = new List <T>();

            try
            {
                command.CommandText = Query;
                connection.Open();
                reader = command.ExecuteReader();

                // האם יש שורות במסד הנתונים
                if (reader.HasRows)
                {
                    //get the type of the object, without having to create one
                    //Type type = typeof(T);

                    // Mapping Block
                    // מיפוי השדות במסד הנתונים למאפיינים של הישות
                    //////List<FieldInfo> itemProperties = new List<FieldInfo>();
                    //////List<FieldInfo> typeProperties = GetAllFields(typeof(T), false).ToList();
                    if (itemProperties == null && typeProperties == null)
                    {
                        itemProperties = new List <FieldInfo>();
                        typeProperties = GetAllFields(typeof(T), false).ToList();
                        for (int i = 0; i < reader.FieldCount; i++)
                        {
                            itemProperties.Add(typeProperties.Find(item => item.Name.ToLower() == reader.GetName(i).ToLower()));
                        }
                    }

                    //data block - שליפת הנתונים ממסד הנתונים
                    object[] oo = new object[itemProperties.Count];
                    while (reader.Read())
                    {
                        reader.GetValues(oo);

                        //could be threaded block
                        T   item       = new T();
                        int fieldIndex = -1;

                        // השמת ערכים ממסד הנתונים לפאפייני הישות
                        foreach (var pi in itemProperties)
                        {
                            fieldIndex++;

                            if (pi != null)
                            {
                                object o = oo[fieldIndex];

                                if (DBNull.Value.Equals(o))
                                {
                                    o = null;
                                }

                                try
                                {
                                    pi.SetValue(item, o);
                                }
                                catch (Exception e)
                                {
                                    try
                                    {
                                        if (pi.FieldType == typeof(System.Decimal) && o.GetType() == typeof(System.Single))
                                        {
                                            pi.SetValue(item, Convert.ToDecimal(o));
                                        }
                                    }
                                    catch (Exception e1)
                                    {
                                        throw;
                                    }
                                }
                            }
                        }

                        retval.Add(item);
                        //end of could be threaded block
                    }
                }
            }
            catch (OleDbException e)
            {
                retval = null;
            }
            catch (Exception e)
            {
                retval = null;
            }
            finally
            {
                connection.Close();
            }

            return(retval);
        }