Exemplo n.º 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 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();
            }
        }
Exemplo n.º 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 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();
            }
        }
Exemplo n.º 3
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();
            }
        }
Exemplo n.º 4
0
        private void btnAceptarPedido_Click(object sender, EventArgs e)
        {
            int resul = (int)MessageBox.Show(this, "Está seguro que desea ordenar este pedido?", "Aceptar", MessageBoxButtons.YesNo, MessageBoxIcon.Warning);

            // Gurdar todo en la base de datos para que despues aparezca el pedido en la app de Negocio
            if (resul == 6)
            {
                try
                {
                    // Agregar la factura
                    FacturaLN facturaLN = new FacturaLN();
                    _Factura.AsignarEstadoFactura("Pagado");
                    _Factura.AsignarEstadoPedido("En espera");
                    _Factura.AsignarEstadoCalificacion("Sin calificar");
                    facturaLN.IngresarFactura(_Factura.ObtenerFactura());

                    // Agregar detalle factura
                    PedidoLN pedidoLN = new PedidoLN();
                    foreach (Producto prod in lista)
                    {
                        pedidoLN.InsertarDetalleFactura(prod);
                    }

                    // Agregar cupon usado
                    if (_Cupon != null)
                    {
                        facturaLN.InsertarCuponUsado(MenuCliente._Cliente, _Cupon);
                    }

                    // Guardar el xml y pdf y adjuntarlos
                    string xml = _Factura.ObtenerXML();
                    _Factura.GenerarPDF();

                    // Crear xml
                    XmlDocument doc = new XmlDocument();
                    doc.LoadXml(xml);
                    doc.Save("FacturaElectronica.xml");

                    List <string> files = new List <string>();
                    files.Add(@"FacturaElectronica.xml");
                    files.Add(@"FacturaElectronica.pdf");
                    //MenuCliente._Cliente.Correo
                    Correo1.EnviarCorreo(MenuCliente._Cliente.Correo, "Gracias por usar nuestro servicio express", "Delivery S.A | Compra exitosa", files);

                    // Se relaciona el cliente con la factura
                    facturaLN.RelacionarCliente(_Factura.ObtenerFactura());

                    // Se relaciona el negocio con la factura para que aparezca en el dgv de pedidos con valores nulos
                    facturaLN.RelacionarNegocio(_Factura.ObtenerFactura(), -1.0d, "");

                    MessageBox.Show(this, "La orden se ha generado con exito, gracias por su compra", "Compra exitosa", MessageBoxButtons.OK, MessageBoxIcon.Information);

                    log.Info("El cliente: " + MenuCliente._Cliente.Correo + " ha realizado una orden");

                    Close();
                }
                catch (Exception error)
                {
                    MessageBox.Show(this, "Algo no anda bien :c", "Ocurrió un error", MessageBoxButtons.OK, MessageBoxIcon.Error);

                    StringBuilder msg = new StringBuilder();

                    msg.AppendFormat("No se pudo crear la factura o Pedido\n");
                    msg.AppendFormat("Message: {0}\n", error.Message);
                    msg.AppendFormat("Source: {0}\n", error.Source);
                    msg.AppendFormat("Data: {0}\n", error.Data);

                    //Salvar el error en el log
                    log.Error(msg.ToString());
                }
                // La tabla FACTURA USUARIO, se inserta hasta que el cliente puntue a el negocio
            }
        }