// 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(); } }
// 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(); } }
// 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(); } }
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 } }