예제 #1
0
        void cargarDataView(NpgsqlConnection connect, string sentencia, NpgsqlCommand cmd, NpgsqlDataReader lector)
        {
            //dgvQuotation.Rows.Clear();
            conexion.Open();
            cmd    = new NpgsqlCommand(sentencia, conexion);
            lector = cmd.ExecuteReader();
            //int precioCargado = 0;

            while (lector.Read())
            {
                int renglon = dgvQuotation.Rows.Add();


                dgvQuotation.Rows[renglon].Cells["isbn"].Value =
                    lector.GetString(lector.GetOrdinal("isbn"));

                dgvQuotation.Rows[renglon].Cells["nombre"].Value =
                    lector.GetString(lector.GetOrdinal("nombre"));

                dgvQuotation.Rows[renglon].Cells["autor"].Value =
                    lector.GetString(2);

                dgvQuotation.Rows[renglon].Cells["editorial"].Value =
                    lector.GetString(3);

                precioMostrado += lector.GetInt32(6);
                dgvQuotation.Rows[renglon].Cells["precio"].Value =
                    lector.GetInt32(6).ToString();

                dgvQuotation.Rows[renglon].Cells["cantidad"].Value =
                    lector.GetInt32(5).ToString();
            }
            conexion.Close();
        }
예제 #2
0
        public static QuandlDataset MakeQuandlDataset(NpgsqlDataReader row)
        {
            var dataset = new QuandlDataset()
            {
                Id                  = (long)row["id"],
                DatasetCode         = (string)row["datasetcode"],
                DatabaseCode        = (string)row["databasecode"],
                Name                = (string)row["name"],
                Description         = (string)row["description"],
                NewestAvailableDate = row.GetDateTime(row.GetOrdinal("newestavailabledate")),
                OldestAvailableDate = row.GetDateTime(row.GetOrdinal("oldestavailabledate")),
                //NewestAvailableDate = (DateTime)row["newestavailabledate"],
                //OldestAvailableDate = (DateTime)row["oldestavailabledate"],
                ColumnNames = row["columnnames"].ToString()
                              .Split(',')
                              .Select(x => x.Trim())
                              .Where(x => !string.IsNullOrWhiteSpace(x))
                              .ToList(),
                Frequency  = (string)row["frequency"],
                Type       = (string)row["type"],
                Premium    = (bool)row["premium"],
                DatabaseId = (long)row["databaseid"],
                Import     = (bool)row["import"]
            };

            return(dataset);
        }
예제 #3
0
        private async Task <Dictionary <string, long> > GetAllExecutionCyclesCounts()
        {
            Dictionary <string, long> payloadCyclesCounts =
                new Dictionary <string, long>();

            string getCyclesSql = $@"SELECT et_payload_type, et_n_execution_cycles 
				FROM {TestOptions.DefaultMapping.ExecutionTimeStatsTableName}"                ;

            using (NpgsqlConnection conn = await OpenDbConnectionAsync(CommonConnectionString))
                using (NpgsqlCommand cmd = new NpgsqlCommand(getCyclesSql, conn))
                    using (NpgsqlDataReader rdr = await cmd.ExecuteReaderAsync())
                    {
                        while (await rdr.ReadAsync())
                        {
                            string payloadType = rdr.GetString(rdr
                                                               .GetOrdinal("et_payload_type"));
                            long executionCycles = rdr.GetInt64(rdr
                                                                .GetOrdinal("et_n_execution_cycles"));

                            payloadCyclesCounts.Add(payloadType,
                                                    executionCycles);
                        }
                    }

            return(payloadCyclesCounts);
        }
예제 #4
0
        /// <summary>
        /// Retrieves the bounds as points.
        /// </summary>
        /// <param name="topLeftPoint">The point which will represent the top-left of the bounds</param>
        /// <param name="bottomRightPoint">The point which will represent the bottom-right of the bounds</param>
        public void GetBounds(PostGisPoint topLeftPoint, PostGisPoint bottomRightPoint)
        {
            // Ensure that the database connection is open
            if (mConnection.FullState != ConnectionState.Open)
            {
                return;
            }

            // Error catching
            try
            {
                // Initialize the command
                using NpgsqlCommand command = new NpgsqlCommand(
                          "SELECT name, ST_AsText(ST_Transform(geom, 3857)) AS point FROM bounds;",
                          mConnection);

                // Execute the command and start reading the results
                using NpgsqlDataReader reader = command.ExecuteReader();
                while (reader.Read())
                {
                    // Get the string representation of the name and point
                    string name  = reader.GetString(reader.GetOrdinal("name"));
                    string point = reader.GetString(reader.GetOrdinal("point"));

                    // Check which point was read
                    if (name.Equals("top_left"))
                    {
                        // Parse top left point
                        topLeftPoint.X = double.Parse(point[(point.IndexOf("(") + 1)..point.IndexOf(" ")]);
예제 #5
0
        public List <FoodStuff> getFoodStuffsByCategoryId(int cateoryId)
        {
            List <FoodStuff> foodStuffs = new List <FoodStuff>();
            string           sqlQuery   = "SELECT * from  main.get_food_stuffs_by_category_id(:c_id)";

            try
            {
                dataBase = new DataBase();
                var npgComm = dataBase.getNpgCommandForRequest(sqlQuery);

                npgComm.Parameters.AddWithValue(":c_id", cateoryId);
                NpgsqlDataReader reader = npgComm.ExecuteReader();
                while (reader.Read())
                {
                    FoodStuff foodStuff = new FoodStuff();
                    foodStuff.Id          = reader.IsDBNull(reader.GetOrdinal("id")) ? 0 : reader.GetInt32(reader.GetOrdinal("id"));
                    foodStuff.Name        = reader.IsDBNull(reader.GetOrdinal("name")) ? string.Empty : reader.GetString(reader.GetOrdinal("name"));
                    foodStuff.Price       = reader.IsDBNull(reader.GetOrdinal("price")) ? 0 : reader.GetFloat(reader.GetOrdinal("price"));
                    foodStuff.Cost        = reader.IsDBNull(reader.GetOrdinal("food_cost")) ? 0 : reader.GetFloat(reader.GetOrdinal("food_cost"));
                    foodStuff.Category.Id = reader.IsDBNull(reader.GetOrdinal("category_id")) ? 0 : reader.GetInt32(reader.GetOrdinal("category_id"));

                    foodStuffs.Add(foodStuff);
                }
            }
            finally
            {
                dataBase.CloseAndDispose();
            }
            return(foodStuffs);
        }
예제 #6
0
        public static List <TravellerObject> SelectTravellers(int limit, int offset)
        {
            List <TravellerObject> returnObj = new List <TravellerObject>();

            NpgsqlConnection conn = null;
            NpgsqlDataReader dr   = null;

            try
            {
                conn = OpenConnectionAndGetReader("SELECT * from traveller order by lower(email) limit :p0 offset :p1;", out dr, limit, offset);
                while (dr.Read())
                {
                    string email          = dr.GetFieldValue <string>(dr.GetOrdinal("email"));
                    string hashedPassword = dr.GetFieldValue <string>(dr.GetOrdinal("password"));
                    string name           = dr.GetFieldValue <string>(dr.GetOrdinal("name"));
                    string address        = dr.GetFieldValue <string>(dr.GetOrdinal("address"));
                    string phone          = dr.GetFieldValue <string>(dr.GetOrdinal("phone"));

                    returnObj.Add(new TravellerObject(email, hashedPassword, name, address, phone));
                }
            }
            finally
            {
                conn.Close();
            }
            return(returnObj);
        }
예제 #7
0
        public static Project GetProject(string projectID)
        {
            using (NpgsqlConnection con = new NpgsqlConnection(connectionString))
            {
                try
                {
                    con.Open();
                    string        sql = "SELECT * FROM Projects WHERE id = @ID";
                    NpgsqlCommand cmd = new NpgsqlCommand(sql, con);
                    cmd.Parameters.AddWithValue("ID", projectID);
                    NpgsqlDataReader results = cmd.ExecuteReader();
                    if (results.Read())
                    {
                        string   name        = results.GetString(results.GetOrdinal("name"));
                        string   description = results.GetString(results.GetOrdinal("description"));
                        int      max_grade   = results.GetInt32(results.GetOrdinal("max_grade"));
                        DateTime due_date    = results.GetTimeStamp(results.GetOrdinal("due_date")).ToDateTime();

                        return(new Project(projectID, name, description, max_grade, due_date));
                    }
                    else
                    {
                        MessageBox.Show("No project with id: " + projectID + " found!");

                        return(null);
                    }
                }
                catch (Exception msg)
                {
                    MessageBox.Show("There was a problem while executing this action. Please contact the developers.");
                    return(null);
                }
            }
        }
예제 #8
0
        public List <Activity> GetActivitiesForDay(int day, int month)
        {
            var result = new List <Activity>();
            var conn   = Connection();

            var command = new NpgsqlCommand("SELECT description, timespent, day FROM \"Activities\" WHERE day=@day AND month=@month", conn);

            command.Parameters.AddWithValue("@day", day);
            command.Parameters.AddWithValue("@month", month);

            NpgsqlDataReader reader = command.ExecuteReader();

            while (reader.Read())
            {
                var atual = new Activity
                {
                    Description = reader.GetString(reader.GetOrdinal("description")),
                    Day         = day,
                    Month       = month,
                    TimeSpent   = reader.GetInt32(reader.GetOrdinal("timespent"))
                };
                result.Add(atual);
            }

            conn.Close();

            return(result);
        }
        /// <summary>
        /// Kargo Şirketlerini Reader İle Getiren Fonksiyon
        /// </summary>
        /// <returns></returns>
        public List <ShippingCompany> GetShippingCompanies()
        {
            List <ShippingCompany> shippingCompanies = new List <ShippingCompany>(); // kargo şirketleri nesnesi oluşturuluyor.

            try
            {
                database = new Database(); // database nesnesi oluşturuluyor.
                using (database)
                {
                    reader = database.Select("cargo", "companies"); // database'de "cargo" şeması altında bulunan "companies" fonksiyonundan, kargo şirketleri reader'a atılıyor.
                    if (reader != null)                             // reader boş değil ise...
                    {
                        while (reader.Read())                       // reader'da bulunan veriler shippingCompanies nesnesine ekleniyor.
                        {
                            shippingCompanies.Add(
                                new ShippingCompany
                            {
                                Id   = reader.GetInt32(reader.GetOrdinal("id")),
                                Name = reader.GetString(reader.GetOrdinal("name"))
                            }
                                );
                        }
                    }
                }
            }
            catch (Exception ex) // reader boş ise hata yakalanıyor ve log oluşturuluyor.
            {
                logger.CreateLog(ex.Message);
            }
            return(shippingCompanies); // işlemler bittikten sonra shippingCompanies nesnesi döndürülüyor.
        }
예제 #10
0
        private async Task <List <AppMetric> > GetDbAppMetricsAsync()
        {
            List <AppMetric> dbMetrics =
                new List <AppMetric>();

            using (NpgsqlConnection conn = await OpenDbConnectionAsync(ConnectionString))
                using (NpgsqlCommand cmd = new NpgsqlCommand($"SELECT * from {TestOptions.DefaultMapping.MetricsTableName}", conn))
                {
                    using (NpgsqlDataReader rdr = await cmd.ExecuteReaderAsync())
                    {
                        while (await rdr.ReadAsync())
                        {
                            AppMetricId mId = new AppMetricId(
                                rdr.GetString(rdr.GetOrdinal("metric_id")),
                                rdr.GetString(rdr.GetOrdinal("metric_category"))
                                );

                            AppMetric metric = new AppMetric(mId,
                                                             rdr.GetInt64(rdr.GetOrdinal("metric_value")));

                            dbMetrics.Add(metric);
                        }
                    }

                    await conn.CloseAsync();
                }

            return(dbMetrics);
        }
예제 #11
0
        public List <ScoreModel> GetAll()
        {
            var result = new List <ScoreModel>();

            using NpgsqlConnection con = new NpgsqlConnection("Host=localhost;Username=postgres;Password=perviz;Database=testdatabase");
            con.Open();
            NpgsqlCommand    com = new NpgsqlCommand("SELECT * FROM score Order by second ASC; ", con);
            NpgsqlDataReader rdr = com.ExecuteReader();

            while (rdr.Read())
            {
                ScoreModel scoremodel = new ScoreModel();

                var NameOrdinal = rdr.GetOrdinal("username");
                scoremodel.Username = rdr.GetString(NameOrdinal);

                var secondOrdinal = rdr.GetOrdinal("second");
                scoremodel.Second = rdr.GetInt32(secondOrdinal);

                var DateTimeOrdinal = rdr.GetOrdinal("time");
                scoremodel.DateTime = rdr.GetDateTime(DateTimeOrdinal);

                result.Add(scoremodel);
            }

            // get alla scores from Database

            return(result);
        }
예제 #12
0
        async public Task <Ciudad> Find(long Id)
        {
            try
            {
                Ciudad miObjecto = new Ciudad();

                int registros = 0;

                bool existe = await existeRegistro(Id);

                if (!existe)
                {
                    miObjecto = null;
                    return(miObjecto);
                }

                NpgsqlCommand cmd = _Coneccion.CreateCommand();
                cmd.Transaction = _Transaccion;

                cmd.CommandText = @"SELECT  ciudadid, 
                                            estadoid, 
                                            nombre
                                    FROM ciudad
                                    WHERE ( ciudadid = @ciudadid );";

                cmd.Parameters.Add("@ciudadid", NpgsqlTypes.NpgsqlDbType.Bigint).Value = Id;

                var rd = await cmd.ExecuteReaderAsync();

                NpgsqlDataReader DbReader = (NpgsqlDataReader)rd;


                int colciudadid = DbReader.GetOrdinal("ciudadid");
                int colestadoid = DbReader.GetOrdinal("estadoid");
                int colnombre   = DbReader.GetOrdinal("nombre");


                while (DbReader.Read())
                {
                    miObjecto.ciudad_id = (int)DbReader.SafeGetLongNpg(colciudadid, 0);
                    miObjecto.estado_id = (int)DbReader.SafeGetLongNpg(colestadoid, 0);
                    miObjecto.nombre    = DbReader.SafeGetStringNpg(colnombre);

                    registros++;
                }

                DbReader.Close();

                if (registros == 0)
                {
                    miObjecto = null;
                }

                return(miObjecto);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
예제 #13
0
        public static List <StationObject> SelectStations(int limit, int offset)
        {
            List <StationObject> returnObj = new List <StationObject>();

            NpgsqlConnection conn = null;
            NpgsqlDataReader dr   = null;

            try
            {
                conn = OpenConnectionAndGetReader("SELECT * from station order by lower(street_address), lower(city), lower(country) limit :p0 offset :p1;", out dr, limit, offset);
                while (dr.Read())
                {
                    string street_address = dr.GetFieldValue <string>(dr.GetOrdinal("street_address"));
                    string city           = dr.GetFieldValue <string>(dr.GetOrdinal("city"));
                    string country        = dr.GetFieldValue <string>(dr.GetOrdinal("country"));

                    returnObj.Add(new StationObject(street_address, city, country));
                }
            }
            finally
            {
                conn.Close();
            }
            return(returnObj);
        }
예제 #14
0
        public bool busca_sol_deb_automatico(ref ConnPostNpgsql.Conexao conexao)
        {
            this.erros.classe  = "CSolDebAutomatico";
            this.erros.funcao  = "busca_sol_deb_automatico()";
            this.erros.codErro = "";
            NpgsqlCommand    npgsqlCommand    = new NpgsqlCommand();
            NpgsqlDataReader npgsqlDataReader = null;
            bool             result;

            try
            {
                npgsqlCommand.Connection = conexao.ConexaoBd;
                if (conexao.transactionIsOpen())
                {
                    npgsqlCommand.Transaction = conexao.TransacaoBd;
                }
                string commandText = "SELECT *   from tb_solicitacao_deb_aut  WHERE seq_solicitacao_deb_aut = :seq_solicitacao_deb_aut";
                npgsqlCommand.CommandText = commandText;
                openPost.setParameters(npgsqlCommand, ":seq_solicitacao_deb_aut", this.pagamento.seq_solicitacao_deb_aut);
                npgsqlDataReader = npgsqlCommand.ExecuteReader();
                if (npgsqlDataReader.Read())
                {
                    int ordinal = npgsqlDataReader.GetOrdinal("id_imobiliaria");
                    this.pagamento.codImobiliaria = npgsqlDataReader.GetValue(ordinal).ToString();
                    ordinal = npgsqlDataReader.GetOrdinal("id_venda");
                    this.pagamento.id_venda = npgsqlDataReader.GetValue(ordinal).ToString();
                    ordinal = npgsqlDataReader.GetOrdinal("id_pagamento");
                    this.pagamento.id_pagamento = npgsqlDataReader.GetValue(ordinal).ToString();
                    npgsqlDataReader.Dispose();
                    result = true;
                }
                else
                {
                    this.erros.codErro  = "9999";
                    this.erros.descErro = "NAO HA PAGAMENTOS PARA SOLICITACAO DEBITO AUTOMATICO...";
                    this.erros.rc       = 59;
                    npgsqlCommand.Dispose();
                    npgsqlDataReader.Dispose();
                    result = false;
                }
            }
            catch (Exception ex)
            {
                this.erros.codErro  = "9999";
                this.erros.descErro = "EXCEPTION:" + ex.Message;
                this.erros.rc       = 4;
                npgsqlCommand.Dispose();
                npgsqlDataReader.Dispose();
                result = false;
            }
            finally
            {
                if (npgsqlCommand != null)
                {
                    npgsqlCommand.Dispose();
                    npgsqlCommand = null;
                }
            }
            return(result);
        }
예제 #15
0
        public static List <BookingObject> SelectBookings(int limit, int offset)
        {
            List <BookingObject> returnObj = new List <BookingObject>();

            NpgsqlConnection conn = null;
            NpgsqlDataReader dr   = null;

            try
            {
                conn = OpenConnectionAndGetReader("SELECT * from booking order by busride_id, lower(traveller) limit :p0 offset :p1;", out dr, limit, offset);
                while (dr.Read())
                {
                    int    busride_id = dr.GetFieldValue <int>(dr.GetOrdinal("busride_id"));
                    string traveller  = dr.GetFieldValue <string>(dr.GetOrdinal("traveller"));
                    int    seats      = dr.GetFieldValue <int>(dr.GetOrdinal("seats"));

                    returnObj.Add(new BookingObject(busride_id, traveller, seats));
                }
            }
            finally
            {
                conn.Close();
            }
            return(returnObj);
        }
예제 #16
0
        public static TravellerObject VerifyTraveller(string username, string hashedPassword)
        {
            ErrorMessage = "Wrong username or password.";
            TravellerObject returnObj = null;

            NpgsqlConnection conn = null;
            NpgsqlDataReader dr   = null;

            try
            {
                conn = OpenConnectionAndGetReader("SELECT * from traveller WHERE email = :p0 AND password = :p1;", out dr, username, hashedPassword);
                if (dr.Read())
                {
                    string email           = dr.GetFieldValue <string>(dr.GetOrdinal("email"));
                    string _hashedPassword = dr.GetFieldValue <string>(dr.GetOrdinal("password"));
                    string name            = dr.GetFieldValue <string>(dr.GetOrdinal("name"));
                    string address         = dr.GetFieldValue <string>(dr.GetOrdinal("address"));
                    string phone           = dr.GetFieldValue <string>(dr.GetOrdinal("phone"));

                    returnObj    = new TravellerObject(email, _hashedPassword, name, address, phone);
                    ErrorMessage = "";
                }
            }
            finally
            {
                conn.Close();
            }
            return(returnObj);
        }
예제 #17
0
        private async Task <Dictionary <string, string> > GetTableColumnsAsync(string tableName)
        {
            Dictionary <string, string> columns =
                new Dictionary <string, string>();

            using (NpgsqlConnection conn = await OpenDbConnectionAsync(GetSetupTestDbConnectionString()))
            {
                string getColumnsSql = $@"SELECT column_name, data_type 
					FROM information_schema.columns 
					WHERE table_catalog = '{SetupTestDbName}' 
						AND table_name = '{tableName}';"                        ;

                using (NpgsqlCommand cmd = new NpgsqlCommand(getColumnsSql, conn))
                    using (NpgsqlDataReader rdr = await cmd.ExecuteReaderAsync())
                    {
                        while (await rdr.ReadAsync())
                        {
                            string columnName = rdr.GetString(rdr
                                                              .GetOrdinal("column_name"));
                            string dataType = rdr.GetString(rdr
                                                            .GetOrdinal("data_type"));

                            columns.Add(columnName.ToLower(),
                                        dataType.ToUpper());
                        }
                    }

                await conn.CloseAsync();
            }

            return(columns);
        }
예제 #18
0
 /// <summary>
 /// create new table contcardpic
 /// </summary>
 /// <param name="npgsqlDataReader"></param>
 /// <param name="contCardPIC"></param>
 private void MappingDataReaderToContCardpic(NpgsqlDataReader npgsqlDataReader, ContCardPic contCardPIC)
 {
     contCardPIC.ContCardPicID = npgsqlDataReader.GetInt64(npgsqlDataReader.GetOrdinal("ContCardPicID"));
     contCardPIC.ContCardID    = npgsqlDataReader.GetInt64(npgsqlDataReader.GetOrdinal("ContCardID"));
     contCardPIC.PicDtm        = npgsqlDataReader.GetDateTime(npgsqlDataReader.GetOrdinal("PicDtm"));
     contCardPIC.PicName       = npgsqlDataReader.GetString(npgsqlDataReader.GetOrdinal("PicName"));
     contCardPIC.PicData       = (byte[])npgsqlDataReader[4];
 }
예제 #19
0
        private void MappingDataReaderToCustomer(NpgsqlDataReader npgsqlDataReader, Customer customer)
        {
            customer.CustomerID = npgsqlDataReader.GetInt32(npgsqlDataReader.GetOrdinal("customerid"));

            customer.CustomerCode = npgsqlDataReader.GetString(npgsqlDataReader.GetOrdinal("CustomerCode"));

            customer.Name = npgsqlDataReader.GetString(npgsqlDataReader.GetOrdinal("Name"));
        }
예제 #20
0
        protected override SurveyData ParseSample(NpgsqlDataReader reader)
        {
            var weight     = reader.GetDouble(reader.GetOrdinal("weight"));
            var houseValue = reader.GetDouble(reader.GetOrdinal("house_value"));

            return(new SurveyData {
                Weight = weight, Data = houseValue
            });
        }
예제 #21
0
        protected override SurveyData ParseSample(NpgsqlDataReader reader)
        {
            var weight = reader.GetDouble(reader.GetOrdinal("weight"));
            var income = reader.GetDouble(reader.GetOrdinal("income"));

            return(new SurveyData {
                Weight = weight, Data = income
            });
        }
예제 #22
0
        protected override SurveyData ParseSample(NpgsqlDataReader reader)
        {
            var weight   = reader.GetDouble(reader.GetOrdinal("weight"));
            var networth = reader.GetDouble(reader.GetOrdinal("networth"));

            return(new SurveyData {
                Weight = weight, Data = networth
            });
        }
예제 #23
0
        protected override KeySequence RecordToEntity(NpgsqlDataReader dataReader)
        {
            KeySequence keySequence = new KeySequence();

            keySequence.TableName    = dataReader.GetString(dataReader.GetOrdinal("tablename"));
            keySequence.LastKeyValue = dataReader.GetInt32(dataReader.GetOrdinal("lastkeyvalue"));

            return(keySequence);
        }
예제 #24
0
        /// <summary>
        /// Retrieves an mmrsnapshot from a npgsql data reader.
        /// </summary>
        public static MmrSnapshot ToMmrSnapshot(this NpgsqlDataReader reader)
        {
            DateTime snapshotTime = reader.GetDateTime(reader.GetOrdinal("snapshottime"));
            string   snapshotJson = reader.GetString(reader.GetOrdinal("snapshotjson"));
            int      season       = reader.GetInt32(reader.GetOrdinal("season"));
            var      snapshotData = JsonSerializer.Deserialize <CompressedMmrData[]>(snapshotJson);

            return(new MmrSnapshot(snapshotTime, snapshotData, season));
        }
예제 #25
0
        /// <summary>Convert a record retrieved from the database to an entity object.</summary>
        /// <param name="dataReader">The database reader with the results from a database request.</param>
        /// <returns>A new entity with the data.</returns>
        protected override Region RecordToEntity(NpgsqlDataReader dataReader)
        {
            Region region = new Region();

            region.PrimaryKey  = dataReader.GetString(dataReader.GetOrdinal("regkey"));
            region.Description = dataReader.GetString(dataReader.GetOrdinal("regdescription"));

            return(region);
        }
        /// <summary>Convert a record retrieved from the database to an entity object.</summary>
        /// <param name="dataReader">The database reader with the results from a database request.</param>
        /// <returns>A new entity with the data.</returns>
        protected override Country RecordToEntity(NpgsqlDataReader dataReader)
        {
            Country country = new Country();

            country.PrimaryKey  = dataReader.GetString(dataReader.GetOrdinal("coukey"));
            country.Description = dataReader.GetString(dataReader.GetOrdinal("coudescription"));
            country.RegionKey   = dataReader.GetString(dataReader.GetOrdinal("couregkey"));

            return(country);
        }
예제 #27
0
        private static User GetUserDataFromQuery(NpgsqlDataReader userReader)
        {
            string   login       = userReader.GetString(userReader.GetOrdinal("login"));
            string   password    = userReader.GetString(userReader.GetOrdinal("password"));
            string   firstName   = userReader.GetString(userReader.GetOrdinal("first_name"));
            string   lastName    = userReader.GetString(userReader.GetOrdinal("last_name"));
            DateTime dateOfBirth = userReader.GetDateTime(userReader.GetOrdinal("date_of_birth"));

            return(new User(login, password, firstName, lastName, dateOfBirth));
        }
예제 #28
0
        /// <summary>Convert a record retrieved from the database to an entity object.</summary>
        /// <param name="dataReader">The database reader with the results from a database request.</param>
        /// <returns>A new entity with the data.</returns>
        protected override Owner RecordToEntity(NpgsqlDataReader dataReader)
        {
            Owner owner = new Owner();

            owner.PrimaryKey   = dataReader.GetString(dataReader.GetOrdinal("ownkey"));
            owner.OwnerName    = dataReader.GetString(dataReader.GetOrdinal("ownname"));
            owner.DefaultOwner = dataReader.GetBoolean(dataReader.GetOrdinal("owndefault"));

            return(owner);
        }
예제 #29
0
        /// <summary>Convert a record retrieved from the database to an entity object.</summary>
        /// <param name="dataReader">The database reader with the results from a database request.</param>
        /// <returns>A new entity with the data.</returns>
        protected override Manufacturer RecordToEntity(NpgsqlDataReader dataReader)
        {
            Manufacturer manufacturer = new Manufacturer();

            manufacturer.PrimaryKey = dataReader.GetString(dataReader.GetOrdinal("mankey"));
            manufacturer.Name       = dataReader.GetString(dataReader.GetOrdinal("manname"));
            manufacturer.CountryKey = dataReader.GetString(dataReader.GetOrdinal("mancoukey"));

            return(manufacturer);
        }
        private static Place MapCurrentRowToPlace(NpgsqlDataReader reader)
        {
            var result = new Place
            {
                Id      = reader.GetFieldValue <Guid>(reader.GetOrdinal("id")),
                Names   = reader.GetFieldValue <List <PlaceName> >(reader.GetOrdinal("names")),
                TelCode = reader.GetFieldValue <string>(reader.GetOrdinal("tel_code"))
            };

            return(result);
        }
        NpgsqlDbColumn LoadColumnDefinition(NpgsqlDataReader reader)
        {
            var columnName = reader.GetString(reader.GetOrdinal("attname"));
            var column = new NpgsqlDbColumn
            {
                AllowDBNull = !reader.GetBoolean(reader.GetOrdinal("attnotnull")),
                BaseCatalogName = _connection.Database,
                BaseColumnName = columnName,
                BaseSchemaName = reader.GetString(reader.GetOrdinal("nspname")),
                BaseServerName = _connection.Host,
                BaseTableName = reader.GetString(reader.GetOrdinal("relname")),
                ColumnName = columnName,
                ColumnOrdinal = reader.GetInt32(reader.GetOrdinal("attnum")) - 1,
                ColumnAttributeNumber = (short)(reader.GetInt16(reader.GetOrdinal("attnum")) - 1),
                IsKey = reader.GetBoolean(reader.GetOrdinal("isprimarykey")),
                IsReadOnly = !reader.GetBoolean(reader.GetOrdinal("is_updatable")),
                IsUnique = reader.GetBoolean(reader.GetOrdinal("isunique")),
                DataTypeName = reader.GetString(reader.GetOrdinal("typname")),

                TableOID = reader.GetFieldValue<uint>(reader.GetOrdinal("attrelid")),
                TypeOID = reader.GetFieldValue<uint>(reader.GetOrdinal("typoid"))
            };

            var defaultValueOrdinal = reader.GetOrdinal("default");
            column.DefaultValue = reader.IsDBNull(defaultValueOrdinal) ? null : reader.GetString(defaultValueOrdinal);

            column.IsAutoIncrement = column.DefaultValue != null && column.DefaultValue.StartsWith("nextval(");

            ColumnPostConfig(column, reader.GetInt32(reader.GetOrdinal("atttypmod")));

            return column;
        }