private string ProcesarEliminacion(Paquete paquete)
        {
            string respuesta = "";
            int    resultado = 0;

            if (paquete.TipoDominio == TipoDato.Delegacion)
            {
                resultado = DelegacionDAO.EliminarDelegacion(paquete.Consulta);
                respuesta = resultado.ToString();
            }
            else if (paquete.TipoDominio == TipoDato.Usuario)
            {
                resultado = UsuarioDAO.EliminarUsuario(paquete.Consulta);
                respuesta = resultado.ToString();
            }
            else if (paquete.TipoDominio == TipoDato.Conductor)
            {
                resultado = ConductorDAO.EliminarConductor(paquete.Consulta);
                respuesta = resultado.ToString();
            }
            else if (paquete.TipoDominio == TipoDato.Vehiculo)
            {
                resultado = VehiculoDAO.EliminarVehiculo(paquete.Consulta);
                respuesta = resultado.ToString();
            }
            else if (paquete.TipoDominio == TipoDato.Cargo)
            {
                //No se ocupa
            }
            else if (paquete.TipoDominio == TipoDato.Dictamen)
            {
                //Falta implementar. Preguntar maestro
            }
            else if (paquete.TipoDominio == TipoDato.ReporteSiniestro)
            {
                //Falta implementar ReporteSiniestroDAO
            }
            else if (paquete.TipoDominio == TipoDato.Fotografia)
            {
                //Falta implementar FotografiaDAO
            }

            return(respuesta);
        }
        private string ProcesarPeticion(Socket clienteRemoto, Paquete paquete)
        {
            string respuesta = "";

            if (paquete.TipoQuery == TipoConsulta.Select && paquete.TipoDominio == TipoDato.Delegacion)
            {
                List <Delegacion> listaDelegaciones = DelegacionDAO.ConsultarDelegaciones(paquete.Consulta);
                respuesta = JsonSerializer.Serialize(listaDelegaciones);
            }
            else if (paquete.TipoQuery == TipoConsulta.Select && paquete.TipoDominio == TipoDato.Usuario)
            {
                Usuario usuario = UsuarioDAO.getInicioSesion(paquete.Consulta);
                if (usuario != null)
                {
                    respuesta = JsonSerializer.Serialize(usuario);
                }
            }

            return(respuesta);
        }
        public void RecibirMensaje()
        {
            try
            {
                while (encendido)
                {
                    string mensaje             = "";
                    string respuesta           = "";
                    Socket socketClienteRemoto = socketServer.Accept();

                    Paquete paqueteRecibido = null;

                    //Recibir mensaje
                    while (true)
                    {
                        Byte[] bytesRecibidos = new byte[socketClienteRemoto.SendBufferSize];
                        int    cantidadBytes  = socketClienteRemoto.Receive(bytesRecibidos, 0, bytesRecibidos.Length, 0);
                        Array.Resize(ref bytesRecibidos, cantidadBytes);


                        //Recibir Paquete
                        mensaje = Encoding.ASCII.GetString(bytesRecibidos, 0, bytesRecibidos.Length);
                        if (mensaje.IndexOf("<EOF>") > -1)
                        {
                            mensaje         = mensaje.Replace("<EOF>", "");
                            paqueteRecibido = JsonSerializer.Deserialize <Paquete>(mensaje);
                            break;
                        }
                    }

                    respuesta = ProcesarPaquete(paqueteRecibido);
                    EnviarMensaje(socketClienteRemoto, respuesta);
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine("Error: " + ex.Message);
            }
        }
        private string ProcesarPaquete(Paquete paquete)
        {
            string respuesta = "";

            if (paquete.TipoQuery == TipoConsulta.Select)
            {
                respuesta = ProcesarSeleccion(paquete);
            }
            else if (paquete.TipoQuery == TipoConsulta.Insert)
            {
                respuesta = ProcesarInsercion(paquete);
            }
            else if (paquete.TipoQuery == TipoConsulta.Delete)
            {
                respuesta = ProcesarEliminacion(paquete);
            }
            else if (paquete.TipoQuery == TipoConsulta.Update)
            {
                respuesta = ProcesarModificacion(paquete);
            }

            return(respuesta);
        }
        public void RecibirMensaje()
        {
            try
            {
                while (encendido)
                {
                    string mensaje   = "";
                    string respuesta = "";
                    Console.WriteLine("Escuchando...");
                    Socket socketClienteRemoto = socketServer.Accept();

                    //Recibir mensaje
                    Byte[] bytesRecibidos = new byte[socketClienteRemoto.SendBufferSize];
                    int    datos          = socketClienteRemoto.Receive(bytesRecibidos, 0, bytesRecibidos.Length, 0);
                    Array.Resize(ref bytesRecibidos, datos);
                    mensaje = Encoding.ASCII.GetString(bytesRecibidos, 0, datos);

                    if (mensaje.IndexOf("<EOF>") > -1)
                    {
                        //Escribir como cadena la información de socket cliente
                        mensaje = mensaje.Replace("<EOF>", "");

                        //Deserializar mensaje en clase Paquete
                        Paquete paquete = JsonSerializer.Deserialize <Paquete>(mensaje);

                        //Se atiende la petición
                        respuesta = ProcesarPeticion(socketClienteRemoto, paquete);
                    }

                    EnviarMensaje(socketClienteRemoto, respuesta);
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine("Error: " + ex.Message);
            }
        }