Exemple #1
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();
            }
        }