private static ItemTy CreateObj <ItemTy>(SafeDataReader dr) { Type type = typeof(ItemTy); if (type.IsAbstract) { string msg = String.Format("Class {0} is an abstract class." + " Cannot create objects of an abstract class.", type.Name); throw new Exception(msg); } Type iface = type.GetInterface("ILoadable"); if (iface == null) { string msg = String.Format("Class {0} does not implement " + "the ILoadable interface.", type.Name); throw new Exception(msg); } ILoadable obj = Activator.CreateInstance(type) as ILoadable; if (obj != null) { obj.DoLoad(dr); } else { throw new Exception("Unable to create object."); } return((ItemTy)obj); }
protected virtual void PostSave(SafeDataReader dr) { }
/// <summary> /// Fills in the data from a data reader. /// </summary> /// <param name="dr"></param> protected abstract void Load(SafeDataReader dr);
protected override void Load(SafeDataReader dr) { m_id = dr.GetInt32("id"); m_name = dr.GetString("name"); }
protected override void PostSave(SafeDataReader dr) { m_id = dr.GetInt32(dr.GetOrdinal("id")); }
protected override void Load(SafeDataReader dr) { m_abbr = dr.GetString("abbr"); m_name = dr.GetString("name"); m_taxRate = dr.GetDecimal("tax_rate"); }
public static RobotList <OrgCustomField> GetOrgCustomFields(Organization org) { RobotList <OrgCustomField> rval = new RobotList <OrgCustomField>(); SqlConnection cn = new SqlConnection(Helpers.CnnStr()); SafeDataReader dr = null; SqlTransaction tr; SqlCommand cmd; cn.Open(); tr = cn.BeginTransaction(IsolationLevel.ReadCommitted); try { cmd = cn.CreateCommand(); cmd.Transaction = tr; cmd.CommandType = CommandType.StoredProcedure; cmd.CommandText = "usp_GetOrgCustomFields"; cmd.Parameters.AddWithValue("@org_id", org.Id); dr = new SafeDataReader(cmd.ExecuteReader()); while (dr.Read()) { int defId = dr.GetInt32(dr.GetOrdinal("def_id")); CustomFieldDef def = CustomFieldDef.AllDefs.Find(CustomFieldDef.ById, defId); if (def == null) { continue; } OrgCustomField cf = new OrgCustomField(def, org); cf.DoLoad(dr); rval.Add(cf); } dr.Close(); tr.Commit(); } catch { tr.Rollback(); throw; } finally { if ((dr != null) && !dr.IsClosed) { dr.Close(); } cn.Close(); } /* * Make sure all the currently defined custom field definitions * are listed. */ foreach (CustomFieldDef def in CustomFieldDef.AllDefs) { OrgCustomField cf = rval.Find( delegate(OrgCustomField obj, CustomFieldDef p) { return(obj.Def == p); }, def); if (cf == null) { cf = new OrgCustomField(def, org); rval.Add(cf); } } return(rval); }
protected override void Load(SafeDataReader dr) { m_value = dr.GetString("value"); // Def & Org are filled in by the constructor. }
protected virtual void PostExecute(SafeDataReader dr) { }
protected override void PostSave(SafeDataReader dr) { m_id = Int32.Parse(dr["id"].ToString()); }