Пример #1
0
        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();
                }
            }
        }
Пример #2
0
        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();
            }
        }