/// <summary>
        /// En este metodo se ejecuta el guardar la reserva en el sistema
        /// </summary>
        /// <param name="fechaini"></param>
        /// <param name="fechafin"></param>
        /// <param name="horaini"></param>
        /// <param name="horafin"></param>
        /// <param name="matricula"></param>
        /// <param name="ciudadori"></param>
        /// <param name="ciudaddes"></param>
        /// <returns></returns>
        public ActionResult M19_Accion_Reserva(string fechaini, string fechafin, string horaini, string horafin, string matricula, int ciudadori, int ciudaddes)
        {
            System.Diagnostics.Debug.WriteLine("LLEGA AL CONTROLLER DE ACCION RESERVA");

            System.Diagnostics.Debug.WriteLine("fechaini: " + fechaini + ", fechafin: " + fechafin + ", horaini: " + horaini + ", horafin: " + horafin + ", idusuario: 1, matricula: " + matricula + ", ciudadori: " + ciudadori + ", ciudaddes: " + ciudaddes);

            try
            {
                Entidad           _reserva = FabricaEntidad.inicializarAutomovil(matricula, " ", " ", " ", " ", " ", 1, 8.0, 1, 1, 1, fechaini, fechafin, horaini, horafin, ciudadori, ciudaddes);
                Command <Boolean> comando  = (Command <Boolean>)FabricaComando.comandosReservaAutomovil(FabricaComando.comandosGlobales.CREAR, FabricaComando.comandoReservaAuto.NULO, _reserva);


                if (comando.ejecutar())
                {
                    CAutomovil auto = (CAutomovil)_reserva;
                    auto._matricula = "11111111";
                    return(View(auto));
                }
                else
                {
                    Response.StatusCode = (int)HttpStatusCode.BadRequest;
                    string error = "Error agregando la reserva del automovil.";
                    return(Json(error));
                }
            }
            catch (Exception)
            {
                Response.StatusCode = (int)HttpStatusCode.BadRequest;
                string error = "Error agregando la reserva del automovil.";
                return(Json(error));
            }
        }
示例#2
0
    public object Clone()
    {
        CAutomovil temp = new CAutomovil(Modelo, Costo);

        temp.Tenencia = Tenencia;
        return(temp);
    }
示例#3
0
        /// <summary>
        /// Metodo para agregar reserva de automovil
        /// </summary>
        /// <param name="_reserva"></param>
        /// <returns>Se retorna true si fue exitoso</returns>
        public bool Crear(Entidad _reserva)
        {
            //Metodo para escribir en el archivo log.xml que se ha ingresado en el metodo
            Log.EscribirInfo(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name,
                             RecursoDAOM19.MensajeInicioMetodoLogger, System.Reflection.MethodBase.GetCurrentMethod().Name);

            System.Diagnostics.Debug.WriteLine("LLEGA A CREAR EN EL DAO");

            CAutomovil       res            = (CAutomovil)_reserva;
            List <Parametro> listaParametro = FabricaDAO.asignarListaDeParametro();

            try
            {
                listaParametro.Add(FabricaDAO.asignarParametro(RecursoDAOM19.raut_fecha_ini, SqlDbType.VarChar, res._fechaini, false));
                listaParametro.Add(FabricaDAO.asignarParametro(RecursoDAOM19.raut_fecha_fin, SqlDbType.VarChar, res._fechafin, false));
                listaParametro.Add(FabricaDAO.asignarParametro(RecursoDAOM19.raut_hora_ini, SqlDbType.VarChar, res._horaini, false));
                listaParametro.Add(FabricaDAO.asignarParametro(RecursoDAOM19.raut_hora_fin, SqlDbType.VarChar, res._horafin, false));
                listaParametro.Add(FabricaDAO.asignarParametro(RecursoDAOM19.raut_fk_usuario, SqlDbType.Int, 1.ToString(), false));
                listaParametro.Add(FabricaDAO.asignarParametro(RecursoDAOM19.raut_fk_automovil, SqlDbType.VarChar, res._matricula, false));
                listaParametro.Add(FabricaDAO.asignarParametro(RecursoDAOM19.raut_fk_ciudad_devolucion, SqlDbType.Int, res._ciudaddestino.ToString(), false));
                listaParametro.Add(FabricaDAO.asignarParametro(RecursoDAOM19.raut_fk_ciudad_entrega, SqlDbType.Int, res._ciudadorigen.ToString(), false));
                listaParametro.Add(FabricaDAO.asignarParametro(RecursoDAOM19.raut_estatus, SqlDbType.Int, 0.ToString(), false));



                EjecutarStoredProcedure(RecursoDAOM19.procedimientoAgregar, listaParametro);
            }
            catch (ArgumentNullException ex)
            {
                Log.EscribirError(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name, ex);
                throw new ReservaExceptionM19("Reserva-404", "Argumento con valor invalido", ex);
            }
            catch (FormatException ex)
            {
                Log.EscribirError(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name, ex);
                throw new ReservaExceptionM19("Reserva-404", "Datos con un formato invalido", ex);
            }
            catch (SqlException ex)
            {
                Log.EscribirError(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name, ex);
                throw new ReservaExceptionM19("Reserva-404", "Error Conexion Base de Datos", ex);
            }
            catch (ExceptionBD ex)
            {
                Log.EscribirError(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name, ex);
                throw new ReservaExceptionM19("Reserva-404", "Error Conexion Base de Datos", ex);
            }
            catch (Exception ex)
            {
                Log.EscribirError(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name, ex);
                throw new ReservaExceptionM19("Reserva-404", "Error al realizar operacion ", ex);
            }


            return(true);
        }
        static void Main(string[] args)
        {
            //creamos el admininstrador

            CAdministrarClones admin = new CAdministrarClones();

            //creamos dos instancias . no se usa palabra new por que el objeto ya existe en el catalogo de prototipo
            CPersona uno = (CPersona)admin.obtenerClones("persona");
            CPersona dos = (CPersona)admin.obtenerClones("persona");

            //se verifica que realmente es el mmismo objetos clonado

            Console.WriteLine(uno);
            Console.WriteLine(dos);

            Console.WriteLine("---------------");

            //aqui modificamos y personalizamos cada objeto. cada uno tiene propiedades independientes

            uno.Nombre = "edith";
            uno.Edad   = 32;
            dos.Nombre = "oriana";
            dos.Edad   = 12;


            Console.WriteLine(uno);
            Console.WriteLine(dos);
            Console.WriteLine("---------------");

            //creamos un objeto mas dificil de crear
            CAutomovil auto = new CAutomovil("Nissan", 250000);

            //lo agregamos al catalogo
            admin.adicionarClones("Auto", auto);

            //obtenemos unn prototipo de ese nissan

            CAutomovil auto2 = (CAutomovil)admin.obtenerClones("Auto");

            auto2.Modelo = "honda";

            //verificamos que cada una tenga su estado.

            Console.WriteLine(auto);
            Console.WriteLine(auto2);
            Console.WriteLine("-----------------");

            //este es un constructos costoso de clonar. donde conviene modificar su uso

            CPrecio valor = (CPrecio)admin.obtenerClones("valores");

            Console.WriteLine(valor);
        }
示例#5
0
    static void Main()
    {
        CAutomovil auto1 = new CAutomovil("cheyene", 2000);

        auto1.CalculaTenencia();
        Console.WriteLine(auto1.MuestraInformacion());

        CAutomovil auto2 = (CAutomovil)auto1.Clone();

        Console.WriteLine("hola");

        Console.WriteLine(auto2.MuestraInformacion());

        auto1.Modelo = "ford";
        Console.WriteLine(auto1.MuestraInformacion());
        Console.WriteLine(auto2.MuestraInformacion());
    }
示例#6
0
        public int MAgregarVehiculoBD(CAutomovil vehiculo)
        {
            int fk_ciudad = MBuscarfkciudad(vehiculo._ciudad, vehiculo._pais);

            try
            {
                con = new SqlConnection(connetionString);
                con.Open();
                String sql = "INSERT INTO Automovil VALUES ('" + vehiculo._matricula + "', '" + vehiculo._modelo + "', '" + vehiculo._fabricante + "', " + vehiculo._anio + ", " + vehiculo._kilometraje + ", " + vehiculo._cantpasajeros + ", '" + vehiculo._tipovehiculo +
                             "', " + vehiculo._preciocompra + ", " + vehiculo._precioalquiler + ", " + vehiculo._penalidaddiaria + ", '" + vehiculo._fecharegistro + "', '" + vehiculo._color + "', " + 1 + ", '" + vehiculo._transmision + "', " + fk_ciudad + ")";
                SqlCommand cmd = new SqlCommand(sql, con);
                cmd.ExecuteNonQuery();
                cmd.Dispose();
                con.Close();
                return(1);
            }
            catch (SqlException ex)
            {
                con.Close();
                return(0);
            }
        }
示例#7
0
        public List <CAutomovil> MListarvehiculosBD()
        {
            List <CAutomovil> listavehiculos = new List <CAutomovil>();

            try
            {
                con = new SqlConnection(connetionString);
                con.Open();
                String     sql = "SELECT * FROM Automovil";
                SqlCommand cmd = new SqlCommand(sql, con);
                using (SqlDataReader reader = cmd.ExecuteReader()) {
                    while (reader.Read())
                    {
                        //SE AGREGA CREA UN OBJECTO VEHICLE SE PASAN LOS ATRIBUTO ASI reader["<etiqueta de la columna en la tabla Automovil>"]
                        //Y  SE AGREGA a listavehiculos
                        var        fecha         = reader["aut_fecharegistro"];
                        DateTime   fecharegistro = Convert.ToDateTime(fecha).Date;
                        CAutomovil vehiculo      = new CAutomovil(reader["aut_matricula"].ToString(), reader["aut_modelo"].ToString(), reader["aut_fabricante"].ToString(),
                                                                  Int32.Parse(reader["aut_anio"].ToString()), reader["aut_tipovehiculo"].ToString(),
                                                                  double.Parse(reader["aut_kilometraje"].ToString()), Int32.Parse(reader["aut_cantpasajeros"].ToString()),
                                                                  double.Parse(reader["aut_preciocompra"].ToString()), double.Parse(reader["aut_precioalquiler"].ToString()),
                                                                  double.Parse(reader["aut_penalidaddiaria"].ToString()), fecharegistro,
                                                                  reader["aut_color"].ToString(), Int32.Parse(reader["aut_disponibilidad"].ToString()), reader["aut_transmision"].ToString(),
                                                                  MBuscarnombreciudad(Int32.Parse(reader["aut_fk_ciudad"].ToString())), MBuscarnombrePais(Int32.Parse(reader["aut_fk_ciudad"].ToString()))
                                                                  );
                        listavehiculos.Add(vehiculo);
                    }
                }
                cmd.Dispose();
                con.Close();
                return(listavehiculos);
            }
            catch (SqlException ex)
            {
                con.Close();
                return(null);
            }
        }
示例#8
0
        public int MModificarVehiculoBD(CAutomovil vehiculo)
        {
            int fk_ciudad = MBuscarfkciudad(vehiculo._ciudad, vehiculo._pais);

            try
            {
                con = new SqlConnection(connetionString);
                con.Open();
                String sql = "UPDATE Automovil SET aut_modelo ='" + vehiculo._modelo + "', aut_fabricante = '" + vehiculo._fabricante + "', aut_anio = " + vehiculo._anio + ", aut_kilometraje = " + vehiculo._kilometraje + ", aut_cantpasajeros = " + vehiculo._cantpasajeros + ", aut_tipovehiculo = '" + vehiculo._tipovehiculo +
                             "', aut_preciocompra = " + vehiculo._preciocompra + ", aut_precioalquiler = " + vehiculo._precioalquiler + ", aut_penalidaddiaria = " + vehiculo._penalidaddiaria + ", aut_fecharegistro = '" + vehiculo._fecharegistro + "', aut_color = '" + vehiculo._color + "', aut_transmision = '" + vehiculo._transmision + "', aut_fk_ciudad = " + fk_ciudad +
                             " WHERE aut_matricula = '" + vehiculo._matricula + "'";
                SqlCommand cmd = new SqlCommand(sql, con);
                cmd.ExecuteNonQuery();
                cmd.Dispose();
                con.Close();
                return(1);
            }
            catch (SqlException ex)
            {
                con.Close();
                return(0);
            }
        }
示例#9
0
 public static CReservaAutomovil inicializarReserva(int id, string fecha_ini, string fecha_fin, string horario_ini,
                                                    string horario_fin, int idUsuario, int estatus, CAutomovil auto,
                                                    CLugar origen, CLugar destino)
 {
     return(new CReservaAutomovil(id, fecha_ini, fecha_fin, horario_ini, horario_fin, idUsuario, estatus, auto, origen, destino));
 }
示例#10
0
        /// <summary>
        /// Metodo para consultar las reservaciones de autos por usuario
        /// </summary>
        /// <param name="_restaurant">Variable tipo en entidad que luego debe ser casteada a su tipo para metodos get y set</param>
        /// <returns>Lista de Entidades, ya que se devuelve mas de una fila de la BD, se debe castear a su respectiva clase en el Modelo</returns>

        public List <Entidad> Consultar(Entidad _usuario)
        {
            //Metodo para escribir en el archivo log.xml que se ha ingresado en el metodo
            Log.EscribirInfo(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name,
                             RecursoDAOM19.MensajeInicioMetodoLogger, System.Reflection.MethodBase.GetCurrentMethod().Name);

            List <Parametro> parametro       = FabricaDAO.asignarListaDeParametro();
            List <Entidad>   listaDeReservas = FabricaEntidad.asignarListaDeEntidades();
            DataTable        tablaDeDatos;
            Entidad          reserva;
            CUsuario         usuario = (CUsuario)_usuario; //Se castea a tipo Usuario para poder utilizar sus metodos

            //Atributos tabla Reserva Automovil
            int    _id;
            string _fecha_ini;
            string _fecha_fin;
            string _hora_ini;
            string _hora_fin;
            int    _idUsuario;
            string _idAutomovil;
            string fabricante;
            string modelo;
            string _LugarOri;
            string _LugarDest;
            int    _estatus;

            try
            {
                // Parametro de entrada para la consulta: el id del usuario
                parametro.Add(FabricaDAO.asignarParametro(RecursoDAOM19.raut_fk_usuario, SqlDbType.Int, usuario._id.ToString(), false));

                tablaDeDatos = EjecutarStoredProcedureTuplas(RecursoDAOM19.procedimientoConsultar, parametro);

                foreach (DataRow filareserva in tablaDeDatos.Rows)
                {
                    _id          = int.Parse(filareserva[RecursoDAOM19.reservaId].ToString());
                    _fecha_ini   = filareserva[RecursoDAOM19.reservaFechaIni].ToString();
                    _fecha_fin   = filareserva[RecursoDAOM19.reservaFechaFin].ToString();
                    _hora_ini    = filareserva[RecursoDAOM19.reservaHoraIni].ToString();
                    _hora_fin    = filareserva[RecursoDAOM19.reservaHoraFin].ToString();
                    _idUsuario   = int.Parse(filareserva[RecursoDAOM19.reservaUsuarioFk].ToString());
                    _idAutomovil = filareserva[RecursoDAOM19.reservaAutomovilFk].ToString();
                    fabricante   = filareserva[RecursoDAOM19.autFabricante].ToString();
                    modelo       = filareserva[RecursoDAOM19.autModelo].ToString();
                    _LugarOri    = filareserva[RecursoDAOM19.origen].ToString();
                    _LugarDest   = filareserva[RecursoDAOM19.destino].ToString();
                    _estatus     = int.Parse(filareserva[RecursoDAOM19.reservaEstatus].ToString());

                    CAutomovil automovil = FabricaEntidad.inicializarAutomovil(_idAutomovil, modelo, fabricante);
                    CLugar     ori       = FabricaEntidad.inicializarLugar(_LugarOri);
                    CLugar     dest      = FabricaEntidad.inicializarLugar(_LugarDest);

                    // INICIALIZO LA RESERVA
                    reserva = FabricaEntidad.inicializarReserva(_id, _fecha_ini, _fecha_fin, _hora_ini, _hora_fin,
                                                                _idUsuario, _estatus, automovil, ori, dest);
                    listaDeReservas.Add(reserva);
                }

                return(listaDeReservas);
            }
            catch (ArgumentNullException ex)
            {
                Log.EscribirError(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name, ex);
                throw new ReservaExceptionM19("Reserva-404", "Argumento con valor invalido", ex);
            }
            catch (FormatException ex)
            {
                Log.EscribirError(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name, ex);
                throw new ReservaExceptionM19("Reserva-404", "Datos con un formato invalido", ex);
            }
            catch (SqlException ex)
            {
                Log.EscribirError(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name, ex);
                throw new ReservaExceptionM19("Reserva-404", "Error Conexion Base de Datos", ex);
            }
            catch (ExceptionBD ex)
            {
                Log.EscribirError(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name, ex);
                throw new ReservaExceptionM19("Reserva-404", "Error Conexion Base de Datos", ex);
            }
            catch (Exception ex)
            {
                Log.EscribirError(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name, ex);
                throw new ReservaExceptionM19("Reserva-404", "Error al realizar operacion ", ex);
            }
        }
示例#11
0
        /// <summary>
        /// Metodo que retorna reserva segun el id
        /// </summary>
        /// <param name="_reserva"></param>
        /// <returns>Entidad</returns>
        public Entidad consultarReservaId(Entidad _reserva)
        {
            //Metodo para escribir en el archivo log.xml que se ha ingresado en el metodo
            Log.EscribirInfo(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name,
                             RecursoDAOM19.MensajeInicioMetodoLogger, System.Reflection.MethodBase.GetCurrentMethod().Name);

            //Se castea de tipo Entidad a tipo Reserva Automovil
            CReservaAutomovil resv           = (CReservaAutomovil)_reserva;
            List <Parametro>  listaParametro = FabricaDAO.asignarListaDeParametro();

            int     idReserva;
            String  fechaIni;
            String  fechaFin;
            String  horaIni;
            String  horaFin;
            int     idUsuario;
            String  idAutomovil;
            String  modelo;
            String  fabricante;
            string  _LugarOri;
            string  _LugarDest;
            int     estatus;
            Entidad reserva;

            try
            {
                //Aqui se asignan los valores que recibe el procedimieto para realizar el select
                listaParametro.Add(FabricaDAO.asignarParametro(RecursoDAOM19.raut_id, SqlDbType.Int, resv._id.ToString(), false));

                //Se devuelve la fila de la reserva de automovil consultado segun el Id, para este caso solo se devuelve una fila
                DataTable filareserva = EjecutarStoredProcedureTuplas(RecursoDAOM19.procedimientoConsultarReservaAutomovilId, listaParametro);

                //Se guarda la fila devuelta de la base de datos
                DataRow Fila = filareserva.Rows[0];

                //Se preinicializan los atributos de la clase reserva
                idReserva   = int.Parse(Fila[RecursoDAOM19.reservaId].ToString());
                fechaIni    = Fila[RecursoDAOM19.reservaFechaIni].ToString();
                fechaFin    = Fila[RecursoDAOM19.reservaFechaFin].ToString();
                horaIni     = Fila[RecursoDAOM19.reservaHoraIni].ToString();
                horaFin     = Fila[RecursoDAOM19.reservaHoraFin].ToString();
                idUsuario   = int.Parse(Fila[RecursoDAOM19.reservaUsuarioFk].ToString());
                idAutomovil = Fila[RecursoDAOM19.reservaAutomovilFk].ToString();
                fabricante  = Fila[RecursoDAOM19.autFabricante].ToString();
                modelo      = Fila[RecursoDAOM19.autModelo].ToString();
                _LugarOri   = Fila[RecursoDAOM19.origen].ToString();
                _LugarDest  = Fila[RecursoDAOM19.destino].ToString();
                estatus     = int.Parse(Fila[RecursoDAOM19.reservaEstatus].ToString());

                CAutomovil automovil = FabricaEntidad.inicializarAutomovil(idAutomovil, modelo, fabricante);
                CLugar     ori       = FabricaEntidad.inicializarLugar(_LugarOri);
                CLugar     dest      = FabricaEntidad.inicializarLugar(_LugarDest);

                // INICIALIZO LA RESERVA
                reserva = FabricaEntidad.inicializarReserva(idReserva, fechaIni, fechaFin, horaIni, horaFin,
                                                            idUsuario, estatus, automovil, ori, dest);

                return(reserva);
            }
            catch (ArgumentNullException ex)
            {
                Log.EscribirError(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name, ex);
                throw new ReservaExceptionM19("Reserva-404", "Argumento con valor invalido", ex);
            }
            catch (FormatException ex)
            {
                Log.EscribirError(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name, ex);
                throw new ReservaExceptionM19("Reserva-404", "Datos con un formato invalido", ex);
            }
            catch (SqlException ex)
            {
                Log.EscribirError(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name, ex);
                throw new ReservaExceptionM19("Reserva-404", "Error Conexion Base de Datos", ex);
            }
            catch (ExceptionBD ex)
            {
                Log.EscribirError(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name, ex);
                throw new ReservaExceptionM19("Reserva-404", "Error Conexion Base de Datos", ex);
            }
            catch (Exception ex)
            {
                Log.EscribirError(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name, ex);
                throw new ReservaExceptionM19("Reserva-404", "Error al realizar operacion ", ex);
            }
        }
示例#12
0
 public static void MAgregarvehiculo(CAutomovil carro)
 {
     mVehicles.Add(carro);
 }