示例#1
0
        public static List <TipoTarjeta> GetByNombre(string nombre)
        {
            List <TipoTarjeta> tipoTarjetas = new List <TipoTarjeta>();
            //Creo el comando sql a utlizar
            SQLiteCommand cmd =
                new SQLiteCommand("SELECT id, nombre From TipoTarjeta WHERE nombre like @nombre;");

            cmd.Parameters.Add(new SQLiteParameter("@nombre", nombre));

            //asigno la conexion al comando
            cmd.Connection = Conexion.Connection;
            //creo el datareader
            SQLiteDataReader obdr = cmd.ExecuteReader();

            //recorro el datareader

            while (obdr.Read())
            {
                TipoTarjeta tp = new TipoTarjeta();
                tp.Id     = obdr.GetInt32(0);
                tp.Nombre = obdr.GetString(1);
                tipoTarjetas.Add(tp);
            }
            return(tipoTarjetas);
        }
示例#2
0
        // Este metodo se debe de llamar en el panel de Ubicación ya que es el ultimos paso para registrarse
        /// <summary>
        /// Guarda el Usuario en la base de datos
        /// </summary>
        public void ActualizarCliente()
        {
            // información general
            string correo      = txtCorreo.Text;
            string contrasenna = txtContrasenna.Text;
            string nombre      = txtNombre.Text;
            string apellidos   = txtApellidos.Text;
            string telefono    = txtTelefono.Text;
            string cedula      = txtCedula.Text;

            // Tarjeta
            string      numeroTarjeta = txtTarjeta.Text;
            string      cvv           = txtCVV.Text;
            DateTime    fechaV        = fechaVencimiento.Value;
            TipoTarjeta tipoTarjeta   = (rbVisa.Checked) ? TipoTarjeta.VISA : TipoTarjeta.MASTERCARD;

            // Ubicación
            double lat       = Convert.ToDouble(txtLat.Text.Replace('.', ','));
            double lng       = Convert.ToDouble(txtLng.Text.Replace('.', ','));
            string direccion = txtDireccion.Text;

            if (PagoFactura.ValidarTarjeta(numeroTarjeta) && Correo1.ValidarCorreo(correo))
            {
                // Instancia a las clases logicas de la CAPA_LN
                UsuarioLN   usuarioLN   = new UsuarioLN();
                DireccionLN direccionLN = new DireccionLN();
                TarjetaLN   tarjetaLN   = new TarjetaLN();

                // Actualizar Datos
                _Cliente._Direccion.latitud     = lat.ToString().Replace(',', '.');
                _Cliente._Direccion.longitud    = lng.ToString().Replace(',', '.');
                _Cliente._Direccion.Descripcion = direccion;

                _Cliente._Tarjeta.cvv              = cvv;
                _Cliente._Tarjeta.numero           = numeroTarjeta;
                _Cliente._Tarjeta.FechaVencimiento = fechaV;
                _Cliente._Tarjeta._TipoTarjeta     = tipoTarjeta;

                _Cliente.Cedula         = cedula;
                _Cliente.Nombre         = nombre;
                _Cliente.Apellidos      = apellidos;
                _Cliente.NumeroTelefono = telefono;
                _Cliente.Correo         = correo;
                _Cliente.Contrasenna    = contrasenna;

                // Actualizar la Direccion
                direccionLN.ActualizarDireccion(_Cliente._Direccion);

                // Actualizar la Tarjeta
                tarjetaLN.ActualizarTarjeta(_Cliente._Tarjeta);

                // Actualizar el Cliente
                usuarioLN.ActualizarCliente(_Cliente);
            }
            else
            {
                MessageBox.Show(this, "La tarjeta de credito o el correo es invalido", "Problema encontrado", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                throw new FormatException();
            }
        }
示例#3
0
        public ActionResult DeleteConfirmed(int id)
        {
            TipoTarjeta tipoTarjeta = db.TiposTarjetas.Find(id);

            db.TiposTarjetas.Remove(tipoTarjeta);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
示例#4
0
 public ActionResult Edit([Bind(Include = "TipoTarjetaId,Descripcion")] TipoTarjeta tipoTarjeta)
 {
     if (ModelState.IsValid)
     {
         db.Entry(tipoTarjeta).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(tipoTarjeta));
 }
        private TipoTarjeta MappingTipo(DataRow row)
        {
            TipoTarjeta oTipoTarjeta = new TipoTarjeta();

            {
                oTipoTarjeta.IdTipo      = Convert.ToInt32(row["Id"].ToString());
                oTipoTarjeta.Descripcion = row["Descripcion"].ToString();
            }

            return(oTipoTarjeta);
        }
示例#6
0
        public ActionResult Create([Bind(Include = "TipoTarjetaId,Descripcion")] TipoTarjeta tipoTarjeta)
        {
            if (ModelState.IsValid)
            {
                db.TiposTarjetas.Add(tipoTarjeta);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(tipoTarjeta));
        }
示例#7
0
        public static void Delete(TipoTarjeta tp)
        {
            //Creo el comando sql a utlizar
            SQLiteCommand cmd = new SQLiteCommand("DELETE FROM TipoTarjeta WHERE id = @id;");

            //Cargo el valor del parametro
            cmd.Parameters.Add(new SQLiteParameter("@id", tp.Id));

            cmd.Connection = Conexion.Connection;
            cmd.ExecuteNonQuery();
        }
 //metodo para dar de baja
 public void BajaTipoTarjeta(TipoTarjeta tipoTarjeta)
 {
     Comando.Connection = Conexion;
     Conexion.Open();
     Comando.CommandText = "BajaTipoTarjeta";
     Comando.CommandType = CommandType.StoredProcedure;
     Comando.Parameters.Clear();
     Comando.Parameters.AddWithValue("@idTipoTarjeta", tipoTarjeta.idTipoTarjeta);
     Comando.ExecuteNonQuery();
     Conexion.Close();
 }
示例#9
0
 //Constructor
 public Controlador_TarjetaVentaMayorista(IU_CobroConTarjetaMayorista interfazTarjeta1)
 {
     validacion       = new Validaciones();
     interfazTarjeta  = interfazTarjeta1;
     acceso           = new AccesoDatos();
     tarjeta          = new Tarjeta();
     banco            = new Banco();
     tipoTarjeta      = new TipoTarjeta();
     nombreTarjeta    = new NombreTarjeta();
     tarjetaColeccion = new List <Tarjeta>();
 }
示例#10
0
 public void DeleteCardType(TipoTarjeta cardType)
 {
     try
     {
         _crudFactory.Delete(cardType);
     }
     catch (Exception e)
     {
         ExceptionManager.GetInstance().Process(e);
     }
 }
示例#11
0
        public static void Save(TipoTarjeta tp)
        {
            //Creo el comando sql a utlizar
            SQLiteCommand cmd = new SQLiteCommand("INSERT INTO TipoTarjeta (nombre) VALUES (@nombre);");

            //Cargo el valor del parametro
            cmd.Parameters.Add(new SQLiteParameter("@nombre", tp.Nombre));
            //asigno la conexion al comando
            cmd.Connection = Conexion.Connection;
            cmd.ExecuteNonQuery();
        }
示例#12
0
        public static void Update(TipoTarjeta tp)
        {
            //Creo el comando sql a utlizar
            SQLiteCommand cmd = new SQLiteCommand("UPDATE TipoTarjeta SET nombre = @nombre WHERE id = @id;");

            //Cargo el valor del parametro
            cmd.Parameters.Add(new SQLiteParameter("@id", tp.Id));
            cmd.Parameters.Add(new SQLiteParameter("@nombre", tp.Nombre));
            cmd.Connection = Conexion.Connection;
            cmd.ExecuteNonQuery();
        }
示例#13
0
 public TipoTarjeta GetCardTypeById(TipoTarjeta cardType)
 {
     try
     {
         return(_crudFactory.Retrieve <TipoTarjeta>(cardType));
     }
     catch (Exception e)
     {
         ExceptionManager.GetInstance().Process(e);
     }
     return(new TipoTarjeta());
 }
示例#14
0
        public void TestValidarTarjeta(string numTarjeta, TipoTarjeta tipoTarjeta)
        {
            // Arrange
            var controller = new HomeController();



            // Act



            // Assert
        }
示例#15
0
        // GET: TipoTarjetas/Delete/5
        public ActionResult Delete(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            TipoTarjeta tipoTarjeta = db.TiposTarjetas.Find(id);

            if (tipoTarjeta == null)
            {
                return(HttpNotFound());
            }
            return(View(tipoTarjeta));
        }
示例#16
0
        public IHttpActionResult Delete(TipoTarjeta cardtype)
        {
            try
            {
                var mng = new TipoTarjetaManager();
                _apiResponse = new ApiResponse();
                mng.DeleteCardType(cardtype);
                _apiResponse.Message = "Tipo de tarjeta eliminada";

                return(Ok(_apiResponse));
            }
            catch (BusinessException bex)
            {
                return(InternalServerError(new Exception(bex.ExceptionId + "-" + bex.AppMessage.Message)));
            }
        }
示例#17
0
        public IHttpActionResult GetType(TipoTarjeta cardType)
        {
            try
            {
                var mng = new TipoTarjetaManager();
                _apiResponse         = new ApiResponse();
                _apiResponse.Data    = mng.GetCardTypeById(cardType);
                _apiResponse.Message = "Execution Success";

                return(Ok(_apiResponse));
            }
            catch (BusinessException bex)
            {
                return(InternalServerError(new Exception(bex.ExceptionId + "-" + bex.AppMessage.Message)));
            }
        }
示例#18
0
        public IHttpActionResult Update([FromBody] TipoTarjeta cardtype)
        {
            try
            {
                var mng = new TipoTarjetaManager();
                _apiResponse = new ApiResponse();
                mng.UpdateCardType(cardtype);
                _apiResponse.Message = "Tipo de Tarjeta Actualizado";

                return(Ok(_apiResponse));
            }
            catch (BusinessException bex)
            {
                return(InternalServerError(new Exception(bex.ExceptionId + "-" + bex.AppMessage.Message)));
            }
        }
        internal bool Create(TipoTarjeta oTipoTarjeta)
        {
            try
            {
                string str_sql = "INSERT INTO TipoTarjeta (descripcion, borrado)" +
                                 " VALUES (" +
                                 "'" + oTipoTarjeta.Descripcion + "'" + "," +
                                 " 0 " +
                                 ")";

                return(DataManager.GetInstance().EjecutarSQL(str_sql) == 1);
            }
            catch (Exception ex)
            {
                return(false);
            }
        }
        internal bool Update(TipoTarjeta oTipoTarjeta)
        {   // crea una nueva instancia de data manager
            try
            {
                string str_sql = "UPDATE TipoTarjeta " +
                                 "SET descripcion=" + "'" + oTipoTarjeta.Descripcion + "'" +

                                 " WHERE id=" + oTipoTarjeta.IdTipo;
                return(DataManager.GetInstance().EjecutarSQL(str_sql) == 1);
            }
            catch (Exception ex)
            {
                return(false);
            }
            finally
            {
                // Cierra la conexión
            }
        }
        /// <summary>
        /// Debugging Tool
        /// </summary>
        /// <param name="cardType"></param>
        /// <returns></returns>
        public static string GetCardTestNumber(TipoTarjeta cardType)
        {
            //Test Numbers from PayPal
            //for testing card transactions are:
            //Credit Card Type              Credit Card Number
            //*American Express             378282246310005
            //*American Express             371449635398431
            //American Express Corporate    378734493671000
            //Diners Club                   30569309025904
            //Diners Club                   38520000023237
            //Discover                      6011111111111117
            //Discover                      6011000990139424
            //*MasterCard                   5555555555554444
            //*MasterCard                   5105105105105100
            //*Visa Credit                  4111111111111111
            //*Visa Debit                   4012888888881881
            //*Maestro (switch/solo)        6331101999990016
            //Src: https://www.paypal.com/en_GB/vhelp/paypalmanager_help/credit_card_numbers.htm
            //Return bogus CC number that passes Luhn and format tests
            switch (cardType)
            {
            case TipoTarjeta.Amex:
                return("3782 822463 10005");

            case TipoTarjeta.MasterCard:
                return("5105 1051 0510 5100");

            case TipoTarjeta.MasterCardDebit:
                return("5105 1051 0510 5100");

            case TipoTarjeta.Visa:
                return("4111 1111 1111 1111");

            case TipoTarjeta.VisaDebit:
                return("4917 4800 0000 0008");

            case TipoTarjeta.Maestro:
                return("6331 1019 9999 0016");

            default:
                return(null);
            }
        }
        internal bool Delete(TipoTarjeta oTipoTarjeta)
        {
            try
            {
                string str_sql = "UPDATE TipoTarjeta " +
                                 "SET borrado=1 " +
                                 " WHERE id= " + oTipoTarjeta.IdTipo;

                return(DataManager.GetInstance().EjecutarSQL(str_sql) == 1);
            }
            catch (Exception ex)
            {
                return(false);
            }
            finally
            {
                // Cierra la conexión
            }
        }
示例#23
0
        public Tarjeta(string nombre, string descripcion, DateTime fecha, TipoTarjeta tipo,
                       int numero, int cvv, string nombreimpreso, DateTime fechaVencimiento)
            : base(nombre, descripcion, fecha)
        {
            switch (tipo)
            {
            case TipoTarjeta.AmericanExpress:
                Tipo = "American Express";
                break;

            case TipoTarjeta.Debito:
                Tipo = "Debito";
                break;

            case TipoTarjeta.DinersClub:
                Tipo = "Diner´s Club";
                break;

            case TipoTarjeta.Discovery:
                Tipo = "Discovery";
                break;

            case TipoTarjeta.Maestro:
                Tipo = "Maestro";
                break;

            case TipoTarjeta.MasterCard:
                Tipo = "MasterCard";
                break;

            case TipoTarjeta.Visa:
                Tipo = "Visa";
                break;

            default:
                Tipo = null;
                break;
            }
            Numero           = numero;
            CVV              = cvv;
            NombreImpreso    = nombreimpreso;
            FechaVencimiento = fechaVencimiento;
        }
示例#24
0
        private void btAceptar_Click(object sender, EventArgs e)
        {
            Equipo    paraelgol = (Equipo)equipoBindingSource.Current;
            Jugador   goleador  = (Jugador)jugadorBindingSource.Current;
            int       minuto    = int.Parse(minuteBox.Text);
            Encuentro encu      = Controladores.pEncuentro.GetById(idencuentro);

            if (tipoOperacion == (int)TipoVentana.AgregarGol)
            {
                Goles nuevo = new Goles(0, goleador, paraelgol, encu, minuto);
                Controladores.pGoles.Save(nuevo);
            }
            else if (tipoOperacion == (int)TipoVentana.AgregarTarjeta)
            {
                TipoTarjeta    tipo = (TipoTarjeta)tipoTarjetaBindingSource.Current;
                TarjetaJugador tarj = new TarjetaJugador(0, tipo, goleador, encu, minuto);
                Controladores.pTarjetaJugador.Save(tarj);
            }
            Close();
        }
示例#25
0
        public static TipoTarjeta GetById(int id)
        {
            TipoTarjeta tp = new TipoTarjeta();

            //Creo el comando sql a utlizar
            SQLiteCommand cmd =
                new SQLiteCommand("SELECT id, nombre From TipoTarjeta WHERE id = @id;");

            cmd.Parameters.Add(new SQLiteParameter("@id", id));
            //asigno la conexion al comando
            cmd.Connection = Conexion.Connection;
            //creo el datareader6
            SQLiteDataReader obdr = cmd.ExecuteReader();

            //recorro el datareader

            while (obdr.Read())
            {
                tp.Id     = obdr.GetInt32(0);
                tp.Nombre = obdr.GetString(1);
            }
            return(tp);
        }
 internal bool ModificarBorradoTipoTarjeta(TipoTarjeta oTipoTarjetaSel)
 {
     return oTipoTarjetaDao.Delete(oTipoTarjetaSel);
 }
 internal bool ActualizarTipoTarjeta(TipoTarjeta oTipoTarjetaSel)
 {
     return oTipoTarjetaDao.Update(oTipoTarjetaSel);
 }
 internal bool CrearTipoTarjeta(TipoTarjeta oTipoTarjeta)
 {
     return oTipoTarjetaDao.Create(oTipoTarjeta);
 }
示例#29
0
        // Este metodo se debe de llamar en el panel de Ubicación ya que es el ultimos paso para registrarse
        /// <summary>
        /// Guarda el Usuario en la base de datos
        /// </summary>
        public void ActualizarRepartidor()
        {
            // información general
            string correo      = txtCorreo.Text;
            string contrasenna = txtContrasenna.Text;
            string nombre      = txtNombre.Text;
            string apellidos   = txtApellidos.Text;
            string telefono    = txtTelefono.Text;
            string cedula      = txtCedula.Text;

            // Tarjeta
            string      numeroTarjeta = txtTarjeta.Text;
            string      cvv           = txtCVV.Text;
            DateTime    fechaV        = fechaVencimiento.Value;
            TipoTarjeta tipoTarjeta   = (rbVisa.Checked) ? TipoTarjeta.VISA : TipoTarjeta.MASTERCARD;

            // Información transporte
            string         marca = "", modelo = "", color = "", placa = "";
            bool           alDia          = false;
            TipoBicicleta  tipoBicicleta  = TipoBicicleta.BMX;
            TipoTransporte tipoTransporte = (rbBicicleta.Checked) ? TipoTransporte.Bicicleta : (rbCarro.Checked) ? TipoTransporte.Automovil : TipoTransporte.Motocicleta;

            switch (tipoTransporte)
            {
            case TipoTransporte.Bicicleta:
                marca         = txtMarca.Text;
                modelo        = txtModelo.Text;
                color         = txtColor.Text;
                tipoBicicleta = (TipoBicicleta)cbTipoBici.SelectedItem;
                break;

            case TipoTransporte.Automovil:
            case TipoTransporte.Motocicleta:
                marca  = txtMarca.Text;
                modelo = txtModelo.Text;
                color  = txtColor.Text;
                placa  = txtPlaca.Text;
                alDia  = cbAldia.Checked;
                break;
            }

            // Ubicación
            double lat       = Convert.ToDouble(txtLat.Text.Replace('.', ','));
            double lng       = Convert.ToDouble(txtLng.Text.Replace('.', ','));
            string direccion = txtDireccion.Text;

            if (PagoFactura.ValidarTarjeta(numeroTarjeta) && Correo1.ValidarCorreo(correo))
            {
                // Instancia a las clases logicas de la CAPA_LN
                UsuarioLN    usuarioLN    = new UsuarioLN();
                TarjetaLN    tarjetaLN    = new TarjetaLN();
                DireccionLN  direccionLN  = new DireccionLN();
                TransporteLN transporteLN = new TransporteLN();

                // Actualizar Datos
                _Repartidor._Direccion.latitud     = lat.ToString().Replace(',', '.');
                _Repartidor._Direccion.longitud    = lng.ToString().Replace(',', '.');
                _Repartidor._Direccion.Descripcion = direccion;

                _Repartidor._Tarjeta.cvv              = cvv;
                _Repartidor._Tarjeta.numero           = numeroTarjeta;
                _Repartidor._Tarjeta.FechaVencimiento = fechaV;
                _Repartidor._Tarjeta._TipoTarjeta     = tipoTarjeta;

                _Repartidor.Cedula         = cedula;
                _Repartidor.Nombre         = nombre;
                _Repartidor.Apellidos      = apellidos;
                _Repartidor.NumeroTelefono = telefono;
                _Repartidor.Correo         = correo;
                _Repartidor.Contrasenna    = contrasenna;

                // Actualizar la Direccion
                direccionLN.ActualizarDireccion(_Repartidor._Direccion);

                // Actualizar la Tarjeta
                tarjetaLN.ActualizarTarjeta(_Repartidor._Tarjeta);

                // Actualizar transporte
                if (rbBicicleta.Checked)
                {
                    // Asignar propiedades
                    (_Repartidor._Transporte as Bicicleta).Marca          = marca;
                    (_Repartidor._Transporte as Bicicleta).Color          = color;
                    (_Repartidor._Transporte as Bicicleta).Modelo         = modelo;
                    (_Repartidor._Transporte as Bicicleta)._TipoBicicleta = tipoBicicleta;
                    transporteLN.ActualizarBicicleta(_Repartidor._Transporte as Bicicleta);
                }
                if (rbCarro.Checked)
                {
                    (_Repartidor._Transporte as Automovil).Marca  = marca;
                    (_Repartidor._Transporte as Automovil).Color  = color;
                    (_Repartidor._Transporte as Automovil).Modelo = modelo;
                    (_Repartidor._Transporte as Automovil).Placa  = placa;
                    (_Repartidor._Transporte as Automovil).AlDia  = alDia;
                    transporteLN.ActualizarAuto(_Repartidor._Transporte as Automovil);
                }
                if (rbMotocicleta.Checked)
                {
                    (_Repartidor._Transporte as Motocicleta).Marca  = marca;
                    (_Repartidor._Transporte as Motocicleta).Color  = color;
                    (_Repartidor._Transporte as Motocicleta).Modelo = modelo;
                    (_Repartidor._Transporte as Motocicleta).Placa  = placa;
                    (_Repartidor._Transporte as Motocicleta).AlDia  = alDia;
                    transporteLN.ActualizarMoto(_Repartidor._Transporte as Motocicleta);
                }

                // Actualizar el Negocio
                usuarioLN.ActualizarRepartidor(_Repartidor);
            }
            else
            {
                MessageBox.Show(this, "La tarjeta de credito o el correo es invalido", "Problema encontrado", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                throw new FormatException();
            }
        }
示例#30
0
        // Este metodo se debe de llamar en el panel de Ubicación ya que es el ultimos paso para registrarse
        /// <summary>
        /// Guarda el Usuario en la base de datos
        /// </summary>
        public void GuardarUsuario()
        {
            TransporteLN transporteLN = new TransporteLN();
            // Información extra
            string         marca  = "";
            string         modelo = "";
            string         color  = "";
            string         placa  = "";
            bool           alDia  = false;
            TipoTransporte tipoTransporte;
            TipoBicicleta  tipoBicicleta;
            Transporte     trans = null;

            // información general
            string correo      = txtCorreo.Text;
            string contrasenna = txtContrasenna.Text;
            string nombre      = txtNombre.Text;
            string apellidos   = txtApellidos.Text;
            string telefono    = txtTelefono.Text;
            string cedula      = txtCedula.Text;

            // Tarjeta
            string      numeroTarjeta = txtTarjeta.Text;
            string      cvv           = txtCVV.Text;
            DateTime    fechaV        = fechaVencimiento.Value;
            TipoTarjeta tipoTarjeta   = (rbVisa.Checked) ? TipoTarjeta.VISA : TipoTarjeta.MASTERCARD;

            // Ubicación
            double lat       = Convert.ToDouble(txtLat.Text);
            double lng       = Convert.ToDouble(txtLng.Text);
            string direccion = txtDireccion.Text;

            // Tipo de usuario
            TipoUsuario tipoUsuario = (rbRepartidor.Checked) ? TipoUsuario.Repartidor : (rbCliente.Checked) ? TipoUsuario.Cliente : TipoUsuario.Negocio;

            // Tipo Transporte
            if (tipoUsuario == TipoUsuario.Repartidor)
            {
                tipoTransporte = (rbBicicleta.Checked) ? TipoTransporte.Bicicleta : (rbCarro.Checked) ? TipoTransporte.Automovil : TipoTransporte.Motocicleta;

                marca  = txtMarca.Text;
                modelo = txtModelo.Text;
                color  = txtColor.Text;

                if (rbCarro.Checked || rbMotocicleta.Checked)
                {
                    placa = txtPlaca.Text;
                    alDia = cbAldia.Checked;
                    if (rbCarro.Checked)
                    {
                        trans = new Automovil()
                        {
                            Marca  = marca,
                            Modelo = modelo,
                            Color  = color,
                            Placa  = placa,
                            AlDia  = alDia
                        }
                    }
                    ;
                    else
                    {
                        trans = new Motocicleta()
                        {
                            Marca  = marca,
                            Modelo = modelo,
                            Color  = color,
                            Placa  = placa,
                            AlDia  = alDia
                        }
                    };
                }
                else
                {
                    tipoBicicleta = (TipoBicicleta)cbTipoBici.SelectedItem;
                    // Guardar Transporte
                    trans = new Bicicleta()
                    {
                        Marca          = marca,
                        Modelo         = modelo,
                        Color          = color,
                        _TipoBicicleta = tipoBicicleta
                    };
                }
            }


            if (PagoFactura.ValidarTarjeta(numeroTarjeta) && Correo1.ValidarCorreo(correo))
            {
                // Instancia a las clases logicas de la CAPA_LN
                UsuarioLN   usuarioLN   = new UsuarioLN();
                DireccionLN direccionLN = new DireccionLN();
                TarjetaLN   tarjetaLN   = new TarjetaLN();

                // Guardar la Direccion
                Direccion _Direccion = new Direccion()
                {
                    latitud     = lat.ToString(),
                    longitud    = lng.ToString(),
                    Descripcion = direccion
                };

                direccionLN.InsertarDireccion(_Direccion);

                // Guardar la tarjeta
                Tarjeta _Tarjeta = new Tarjeta()
                {
                    cvv              = cvv,
                    numero           = numeroTarjeta,
                    FechaVencimiento = fechaV,
                    _TipoTarjeta     = tipoTarjeta
                };

                tarjetaLN.InsertarTarjeta(_Tarjeta);

                // Guardar Usuario
                switch (tipoUsuario.ToString().ToLower())
                {
                case "cliente":
                    Cliente _Cliente = new Cliente()
                    {
                        Cedula         = cedula,
                        Nombre         = nombre,
                        Apellidos      = apellidos,
                        NumeroTelefono = telefono,
                        _Direccion     = _Direccion,
                        Correo         = correo,
                        Contrasenna    = contrasenna,
                        _Tarjeta       = _Tarjeta,
                        Activo         = true
                    };

                    usuarioLN.IngresarCliente(_Cliente);
                    break;

                case "repartidor":
                    // Guardar Transporte
                    if (rbBicicleta.Checked)
                    {
                        transporteLN.IngresarBicicleta(trans as Bicicleta);
                    }
                    if (rbCarro.Checked)
                    {
                        transporteLN.IngresarAuto(trans as Automovil);
                    }
                    if (rbMotocicleta.Checked)
                    {
                        transporteLN.IngresarMoto(trans as Motocicleta);
                    }
                    // Guardar Repartidor
                    Repartidor _Repartidor = new Repartidor()
                    {
                        Cedula         = cedula,
                        Nombre         = nombre,
                        Apellidos      = apellidos,
                        NumeroTelefono = telefono,
                        _Direccion     = _Direccion,
                        Correo         = correo,
                        Contrasenna    = contrasenna,
                        _Tarjeta       = _Tarjeta,
                        _Transporte    = trans,
                        Activo         = true
                    };
                    usuarioLN.IngresarRepartidor(_Repartidor);
                    break;

                case "negocio":
                    Negocio _Negocio = new Negocio()
                    {
                        Cedula         = cedula,
                        Nombre         = nombre,
                        NumeroTelefono = telefono,
                        _Direccion     = _Direccion,
                        Correo         = correo,
                        Contrasenna    = contrasenna,
                        _Tarjeta       = _Tarjeta,
                        Activo         = true
                    };

                    usuarioLN.IngresarNegocio(_Negocio);
                    break;
                }
            }
            else
            {
                MessageBox.Show(this, "La tarjeta de credito o el correo es invalido", "Problema encontrado", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                throw new FormatException();
            }
        }