コード例 #1
0
        public Role Build(DbDataReader reader)
        {
            Guid   id   = DbReaderUtils.GetGuid(reader, 0);
            string name = DbReaderUtils.GetString(reader, 1);

            return(new Role(name, id));
        }
コード例 #2
0
ファイル: Db.cs プロジェクト: OSRS/Oncor_Base
        internal static List <FilestoreFile> GetExpired(DateTime abs)
        {
            try
            {
                NpgsqlCommand cmd = Db.GetCmd(Db.ConnectionString);
                cmd.CommandText = Db.SelectSql + " WHERE \"Expires\" < :d";
                cmd.Parameters.AddWithValue("d", abs);

                NpgsqlDataReader     rdr   = ExecuteReader(cmd);
                List <FilestoreFile> items = new List <FilestoreFile>();
                while (rdr.Read())
                {
                    Guid     id = DbReaderUtils.GetGuid(rdr, 0);
                    DateTime cr = DbReaderUtils.GetDate(rdr, 1);
                    DateTime u  = DbReaderUtils.GetDate(rdr, 2);
                    DateTime a  = DbReaderUtils.GetDate(rdr, 3);
                    DateTime e  = DbReaderUtils.GetDate(rdr, 4);
                    bool     t  = DbReaderUtils.GetBoolean(rdr, 5);
                    string   fn = DbReaderUtils.GetString(rdr, 6);
                    if (DateTime.MinValue == e)
                    {
                        e = DateTime.MaxValue;
                    }

                    items.Add(new FilestoreFile(id, cr, u, a, e, t, fn));
                }

                return(items);
            }
            catch
            { }

            return(null);
        }
コード例 #3
0
 private bool getContactInfoForPerson(Person p)
 {
     if (p != null && this.CanGet())
     {
         NpgsqlCommand cmd = Db.GetCmd(Db.ConnectionString);
         cmd.CommandText = Db.SelectPersonConatactInfoById;
         cmd.Parameters.AddWithValue("pid", p.Identity.Identity);
         NpgsqlDataReader rdr = Db.ExecuteReader(cmd);
         try
         {
             while (rdr.Read())
             {
                 string name  = DbReaderUtils.GetString(rdr, 1);
                 string email = DbReaderUtils.GetString(rdr, 2);
                 if (!string.IsNullOrEmpty(name) && !string.IsNullOrEmpty(email))
                 {
                     p.Contacts.Add(name, new EmailAddress(email));
                 }
             }
             if (cmd.Connection.State == System.Data.ConnectionState.Open)
             {
                 cmd.Connection.Close();
             }
             return(true);
         }
         catch
         { }
         finally
         {
             cmd.Dispose();
         }
     }
     return(false);
 }
コード例 #4
0
 internal static void FillMembers(FieldTeam item)
 {
     //\"FieldTeamSystemId\", \"FieldTeamId\", \"PersonSystemId\", \"PersonId\", \"FieldTeamMemberRoleSystemId\", \"FieldTeamMemberRoleId\"
     if (item != null)
     {
         NpgsqlCommand cmd = Db.GetCmd(Db.ConnectionString);
         cmd.CommandText = Db.SelectFieldTeamMembers;
         cmd.Parameters.AddWithValue("sid", item.Identity.DataStoreIdentity);
         cmd.Parameters.AddWithValue("id", item.Identity.Identity);
         NpgsqlDataReader rdr = Db.ExecuteReader(cmd);
         if (rdr != null)
         {
             try
             {
                 FieldTeamMembers m = item.Members;
                 while (rdr.Read())
                 {
                     m.Add(new FieldTeamMember(new CompoundIdentity(DbReaderUtils.GetGuid(rdr, 2), DbReaderUtils.GetGuid(rdr, 3)), new CompoundIdentity(DbReaderUtils.GetGuid(rdr, 4), DbReaderUtils.GetGuid(rdr, 5))));
                 }
                 if (cmd.Connection.State == System.Data.ConnectionState.Open)
                 {
                     cmd.Connection.Close();
                 }
             }
             catch
             { }
             finally
             {
                 cmd.Dispose();
             }
         }
     }
 }
コード例 #5
0
 public override OrganizationHierarchy Get(CompoundIdentity hierarchyId)
 {
     if (!hierarchyId.IsNullOrEmpty() && this.CanGet())
     {
         NpgsqlCommand cmd = Db.GetCmd(Db.ConnectionString);
         cmd.CommandText = Db.Select + Db.WhereId;
         cmd.Parameters.AddWithValue("sid", hierarchyId.DataStoreIdentity);
         cmd.Parameters.AddWithValue("id", hierarchyId.Identity);
         NpgsqlDataReader      rdr = Db.ExecuteReader(cmd);
         OrganizationHierarchy o   = null;
         if (rdr != null)
         {
             try
             {
                 if (rdr.Read())
                 {
                     o = new PgOrgHierarchy(this.Context, new CompoundIdentity(DbReaderUtils.GetGuid(rdr, 0), DbReaderUtils.GetGuid(rdr, 1)),
                                            new CompoundIdentity(DbReaderUtils.GetGuid(rdr, 2), DbReaderUtils.GetGuid(rdr, 3)), DbReaderUtils.GetString(rdr, 4), DbReaderUtils.GetString(rdr, 5));
                     if (cmd.Connection.State == System.Data.ConnectionState.Open)
                     {
                         cmd.Connection.Close();
                     }
                 }
             }
             catch
             { }
             finally
             {
                 cmd.Dispose();
             }
         }
         return(o);
     }
     return(null);
 }
コード例 #6
0
        public Permission Build(DbDataReader reader)
        {
            Guid   id   = DbReaderUtils.GetGuid(reader, 0);
            string name = DbReaderUtils.GetString(reader, 1);

            return(new Permission(name, id));
        }
コード例 #7
0
ファイル: SampleEventOrgs.cs プロジェクト: OSRS/Oncor_Base
        internal CompoundIdentity GetLocalOrg(CompoundIdentity sampleEventId)
        {
            NpgsqlCommand cmd = Db.GetCmd(Db.ConnectionString);

            cmd.CommandText = Db.SelectSampleEventLocal;
            cmd.Parameters.AddWithValue("sid", sampleEventId.DataStoreIdentity);
            cmd.Parameters.AddWithValue("id", sampleEventId.Identity);
            NpgsqlDataReader rdr = Db.ExecuteReader(cmd);
            CompoundIdentity tmp = null;

            if (rdr != null)
            {
                try
                {
                    if (rdr.Read())
                    {
                        tmp = new CompoundIdentity(DbReaderUtils.GetGuid(rdr, 0), DbReaderUtils.GetGuid(rdr, 1));
                    }
                    if (cmd.Connection.State == System.Data.ConnectionState.Open)
                    {
                        cmd.Connection.Close();
                    }
                }
                catch
                { }
                finally
                {
                    cmd.Dispose();
                }
            }
            return(tmp);
        }
コード例 #8
0
 private HashSet <CompoundIdentity> GetUserAffils()
 {
     if (this.orgs == null)
     {
         NpgsqlCommand cmd = Db.GetCmd(Db.ConnectionString);
         cmd.CommandText = Db.SelectUserAffil;
         cmd.Parameters.AddWithValue("uid", this.ctx.User.Uid);
         NpgsqlDataReader           rdr  = Db.ExecuteReader(cmd);
         HashSet <CompoundIdentity> orgs = new HashSet <CompoundIdentity>();
         if (rdr != null)
         {
             try
             {
                 while (rdr.Read())
                 {
                     orgs.Add(new CompoundIdentity(DbReaderUtils.GetGuid(rdr, 0), DbReaderUtils.GetGuid(rdr, 1)));
                 }
                 if (cmd.Connection.State == System.Data.ConnectionState.Open)
                 {
                     cmd.Connection.Close();
                 }
                 this.orgs = orgs;
             }
             catch
             { }
             finally
             {
                 cmd.Dispose();
             }
         }
     }
     return(this.orgs);
 }
コード例 #9
0
ファイル: Db.cs プロジェクト: OSRS/Oncor_OsrsLegacy
        public SensorType Build(DbDataReader reader)
        {
            CompoundIdentity parentId   = null;
            Guid             parentGuid = DbReaderUtils.GetGuid(reader, 3);

            if (!Guid.Empty.Equals(parentGuid))
            {
                parentId = new CompoundIdentity(Db.DataStoreIdentity, parentGuid);
            }

            SensorType sensorType = new SensorType(new CompoundIdentity(Db.DataStoreIdentity, DbReaderUtils.GetGuid(reader, 0)), DbReaderUtils.GetString(reader, 1), DbReaderUtils.GetString(reader, 2), parentId);

            string s = DbReaderUtils.GetString(reader, 4);
            JToken t = JRaw.Parse(s);

            if (t is JArray)
            {
                JArray a = (JArray)t;
                HashSet <CompoundIdentity> ids = Db.ToIds(a);
                foreach (CompoundIdentity id in ids)
                {
                    sensorType.InstrumentFamilies.Add(id);
                }
            }

            return(sensorType);
        }
コード例 #10
0
        //\"Id\", \"EventSystemId\", \"EventId\", \"SiteSystemId\", \"SiteId\", \"When\",
        //\"PointLocation\", \"Method\", \"Strata\", \"Depth\", \"pH\", \"Temp\", \"DO\", \"Salinity\", \"Velocity\", \"Description\", \"IsPrivate\"
        public CatchEffort Build(DbDataReader reader)
        {
            Point2 <double> loc;

            if (DBNull.Value.Equals(reader[6]))
            {
                loc = null;
            }
            else
            {
                loc = Osrs.Numerics.Spatial.Postgres.NpgSpatialUtils.ToGeom((NpgsqlTypes.PostgisGeometry)reader[6]) as Point2 <double>;
            }

            CatchEffort tmp = new CatchEffort(new CompoundIdentity(Db.DataStoreIdentity, DbReaderUtils.GetGuid(reader, 0)), new CompoundIdentity(DbReaderUtils.GetGuid(reader, 1), DbReaderUtils.GetGuid(reader, 2)),
                                              new CompoundIdentity(DbReaderUtils.GetGuid(reader, 3), DbReaderUtils.GetGuid(reader, 4)), Db.FixDate(DbReaderUtils.GetDate(reader, 5)), loc, DbReaderUtils.GetString(reader, 7), DbReaderUtils.GetString(reader, 8),
                                              DbReaderUtils.GetSingle(reader, 9), DbReaderUtils.GetSingle(reader, 10), DbReaderUtils.GetSingle(reader, 11), DbReaderUtils.GetSingle(reader, 12), DbReaderUtils.GetSingle(reader, 13),
                                              DbReaderUtils.GetSingle(reader, 14), DbReaderUtils.GetString(reader, 15), DbReaderUtils.GetBoolean(reader, 16));

            if (tmp.IsPrivate)
            {
                if (prov == null)
                {
                    return(null); //can't verify
                }
                if (!prov.HasAffiliationForSampleEvent(tmp.SampleEventId, false))
                {
                    return(null);
                }
            }

            return(tmp);
        }
コード例 #11
0
 public override IEnumerable <CompoundIdentity> InstrumentTypesForArchetype(CompoundIdentity archetypeId)
 {
     if (archetypeId != null && this.CanGet())
     {
         NpgsqlCommand cmd = Db.GetCmd(Db.ConnectionString);
         cmd.CommandText = "SELECT \"InstrumentTypeId\" FROM oncor.\"InstrumentTypeKnownArchetypes\" WHERE \"ArchetypeId\"=:aid";
         cmd.Parameters.AddWithValue("aid", archetypeId.Identity);
         NpgsqlDataReader        rdr         = Db.ExecuteReader(cmd);
         List <CompoundIdentity> permissions = new List <CompoundIdentity>();
         try
         {
             CompoundIdentity t;
             while (rdr.Read())
             {
                 t = new CompoundIdentity(Db.DataStoreIdentity, DbReaderUtils.GetGuid(rdr, 0));
                 if (t != null)
                 {
                     permissions.Add(t);
                 }
             }
             if (cmd.Connection.State == System.Data.ConnectionState.Open)
             {
                 cmd.Connection.Close();
             }
         }
         catch
         { }
         finally
         {
             cmd.Dispose();
         }
         return(permissions);
     }
     return(null);
 }
コード例 #12
0
        //"Id", "OwnerSystemId", "OwnerId", "Name", "DataType"
        public EntityBundle Build(DbDataReader reader)
        {
            EntityBundle tmp = new EntityBundle(DbReaderUtils.GetGuid(reader, 0), DbReaderUtils.GetString(reader, 3),
                                                new CompoundIdentity(DbReaderUtils.GetGuid(reader, 1), DbReaderUtils.GetGuid(reader, 2)), (BundleDataType)((int)(reader[4])));

            Fill(tmp);
            return(tmp);
        }
コード例 #13
0
        public FieldTeamMemberRole Build(DbDataReader reader)
        {
            Guid   sid  = DbReaderUtils.GetGuid(reader, 0);
            Guid   id   = DbReaderUtils.GetGuid(reader, 1);
            string name = DbReaderUtils.GetString(reader, 2);
            string desc = DbReaderUtils.GetString(reader, 3);

            return(new FieldTeamMemberRole(new CompoundIdentity(sid, id), name, desc));
        }
コード例 #14
0
        public ProjectStatus Build(DbDataReader reader)
        {
            CompoundIdentity statTypeId = null;

            if (!DBNull.Value.Equals(reader[4]))
            {
                statTypeId = new CompoundIdentity(DbReaderUtils.GetGuid(reader, 4), DbReaderUtils.GetGuid(reader, 5));
            }

            return(new ProjectStatus(new CompoundIdentity(DbReaderUtils.GetGuid(reader, 0), DbReaderUtils.GetGuid(reader, 1)), DbReaderUtils.GetGuid(reader, 2),
                                     statTypeId, DbReaderUtils.GetString(reader, 6), DbReaderUtils.GetDate(reader, 3)));
        }
コード例 #15
0
ファイル: Db.cs プロジェクト: OSRS/Oncor_OsrsLegacy
        public InstrumentFamily Build(DbDataReader reader)
        {
            CompoundIdentity parentId   = null;
            Guid             parentGuid = DbReaderUtils.GetGuid(reader, 3);

            if (!Guid.Empty.Equals(parentGuid))
            {
                parentId = new CompoundIdentity(Db.DataStoreIdentity, parentGuid);
            }

            return(new InstrumentFamily(new CompoundIdentity(Db.DataStoreIdentity, DbReaderUtils.GetGuid(reader, 0)), DbReaderUtils.GetString(reader, 1), DbReaderUtils.GetString(reader, 2), parentId));
        }
コード例 #16
0
        //\"Id\", \"OwnerType\", \"Payload\", \"Token\", \"IsLocked\", \"ValidFrom\", \"ValidTo\"
        internal PersistedCredential Create(NpgsqlDataReader rdr)
        {
            Guid id = DbReaderUtils.GetGuid(rdr, 0);

            if (!Guid.Empty.Equals(id))
            {
                PersistedCredential cred = this.Create(id, DbReaderUtils.GetString(rdr, 2), DbReaderUtils.GetString(rdr, 3), DbReaderUtils.GetDate(rdr, 5), DbReaderUtils.GetDate(rdr, 6));
                this.Update(cred, DbReaderUtils.GetBoolean(rdr, 4));
                return(cred);
            }
            return(null);
        }
コード例 #17
0
        public FieldTeam Build(DbDataReader reader)
        {
            Guid   sid  = DbReaderUtils.GetGuid(reader, 0);
            Guid   id   = DbReaderUtils.GetGuid(reader, 1);
            string name = DbReaderUtils.GetString(reader, 2);
            string desc = DbReaderUtils.GetString(reader, 3);

            FieldTeam ft = new FieldTeam(new CompoundIdentity(sid, id), name, desc);

            PgFieldTeamProvider.FillMembers(ft);
            return(ft);
        }
コード例 #18
0
        //Guid uid, UserType type, UserState state, DateTime? ExpiresAt, string name
        public PostgresUser Build(DbDataReader reader)
        {
            Guid         id    = DbReaderUtils.GetGuid(reader, 0);
            UserType     type  = (UserType)DbReaderUtils.GetInt32(reader, 1);
            UserState    state = (UserState)DbReaderUtils.GetInt32(reader, 2);
            DateTime?    exp   = DbReaderUtils.GetNullableDateTime(reader, 3);
            string       name  = DbReaderUtils.GetString(reader, 4);
            PostgresUser user  = new PostgresUser(id, type, name, state);

            user.ExpiresAt = exp;
            return(user);
        }
コード例 #19
0
ファイル: Db.cs プロジェクト: OSRS/Oncor_OsrsLegacy
        public Sensor Build(DbDataReader reader)
        {
            CompoundIdentity manufId    = null;
            Guid             manufSysId = DbReaderUtils.GetGuid(reader, 8);

            if (!Guid.Empty.Equals(manufSysId))
            {
                manufId = new CompoundIdentity(manufSysId, DbReaderUtils.GetGuid(reader, 9));
            }

            return(new Sensor(new CompoundIdentity(Db.DataStoreIdentity, DbReaderUtils.GetGuid(reader, 0)), new CompoundIdentity(Db.DataStoreIdentity, DbReaderUtils.GetGuid(reader, 1)),
                              new CompoundIdentity(DbReaderUtils.GetGuid(reader, 2), DbReaderUtils.GetGuid(reader, 3)), DbReaderUtils.GetString(reader, 4), new CompoundIdentity(Db.DataStoreIdentity, DbReaderUtils.GetGuid(reader, 5)),
                              DbReaderUtils.GetString(reader, 6), DbReaderUtils.GetString(reader, 7), manufId));
        }
コード例 #20
0
ファイル: Db.cs プロジェクト: OSRS/Oncor_Base
        internal static FilestoreFile Open(Guid id)
        {
            if (!Guid.Empty.Equals(id))
            {
                NpgsqlCommand cmd = Db.GetCmd(Db.ConnectionString);
                cmd.CommandText = Db.SelectSql + " WHERE \"Id\"=:id";
                cmd.Parameters.AddWithValue("id", id);
                NpgsqlDataReader rdr = Db.ExecuteReader(cmd);
                FilestoreFile    tmp = null;
                try
                {
                    if (rdr.Read())
                    {
                        DateTime cr = DbReaderUtils.GetDate(rdr, 1);
                        DateTime u  = DbReaderUtils.GetDate(rdr, 2);
                        DateTime a  = DbReaderUtils.GetDate(rdr, 3);
                        DateTime e  = DbReaderUtils.GetDate(rdr, 4);
                        bool     t  = DbReaderUtils.GetBoolean(rdr, 5);
                        string   fn = DbReaderUtils.GetString(rdr, 6);
                        if (DateTime.MinValue == e)
                        {
                            e = DateTime.MaxValue;
                        }

                        tmp = new FilestoreFile(id, cr, u, a, e, t, fn);
                    }
                    if (cmd.Connection.State == System.Data.ConnectionState.Open)
                    {
                        cmd.Connection.Close();
                    }
                }
                catch
                { }
                finally
                {
                    cmd.Dispose();
                }

                if (DateTime.Now >= tmp.ExpiresAt) //just handle last minute deletes
                {
                    Delete(id);
                    tmp = null;
                }
                return(tmp);
            }
            return(null);
        }
コード例 #21
0
        public SamplingEvent Build(DbDataReader reader)
        {
            Guid sid   = DbReaderUtils.GetGuid(reader, 0);
            Guid id    = DbReaderUtils.GetGuid(reader, 1);
            Guid ftsid = DbReaderUtils.GetGuid(reader, 2);
            Guid ftid  = DbReaderUtils.GetGuid(reader, 3);
            Guid osid  = DbReaderUtils.GetGuid(reader, 4);
            Guid oid   = DbReaderUtils.GetGuid(reader, 5);
            //Guid stsid = DbReaderUtils.GetGuid(reader, 6);
            //Guid stid = DbReaderUtils.GetGuid(reader, 7);
            string   name  = DbReaderUtils.GetString(reader, 6);
            string   desc  = DbReaderUtils.GetString(reader, 7);
            DateTime start = Db.SafeGetDate(reader, 8, DateTime.MinValue);
            DateTime end   = Db.SafeGetDate(reader, 9, DateTime.MaxValue);

            return(new SamplingEvent(new CompoundIdentity(sid, id), name, new CompoundIdentity(ftsid, ftid), new CompoundIdentity(osid, oid), new Numerics.ValueRange <DateTime>(start, end), desc));
        }
コード例 #22
0
        public Project Build(DbDataReader reader)
        {
            CompoundIdentity parentId    = null;
            Guid             parentSysId = DbReaderUtils.GetGuid(reader, 5);

            if (!Guid.Empty.Equals(parentSysId))
            {
                parentId = new CompoundIdentity(parentSysId, DbReaderUtils.GetGuid(reader, 6));
            }

            Project p = new Project(new CompoundIdentity(DbReaderUtils.GetGuid(reader, 0), DbReaderUtils.GetGuid(reader, 1)),
                                    DbReaderUtils.GetString(reader, 2), new CompoundIdentity(DbReaderUtils.GetGuid(reader, 3), DbReaderUtils.GetGuid(reader, 4)),
                                    parentId, DbReaderUtils.GetString(reader, 7));

            Db.LoadAffiliates(p);
            return(p);
        }
コード例 #23
0
ファイル: Db.cs プロジェクト: OSRS/Oncor_OsrsLegacy
        //\"SystemId\", \"Id\", \"OwnerSystemId\", \"OwnerId\", \"Name\", \"Description\", \"Geom\", \"AltGeom\", \"StartDate\", \"EndDate\"
        public Site Build(DbDataReader reader)
        {
            Site tmp = new Site(new CompoundIdentity(DbReaderUtils.GetGuid(reader, 0), DbReaderUtils.GetGuid(reader, 1)),
                                new CompoundIdentity(DbReaderUtils.GetGuid(reader, 2), DbReaderUtils.GetGuid(reader, 3)),
                                DbReaderUtils.GetString(reader, 4), DbReaderUtils.GetString(reader, 5));

            if (!DBNull.Value.Equals(reader[6]))
            {
                tmp.Location = Osrs.Numerics.Spatial.Postgres.NpgSpatialUtils.ToGeom((NpgsqlTypes.PostgisGeometry)reader[6]);
            }

            if (!DBNull.Value.Equals(reader[7]))
            {
                tmp.LocationMark = Osrs.Numerics.Spatial.Postgres.NpgSpatialUtils.ToGeom((NpgsqlTypes.PostgisGeometry)reader[7]) as Point2 <double>;
            }

            return(tmp);
        }
コード例 #24
0
        public override IEnumerable <PasswordHistory <UsernamePassword> > Get(Guid userId)
        {
            if (!Guid.Empty.Equals(userId))
            {
                NpgsqlCommand cmd = Db.GetCmd(Db.ConnectionString);
                cmd.CommandText = Db.Select;
                cmd.Parameters.AddWithValue("id", userId);
                NpgsqlDataReader rdr = Db.ExecuteReader(cmd);
                List <PasswordHistory <UsernamePassword> > permissions = new List <PasswordHistory <UsernamePassword> >();
                try
                {
                    PasswordHistory <UsernamePassword> o;
                    while (rdr.Read())
                    {
                        string user = DbReaderUtils.GetString(rdr, 1);
                        if (!string.IsNullOrEmpty(user))
                        {
                            string payload = DbReaderUtils.GetString(rdr, 2);
                            if (!string.IsNullOrEmpty(payload))
                            {
                                o = ToHistory(payload);
                                if (o != null)
                                {
                                    permissions.Add(o);
                                }
                            }
                        }
                    }
                    if (cmd.Connection.State == System.Data.ConnectionState.Open)
                    {
                        cmd.Connection.Close();
                    }
                }
                catch
                { }
                finally
                {
                    cmd.Dispose();
                }

                return(permissions);
            }
            return(null);
        }
コード例 #25
0
        public override IEnumerable <CompoundIdentity> GetParentIds(CompoundIdentity orgId)
        {
            if (!orgId.IsNullOrEmpty())
            {
                try
                {
                    NpgsqlCommand cmd = Db.GetCmd(Db.ConnectionString);
                    cmd.CommandText = Db.SelectMem + Db.WhereElem;
                    cmd.Parameters.AddWithValue("sid", this.Identity.DataStoreIdentity);
                    cmd.Parameters.AddWithValue("id", this.Identity.Identity);
                    cmd.Parameters.AddWithValue("csid", orgId.DataStoreIdentity);
                    cmd.Parameters.AddWithValue("cid", orgId.Identity);

                    NpgsqlDataReader rdr = Db.ExecuteReader(cmd);
                    if (rdr != null)
                    {
                        HashSet <CompoundIdentity> res = new HashSet <CompoundIdentity>();
                        try
                        {
                            while (rdr.Read())
                            {
                                res.Add(new CompoundIdentity(DbReaderUtils.GetGuid(rdr, 0), DbReaderUtils.GetGuid(rdr, 1)));
                            }
                            if (cmd.Connection.State == System.Data.ConnectionState.Open)
                            {
                                cmd.Connection.Close();
                            }
                        }
                        catch
                        { }
                        finally
                        {
                            cmd.Dispose();
                        }
                        return(res);
                    }
                }
                catch
                { }
            }
            return(null);
        }
コード例 #26
0
ファイル: Db.cs プロジェクト: OSRS/Oncor_Base
        //\"Id\", \"EventSystemId\", \"EventId\", \"SiteSystemId\", \"SiteId\", \"PlotTypeId\", \"PointLocation\", \"Area\", \"ElevMin\", \"ElevMax\", \"Description\", \"IsPrivate\"
        public VegSurvey Build(DbDataReader reader)
        {
            VegSurvey tmp = new VegSurvey(new CompoundIdentity(Db.DataStoreIdentity, DbReaderUtils.GetGuid(reader, 0)), new CompoundIdentity(DbReaderUtils.GetGuid(reader, 1), DbReaderUtils.GetGuid(reader, 2)),
                                          new CompoundIdentity(DbReaderUtils.GetGuid(reader, 3), DbReaderUtils.GetGuid(reader, 4)), new CompoundIdentity(Db.DataStoreIdentity, DbReaderUtils.GetGuid(reader, 5)),
                                          Db.GetLoc(reader, 6), DbReaderUtils.GetSingle(reader, 7), DbReaderUtils.GetSingle(reader, 8), DbReaderUtils.GetSingle(reader, 9), DbReaderUtils.GetString(reader, 10), (bool)reader[11]);

            if (tmp.IsPrivate)
            {
                if (prov == null)
                {
                    return(null); //can't verify
                }
                if (!prov.HasAffiliationForSampleEvent(tmp.SampleEventId, false))
                {
                    return(null);
                }
            }

            return(tmp);
        }
コード例 #27
0
        public WaterQualityDeployment Build(DbDataReader reader)
        {
            WaterQualityDeployment tmp = new WaterQualityDeployment(new CompoundIdentity(DbReaderUtils.GetGuid(reader, 0), DbReaderUtils.GetGuid(reader, 1)), DbReaderUtils.GetString(reader, 2),
                                                                    new CompoundIdentity(DbReaderUtils.GetGuid(reader, 3), DbReaderUtils.GetGuid(reader, 4)), new CompoundIdentity(DbReaderUtils.GetGuid(reader, 5), DbReaderUtils.GetGuid(reader, 6)),
                                                                    new CompoundIdentity(DbReaderUtils.GetGuid(reader, 7), DbReaderUtils.GetGuid(reader, 8)), DateRange.Create(Db.FixDate(DbReaderUtils.GetNullableDateTime(reader, 9)), Db.FixDate(DbReaderUtils.GetNullableDateTime(reader, 10))),
                                                                    DbReaderUtils.GetString(reader, 11), DbReaderUtils.GetBoolean(reader, 12));

            if (tmp.IsPrivate)
            {
                if (prov == null)
                {
                    return(null); //can't verify
                }
                if (!prov.HasAffiliationForSampleEvent(tmp.SampleEventId, false))
                {
                    return(null);
                }
            }

            return(tmp);
        }
コード例 #28
0
        //\"Id\", \"FishId\", \"GeneticSampleId\", \"LabSampleId\", \"StockEstimates\", \"Description\"   --NOTE Stock Estimates are an encoded value
        public FishGenetics Build(DbDataReader reader)
        {
            FishGenetics tmp = new FishGenetics(DbReaderUtils.GetGuid(reader, 0), DbReaderUtils.GetGuid(reader, 1), DbReaderUtils.GetString(reader, 2), DbReaderUtils.GetString(reader, 3), Decode(DbReaderUtils.GetString(reader, 4)), DbReaderUtils.GetString(reader, 5));

            if (!seen.Contains(tmp.FishId))
            {
                seen.Add(tmp.FishId);
                Fish e = this.helperBuilder.GetFish(tmp.FishId);
                if (e != null)
                {
                    got.Add(tmp.FishId);
                }
            }

            if (!got.Contains(tmp.FishId))
            {
                return(null);
            }

            return(tmp);
        }
コード例 #29
0
        //\"Id\", \"CatchEffortId\", \"TaxaSystemId\", \"TaxaId\", \"Count\", \"Description\"
        public FishCount Build(DbDataReader reader)
        {
            FishCount tmp = new FishCount(DbReaderUtils.GetGuid(reader, 0), new CompoundIdentity(Db.DataStoreIdentity, DbReaderUtils.GetGuid(reader, 1)), new CompoundIdentity(DbReaderUtils.GetGuid(reader, 2), DbReaderUtils.GetGuid(reader, 3)),
                                          (uint)DbReaderUtils.GetInt32(reader, 4), DbReaderUtils.GetString(reader, 5));

            if (!seen.Contains(tmp.CatchEffortId))
            {
                seen.Add(tmp.CatchEffortId);
                CatchEffort e = this.helperBuilder.Get(tmp.CatchEffortId);
                if (e != null)
                {
                    got.Add(tmp.CatchEffortId);
                }
            }

            if (!got.Contains(tmp.CatchEffortId))
            {
                return(null);
            }

            return(tmp);
        }
コード例 #30
0
        /// <summary>
        /// Tuple Order: InstrumentTypeId, ArchetypeId
        /// </summary>
        /// <returns></returns>
        public override IEnumerable <Tuple <CompoundIdentity, CompoundIdentity> > GetInstrumentTypeKnownArchetypes()
        {
            //Dsid for all known archetypes
            Guid archetypeDsid = new Guid("{5F297502-B620-42BF-80BC-A4AF5A597267}");

            if (this.CanGet())
            {
                NpgsqlCommand cmd = Db.GetCmd(Db.ConnectionString);
                cmd.CommandText = Db.SelectInstrumentTypeKnownArchetype;
                NpgsqlDataReader rdr = Db.ExecuteReader(cmd);
                List <Tuple <CompoundIdentity, CompoundIdentity> > perms = new List <Tuple <CompoundIdentity, CompoundIdentity> >();
                try
                {
                    CompoundIdentity inst;
                    CompoundIdentity arch;
                    while (rdr.Read())
                    {
                        inst = new CompoundIdentity(Db.DataStoreIdentity, DbReaderUtils.GetGuid(rdr, 0));
                        arch = new CompoundIdentity(archetypeDsid, DbReaderUtils.GetGuid(rdr, 1));
                        if (inst != null && arch != null)
                        {
                            perms.Add(new Tuple <CompoundIdentity, CompoundIdentity>(inst, arch));
                        }
                    }
                    if (cmd.Connection.State == System.Data.ConnectionState.Open)
                    {
                        cmd.Connection.Close();
                    }
                }
                catch
                { }
                finally
                {
                    cmd.Dispose();
                }
                return(perms);
            }
            return(null);
        }