internal static void ReplaceAffiliates(Project p) { if (p != null) { NpgsqlCommand cmd = Db.GetCmd(Db.ConnectionString); cmd.CommandText = Db.DeleteAffil + Db.SelectByProjectId; cmd.Parameters.AddWithValue("sid", p.Identity.DataStoreIdentity); cmd.Parameters.AddWithValue("id", p.Identity.Identity); Db.ExecuteNonQuery(cmd); cmd.Dispose(); ProjectAffiliates affils = p.Affiliates; if (affils.Count > 0) { cmd = Db.GetCmd(Db.ConnectionString); cmd.CommandText = Db.InsertAffil; cmd.Connection.Open(); foreach (CompoundIdentity cur in affils) { cmd.Parameters.Clear(); cmd.Parameters.AddWithValue("sid", p.Identity.DataStoreIdentity); cmd.Parameters.AddWithValue("id", p.Identity.Identity); cmd.Parameters.AddWithValue("osid", cur.DataStoreIdentity); cmd.Parameters.AddWithValue("oid", cur.Identity); cmd.ExecuteNonQuery(); } cmd.Connection.Close(); cmd.Dispose(); } } }
internal static void LoadAffiliates(Project p) { if (p != null) { NpgsqlCommand cmd = Db.GetCmd(Db.ConnectionString); cmd.CommandText = Db.SelectAffil + Db.SelectByProjectId; cmd.Parameters.AddWithValue("sid", p.Identity.DataStoreIdentity); cmd.Parameters.AddWithValue("id", p.Identity.Identity); NpgsqlDataReader rdr = Db.ExecuteReader(cmd); ProjectAffiliates aff = p.Affiliates; while (rdr.Read()) { try { aff.Add(new CompoundIdentity(DbReaderUtils.GetGuid(rdr, 0), DbReaderUtils.GetGuid(rdr, 1))); } catch { } } rdr.Dispose(); cmd.Dispose(); } }