예제 #1
0
        public List <RoomType> getAllRoomType(string conn)
        {
            SqlConnection connection = new SqlConnection(conn);

            string     sqlStoredProcedure = "SP_Retrieve_Room_By_Type";
            SqlCommand cmdRoomType        = new SqlCommand(sqlStoredProcedure, connection);

            cmdRoomType.CommandType = CommandType.StoredProcedure;

            cmdRoomType.Connection.Open();
            cmdRoomType.ExecuteNonQuery();

            SqlDataReader reader = cmdRoomType.ExecuteReader();

            List <RoomType> allRoomType = new List <RoomType>();

            cr.fi.bccr.indicadoreseconomicos.wsIndicadoresEconomicos client = new cr.fi.bccr.indicadoreseconomicos.wsIndicadoresEconomicos();
            DataSet typeChange = client.ObtenerIndicadoresEconomicos("317", DateTime.Today.ToString("d"), DateTime.Today.ToString("d"), "Cuatrivago", "n");

            if (reader.HasRows)
            {
                while (reader.Read())
                {
                    RoomType roomType = new RoomType();
                    roomType.idRoomType   = reader.GetString(0);
                    roomType.name         = reader.GetString(1);
                    roomType.description_ = reader.GetString(2);
                    roomType.quantity     = reader.GetString(3);
                    roomType.priceColon   = "$" + reader.GetString(4);
                    //double colon  = int.Parse(reader.GetString(4)) * double.Parse(typeChange.Tables[0].Rows[0].ItemArray[2].ToString());
                    double colon = 0.4;

                    roomType.priceDolar = "₡" + colon;
                    roomType.path       = reader.GetString(5);

                    allRoomType.Add(roomType);
                }
            }

            cmdRoomType.Connection.Close();

            return(allRoomType);
        }
예제 #2
0
        public List <Room> getAllRommByType(string conn, int idTypeRoom)
        {
            SqlConnection connection         = new SqlConnection(conn);
            string        sqlStoredProcedure = "SP_Retrieve_All_Room_By_Room_Type_With_Price";
            SqlCommand    sqlCommand         = new SqlCommand(sqlStoredProcedure, connection);

            sqlCommand.CommandType = CommandType.StoredProcedure;
            sqlCommand.Parameters.Add(new SqlParameter("@RoomType", idTypeRoom));

            sqlCommand.Connection.Open();
            sqlCommand.ExecuteNonQuery();

            SqlDataReader reader = sqlCommand.ExecuteReader();

            cr.fi.bccr.indicadoreseconomicos.wsIndicadoresEconomicos client = new cr.fi.bccr.indicadoreseconomicos.wsIndicadoresEconomicos();
            DataSet typeChange = client.ObtenerIndicadoresEconomicos("317", DateTime.Today.ToString("d"), DateTime.Today.ToString("d"), "Cuatrivago", "n");

            double colon = double.Parse(typeChange.Tables[0].Rows[0].ItemArray[2].ToString());

            List <Room> roomList = new List <Room>();

            if (reader.HasRows)
            {
                while (reader.Read())
                {
                    Room room = new Room();
                    room.idRoom       = reader.GetInt32(0);
                    room.capacity     = reader.GetInt32(1);
                    room.description_ = reader.GetString(2);
                    room.priceDolar   = "$" + reader.GetDouble(3).ToString();
                    room.priceColon   = "₡" + (reader.GetDouble(3) * colon);
                    room.roomType     = idTypeRoom;
                    roomList.Add(room);
                }
            }
            sqlCommand.Connection.Close();
            return(roomList);
        }
예제 #3
0
        // GET api/insertar
        public void Get()
        {
            try
            {
                //Se crea el cliente
                cr.fi.bccr.indicadoreseconomicos.wsIndicadoresEconomicos cliente = new cr.fi.bccr.indicadoreseconomicos.wsIndicadoresEconomicos();
                // Se crea la fecha  Actual
                DateTime Fecha_Actual = DateTime.UtcNow.Date;
                //Se le da formato y se convierte en string para usarla como parametro
                string Hoy = Fecha_Actual.ToString("dd/MM/yyyy");


                //Se crea la fecha de hace 6 años
                var Fecha_Hace_6años = Fecha_Actual.AddYears(-6);
                //Se le da formato y se convierte en string para usarla como parametro
                string Antes = Fecha_Hace_6años.ToString("dd/MM/yyyy");

                //Se llama el api con las fechas como parametro

                DataSet Datos = cliente.ObtenerIndicadoresEconomicos("317", Antes, Hoy, "Esteban Ferarios", "N");


                /*Se crea el string de conexion*/
                var cb = new SqlConnectionStringBuilder();
                cb.DataSource     = "avanzadas.database.windows.net";
                cb.UserID         = "bases";
                cb.Password       = "******";
                cb.InitialCatalog = "Bases_DW";

                //Se inicia el while de los datos obtenidos
                int i = 0;
                /*Se crea la conexcion*/
                using (SqlConnection connection = new SqlConnection(cb.ConnectionString))
                {
                    //Se abre la conexion
                    connection.Open();

                    //Se borran los datos anteriores para la prueba

                    String queryBorrar = "DELETE FROM dimTipoCambio DELETE FROM dimFecha DBCC CHECKIDENT('dimFecha', RESEED, 0); DBCC CHECKIDENT ('dimTipoCambio', RESEED, 0);";

                    using (SqlCommand command = new SqlCommand(queryBorrar, connection))
                    {
                        int result = command.ExecuteNonQuery();

                        // Check Error
                        if (result < 0)
                        {
                            Console.WriteLine("Error inserting data into Database!");
                        }
                    }

                    //Se leen los datos
                    while (i != Datos.Tables[0].Rows.Count)
                    {
                        try
                        {
                            //Se Obtiene la fecha segun la posicion i en formato String
                            string Fechas = Datos.Tables[0].Rows[i].ItemArray[1].ToString();
                            //Se convierten a tipo Datetime para darles formato y manejarlas
                            DateTime myDate = DateTime.Parse(Fechas);

                            //Se dividen los formatos necesarios para el Store Procedure
                            string Fecha      = myDate.ToString("MM/dd/yyyy");
                            string Dia        = myDate.ToString("dd");
                            string Mes        = myDate.ToString("MM");
                            string Año        = myDate.ToString("yyyy");
                            string YYYY_MM    = myDate.ToString("yyyy/MM");
                            string Mes_String = "Unknown";

                            //Se convierten el Dia,Mes y Año para crear un datetime y obtener el nombre del dia

                            int Dia_int = 0;
                            Int32.TryParse(Dia, out Dia_int);
                            int Mes_int = 0;
                            Int32.TryParse(Mes, out Mes_int);
                            int Año_int = 0;
                            Int32.TryParse(Año, out Año_int);

                            //Se crea el objeto Datetime para saber el nombre del dia
                            DateTime Date = new DateTime(Año_int, Mes_int, Dia_int, 0, 00, 00);

                            //Se obtiene el nombre del dia de la fecha
                            string Nombre_dia = Date.DayOfWeek.ToString();

                            //Se inician los switch cases para formar las fechas con el nombre
                            switch (Mes)
                            {
                            case "01":
                                Mes_String = "January";
                                break;

                            case "02":
                                Mes_String = "February";
                                break;

                            case "03":
                                Mes_String = "March";
                                break;

                            case "04":
                                Mes_String = "April";
                                break;

                            case "05":
                                Mes_String = "May";
                                break;

                            case "06":
                                Mes_String = "June";
                                break;

                            case "07":
                                Mes_String = "July";
                                break;

                            case "08":
                                Mes_String = "August";
                                break;

                            case "09":
                                Mes_String = "Setember";
                                break;

                            case "10":
                                Mes_String = "October";
                                break;

                            case "11":
                                Mes_String = "November";
                                break;

                            case "12":
                                Mes_String = "December";
                                break;
                            }

                            // Se crea la fecha completa en formato string
                            string Fecha_String = Nombre_dia + ", " + Mes_String + " " + Dia + "," + Año;



                            //Se Obtiene el tipo de cambio segun el i
                            String Cambio = Datos.Tables[0].Rows[i].ItemArray[2].ToString();

                            Cambio = Cambio.Replace(",", ".");

                            //Se crea el query para el store procedure



                            //Se crea el query del store y se inserta en la base
                            String query = "EXEC dbo.insertar @Fecha = '" + Fecha + "', @Dia = '" + Dia + "', @Mes = '" + Mes + "', @Año = '" + Año + "', @Mes_String = '"
                                           + Mes_String + "', @YYYY_MM = '" + YYYY_MM + "', @Fecha_String = '" + Fecha_String + "', @Tipo_Cambio = '" + Cambio + "'";

                            Console.WriteLine(query);
                            using (SqlCommand command = new SqlCommand(query, connection))
                            {
                                int result = command.ExecuteNonQuery();

                                // Check Error
                                if (result < 0)
                                {
                                    Console.WriteLine("Error inserting data into Database!");
                                }
                            }



                            i++;
                            //System.Threading.Thread.Sleep(50000);
                        }
                        catch (Exception e)
                        {
                            Console.WriteLine(e);
                            System.Threading.Thread.Sleep(50000);
                        }
                    }
                    connection.Close();
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
            }
        }
예제 #4
0
        public void Get()
        {
            try
            {
                //Se crea el cliente
                cr.fi.bccr.indicadoreseconomicos.wsIndicadoresEconomicos cliente = new cr.fi.bccr.indicadoreseconomicos.wsIndicadoresEconomicos();

                /*Se crea el string de conexion*/
                var cb = new SqlConnectionStringBuilder();
                cb.DataSource     = "avanzadas.database.windows.net";
                cb.UserID         = "bases";
                cb.Password       = "******";
                cb.InitialCatalog = "Bases_DW";


                // Se crea la fecha  Actual
                DateTime Fecha_Actual = DateTime.UtcNow.Date;
                //Se le da formato y se convierte en string para usarla como parametro
                string Hoy = Fecha_Actual.ToString("dd/MM/yyyy");

                //Se crea un query para obtener la ultima fecha guardada en la DB
                string queryUltimaFecha = "SELECT TOP 1 Fecha FROM dimFecha ORDER BY dimFecha.Id_Fecha DESC";

                //Se crea una variable DateTime para guardar la ultima fecha que se obtendra de la DB
                //por defecto se utilizara el dia anterior para que al agregar un dia sea el dia actual
                DateTime UltimaFecha = DateTime.UtcNow.Date.AddDays(-1);

                //se obtiene la ultima fecha guardada conectandose a la db

                using (SqlConnection connection = new SqlConnection(cb.ConnectionString))
                {
                    //se abre la conexion
                    connection.Open();
                    //se crea el comando con el query
                    using (SqlCommand command = new SqlCommand(queryUltimaFecha, connection))
                    {
                        //se inicia el try
                        try
                        {
                            //se hace un result del comando
                            SqlDataReader result = command.ExecuteReader();
                            //se lee el result
                            while (result.Read())
                            {
                                /*como solo es una fecha se lee la posicion 0 y
                                 * se le asigna a la variable DateTime*/
                                UltimaFecha = result.GetDateTime(0);
                            }
                        }
                        catch (Exception e)
                        {
                            Console.WriteLine(e);
                        }
                    }
                    //se cierra la conexion
                    connection.Close();
                }



                /*Como se sabe que no necitamos la ultima fecha si el dia siguiente de esta
                 * le agregamos un dia*/


                UltimaFecha = UltimaFecha.AddDays(1);

                //Se le da al resultado y se convierte en string para usarla como parametro

                string Antes = UltimaFecha.ToString("dd/MM/yyyy");


                //Se llama el api con las fechas como parametro

                DataSet Datos = cliente.ObtenerIndicadoresEconomicos("317", Antes, Hoy, "Esteban Ferarios", "N");



                //Se obtienen las fechas y tipo de cambio desde la ultima fecha
                int i = 0;
                /*Se crea la conexcion*/
                using (SqlConnection connection = new SqlConnection(cb.ConnectionString))
                {
                    //Se abre la conexion
                    connection.Open();



                    //Se leen los datos
                    while (i != Datos.Tables[0].Rows.Count)
                    {
                        try
                        {
                            //Se Obtiene la fecha segun la posicion i en formato String
                            string Fechas = Datos.Tables[0].Rows[i].ItemArray[1].ToString();
                            //Se convierten a tipo Datetime para darles formato y manejarlas
                            DateTime myDate = DateTime.Parse(Fechas);

                            //Se dividen los formatos necesarios para el Store Procedure
                            string Fecha      = myDate.ToString("MM/dd/yyyy");
                            string Dia        = myDate.ToString("dd");
                            string Mes        = myDate.ToString("MM");
                            string Año        = myDate.ToString("yyyy");
                            string YYYY_MM    = myDate.ToString("yyyy/MM");
                            string Mes_String = "Unknown";

                            //Se convierten el Dia,Mes y Año para crear un datetime y obtener el nombre del dia

                            int Dia_int = 0;
                            Int32.TryParse(Dia, out Dia_int);
                            int Mes_int = 0;
                            Int32.TryParse(Mes, out Mes_int);
                            int Año_int = 0;
                            Int32.TryParse(Año, out Año_int);

                            //Se crea el objeto Datetime para saber el nombre del dia
                            DateTime Date = new DateTime(Año_int, Mes_int, Dia_int, 0, 00, 00);

                            //Se obtiene el nombre del dia de la fecha
                            string Nombre_dia = Date.DayOfWeek.ToString();

                            //Se inician los switch cases para formar las fechas con el nombre del mes
                            switch (Mes)
                            {
                            case "01":
                                Mes_String = "January";
                                break;

                            case "02":
                                Mes_String = "February";
                                break;

                            case "03":
                                Mes_String = "March";
                                break;

                            case "04":
                                Mes_String = "April";
                                break;

                            case "05":
                                Mes_String = "May";
                                break;

                            case "06":
                                Mes_String = "June";
                                break;

                            case "07":
                                Mes_String = "July";
                                break;

                            case "08":
                                Mes_String = "August";
                                break;

                            case "09":
                                Mes_String = "Setember";
                                break;

                            case "10":
                                Mes_String = "October";
                                break;

                            case "11":
                                Mes_String = "November";
                                break;

                            case "12":
                                Mes_String = "December";
                                break;
                            }

                            // Se crea la fecha completa en formato string
                            string Fecha_String = Nombre_dia + ", " + Mes_String + " " + Dia + "," + Año;



                            //Se Obtiene el tipo de cambio segun el i
                            String Cambio = Datos.Tables[0].Rows[i].ItemArray[2].ToString();
                            // Se reemplaza , por . para complir el formato del Float
                            Cambio = Cambio.Replace(",", ".");



                            //Se crea el query del store y se inserta en la base
                            String query = "EXEC dbo.insertar @Fecha = '" + Fecha + "', @Dia = '" + Dia + "', @Mes = '" + Mes + "', @Año = '" + Año + "', @Mes_String = '"
                                           + Mes_String + "', @YYYY_MM = '" + YYYY_MM + "', @Fecha_String = '" + Fecha_String + "', @Tipo_Cambio = '" + Cambio + "'";


                            using (SqlCommand command = new SqlCommand(query, connection))
                            {
                                int resultado = command.ExecuteNonQuery();

                                // Check Error
                                if (resultado < 0)
                                {
                                    Console.WriteLine("Error inserting data into Database!");
                                }
                            }



                            i++;
                            //System.Threading.Thread.Sleep(5000);
                        }
                        catch (Exception e)
                        {
                            Console.WriteLine(e);
                            // System.Threading.Thread.Sleep(50000);
                        }
                    }
                    //se cierra la conexion
                    connection.Close();
                }
            }

            catch (Exception e)
            {
                Console.WriteLine(e);
            }
        }
예제 #5
0
        public List <RangeDateRoom> getInformationRangeDateRoom(string conn, DateTime dateIn, DateTime dateOut, int type)
        {
            SqlConnection connection = new SqlConnection(conn);

            string     sqlStoredProcedure = "SP_VERIFY_ROOMS_USER";
            SqlCommand cmdRangeRoom       = new SqlCommand(sqlStoredProcedure, connection);

            cmdRangeRoom.CommandType = CommandType.StoredProcedure;

            SqlParameter currentDateIn = new SqlParameter();

            currentDateIn.ParameterName = "@dateIn";
            currentDateIn.SqlDbType     = SqlDbType.Date;
            currentDateIn.Direction     = ParameterDirection.Input;
            currentDateIn.Value         = dateIn;

            SqlParameter currentDateOut = new SqlParameter();

            currentDateOut.ParameterName = "@dateOut";
            currentDateOut.SqlDbType     = SqlDbType.Date;
            currentDateOut.Direction     = ParameterDirection.Input;
            currentDateOut.Value         = dateOut;

            SqlParameter currentType = new SqlParameter();

            currentType.ParameterName = "@roomType";
            currentType.SqlDbType     = SqlDbType.Int;
            currentType.Direction     = ParameterDirection.Input;
            currentType.Value         = type;


            cmdRangeRoom.Parameters.Add(currentDateIn);
            cmdRangeRoom.Parameters.Add(currentDateOut);
            cmdRangeRoom.Parameters.Add(currentType);


            cmdRangeRoom.Connection.Open();

            cmdRangeRoom.ExecuteNonQuery();


            SqlDataReader reader = cmdRangeRoom.ExecuteReader();

            List <RangeDateRoom> rooms = new List <RangeDateRoom>();

            cr.fi.bccr.indicadoreseconomicos.wsIndicadoresEconomicos client = new cr.fi.bccr.indicadoreseconomicos.wsIndicadoresEconomicos();
            DataSet typeChange = client.ObtenerIndicadoresEconomicos("317", DateTime.Today.ToString("d"), DateTime.Today.ToString("d"), "Cuatrivago", "n");

            double colon = double.Parse(typeChange.Tables[0].Rows[0].ItemArray[2].ToString());


            if (reader.HasRows)
            {
                while (reader.Read())
                {
                    RangeDateRoom room = new RangeDateRoom();
                    room.id          = reader.GetInt32(0).ToString();
                    room.description = reader.GetString(1);
                    room.capacity    = reader.GetInt32(2).ToString();
                    room.available   = reader.GetString(3);
                    room.type        = reader.GetString(4);
                    room.price       = "$" + reader.GetDouble(5).ToString();
                    room.priceColon  = "₡" + (reader.GetDouble(5) * colon);
                    rooms.Add(room);
                }
            }

            cmdRangeRoom.Connection.Close();

            return(rooms);
        }