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