public static ReferralRemaining LoadAll(DataRow row)
    {
        ReferralRemaining epcremaining = Load(row, "epcremaining_");

        epcremaining.Field = IDandDescrDB.Load(row, "field_field_id", "field_descr");
        return(epcremaining);
    }
 public static ReferralRemaining[] CloneList(ReferralRemaining[] list)
 {
     ReferralRemaining[] retList = new ReferralRemaining[list.Length];
     for (int i = 0; i < list.Length; i++)
         retList[i] = list[i].Clone();
     return retList;
 }
    public static Hashtable GetHashtableByHealthCardIDs(int[] referral_ids)
    {
        string sql = JoinedSql + " AND referral_id IN (" + (referral_ids.Length == 0 ? "0" : string.Join(", ", referral_ids)) + ")";


        Hashtable hash = new Hashtable();

        DataTable tbl = DBBase.ExecuteQuery(sql).Tables[0];

        for (int i = 0; i < tbl.Rows.Count; i++)
        {
            ReferralRemaining epcRemaining = LoadAll(tbl.Rows[i]);
            if (hash[epcRemaining.Referral.ReferralID] == null)
            {
                hash[epcRemaining.Referral.ReferralID] = new ArrayList();
            }
            ((ArrayList)hash[epcRemaining.Referral.ReferralID]).Add(epcRemaining);
        }

        ArrayList keys = new ArrayList();

        foreach (int key in hash.Keys)
        {
            keys.Add(key);
        }
        for (int i = 0; i < keys.Count; i++)
        {
            ArrayList item = (ArrayList)hash[(int)keys[i]];
            hash[(int)keys[i]] = (ReferralRemaining[])item.ToArray(typeof(ReferralRemaining));
        }

        return(hash);
    }
    public static ReferralRemaining[] GetByHealthCardID(int referral_id, int field_id = -1)
    {
        DataTable tbl = GetDataTable_ByHealthCardID(referral_id, field_id);
        ReferralRemaining[] result = new ReferralRemaining[tbl.Rows.Count];
        for (int i = 0; i < tbl.Rows.Count; i++)
            result[i] = LoadAll(tbl.Rows[i]);

        return result;
    }
 public static ReferralRemaining[] CloneList(ReferralRemaining[] list)
 {
     ReferralRemaining[] retList = new ReferralRemaining[list.Length];
     for (int i = 0; i < list.Length; i++)
     {
         retList[i] = list[i].Clone();
     }
     return(retList);
 }
    public static ReferralRemaining[] GetByHealthCardID(int referral_id, int field_id = -1)
    {
        DataTable tbl = GetDataTable_ByHealthCardID(referral_id, field_id);

        ReferralRemaining[] result = new ReferralRemaining[tbl.Rows.Count];
        for (int i = 0; i < tbl.Rows.Count; i++)
        {
            result[i] = LoadAll(tbl.Rows[i]);
        }

        return(result);
    }
    public ReferralRemaining Clone()
    {
        ReferralRemaining o = new ReferralRemaining(
            this.ReferralRemainingID,
            this.Referral.ReferralID,
            this.Field.ID,
            this.NumServicesRemaining,
            this.DeletedBy,
            this.DateDeleted);

        o.field.Descr = this.Field.Descr;

        return(o);
    }
    public ReferralRemaining Clone()
    {
        ReferralRemaining o = new ReferralRemaining(
            this.ReferralRemainingID,
            this.Referral.ReferralID,
            this.Field.ID,
            this.NumServicesRemaining,
            this.DeletedBy,
            this.DateDeleted);

        o.field.Descr = this.Field.Descr;

        return o;
    }
    public static ReferralRemaining GetByOfferinSubtype(ReferralRemaining[] list, int fieldID)
    {
        for (int i = 0; i < list.Length; i++)
            if (list[i].Field.ID == fieldID)
                return list[i];

        return null;
    }