Пример #1
0
        public static void ODBCConcederPontosXP(string nomeUsuario, string nomePersonagem, int pontosExperiencia)
        {
            ControladorConexaoMysql controlador = new ControladorConexaoMysql();
            StringBuilder           querySql    = new StringBuilder();

            querySql.Append("SELECT COUNT(PE.IdPontosDeExperiencia) AS Quantidade, UP.IdPersonagem ");
            querySql.Append("FROM GeNova_Usuario U ");
            querySql.Append("INNER JOIN GeNova_Usuario_Personagens UP ON U.IdUsuario = UP.IdUsuario ");
            querySql.Append("LEFT JOIN GeNova_PontosDeExperiencia PE ON UP.IdPersonagem = PE.IdPersonagem ");
            querySql.Append("WHERE 1=1 ");
            querySql.AppendFormat("AND U.Login = '******' ", nomeUsuario);
            querySql.AppendFormat("AND UP.NomePersonagem = '{0}' ", nomePersonagem);
            querySql.Append("GROUP BY PE.IdPersonagem;");

            bool temRegistro  = Convert.ToInt32(controlador.BuscarDadosNaBase(querySql).Tables[0].Rows[0]["Quantidade"].ToString()) > 0;
            int  idPersonagem = Convert.ToInt32(controlador.BuscarDadosNaBase(querySql).Tables[0].Rows[0]["IdPersonagem"].ToString());

            if (idPersonagem > 0)
            {
                if (temRegistro)
                {
                    querySql = new StringBuilder();
                    querySql.Append("SELECT PontosXP ");
                    querySql.Append("FROM GeNova_PontosDeExperiencia ");
                    querySql.Append("WHERE 1=1 ");
                    querySql.AppendFormat("AND IdPersonagem = {0};", idPersonagem);
                    int totalPontosXP = Convert.ToInt32(controlador.BuscarDadosNaBase(querySql).Tables[0].Rows[0]["PontosXP"].ToString());

                    querySql = new StringBuilder();
                    querySql.Append("UPDATE GeNova_PontosDeExperiencia ");
                    querySql.AppendFormat("SET PontosXP = {0} ", (totalPontosXP + pontosExperiencia));
                    querySql.Append("WHERE 1=1 ");
                    querySql.AppendFormat("AND IdPersonagem = {0};", idPersonagem);
                    bool encontrou = controlador.AtualizarDadosNaBase(querySql);
                    if (encontrou)
                    {
                        Console.WriteLine("** Atualizando pontos experiencia personagem {0}, conta {1}. **", nomePersonagem, nomeUsuario);
                    }
                }
                else
                {
                    querySql = new StringBuilder();
                    querySql.AppendFormat("INSERT INTO GeNova_PontosDeExperiencia (IdPersonagem, PontosXP) VALUES({0},{1});", idPersonagem, pontosExperiencia);
                    bool encontrou = controlador.InserirDadosNaBase(querySql);
                    if (encontrou)
                    {
                        Console.WriteLine("** Inserindo pontos experiencia personagem {0}, conta {1}. **", nomePersonagem, nomeUsuario);
                    }
                }
            }
            else
            {
                Console.WriteLine("** ERRO. Personagem nao persistido: {0}, conta {1}. **", nomePersonagem, nomeUsuario);
            }
        }
Пример #2
0
        public static void ODBCAtivarContaUsuario(int idUsuario, string login)
        {
            ControladorConexaoMysql controlador = new ControladorConexaoMysql();
            StringBuilder           querySql    = new StringBuilder();

            querySql.AppendFormat("UPDATE Genova_Usuario SET Ativo = true WHERE IdUsuario = {0};", idUsuario);
            bool executou = controlador.AtualizarDadosNaBase(querySql);

            if (executou)
            {
                Console.WriteLine("** Conta {0} ativado(a) com sucesso **", login);
            }
        }
Пример #3
0
        public static void ODBCProcessarStatusServidor(string tempoOnline)
        {
            ControladorConexaoMysql controlador = new ControladorConexaoMysql();
            StringBuilder           querySql    = new StringBuilder();

            querySql.Append("UPDATE GeNova_StatusServidor ");
            querySql.AppendFormat("SET UsuariosOnline = {0}, ", NetState.Instances.Count);
            querySql.AppendFormat("TotalMobiles = {0}, ", World.Mobiles.Count);
            querySql.AppendFormat("TotalItens = {0}, ", World.Items.Count);
            querySql.AppendFormat("TempoOnline = '{0}', ", tempoOnline);
            querySql.Append("DataHoraIniciado = NOW();");
            bool executou = controlador.AtualizarDadosNaBase(querySql);

            if (executou)
            {
                Console.WriteLine("** Atualizando Status do Servidor. **");
            }
        }
Пример #4
0
        public static void ODBCDispose(Mobile from)
        {
            ControladorConexaoMysql controlador = new ControladorConexaoMysql();
            StringBuilder           querySql    = new StringBuilder();

            querySql.Append("SELECT COALESCE(U.IdUsuario,0) IdUsuario, COALESCE(LC.IdLogConexoes,0) IdLogConexoes ");
            querySql.Append("FROM GeNova_Usuario U ");
            querySql.Append("INNER JOIN GeNova_LogConexoes LC ON U.IdUsuario = LC.IdUsuario ");
            querySql.AppendFormat("WHERE U.Login = '******';", from.Account.Username);
            List <Dictionary <string, object> > registros = ControladorConexaoMysql.RecuperarRegistrosDataSet(controlador.BuscarDadosNaBase(querySql));

            foreach (Dictionary <string, object> linha in registros)
            {
                int idUsuario     = Convert.ToInt32(linha["IdUsuario"].ToString());
                int idLogConexoes = Convert.ToInt32(linha["IdLogConexoes"].ToString());

                if (idUsuario > 0 && idLogConexoes > 0)
                {
                    DateTime logOut = DateTime.Now;
                    querySql = new StringBuilder();
                    querySql.AppendFormat("UPDATE GeNova_LogConexoes SET Saida = '{0}' WHERE IdUsuario = {1};", ControladorMYSQL.RecuperarDateTimeFormatado(logOut), idUsuario);
                    bool encontrou = controlador.AtualizarDadosNaBase(querySql);
                    if (encontrou)
                    {
                        Console.WriteLine("** Log de Conexao para {0}. **", from.Account.Username);
                    }

                    encontrou = false;
                    querySql  = new StringBuilder();
                    querySql.Append("INSERT INTO Registro_LogConexoes (IdUsuario, Entrada, Saida, IP) ");
                    querySql.Append("SELECT IdUsuario, Entrada, Saida, IP ");
                    querySql.Append("FROM GeNova_LogConexoes LC ");
                    querySql.Append("WHERE 1=1 ");
                    querySql.AppendFormat("AND LC.IdUsuario = {0} ", idUsuario);
                    querySql.AppendFormat("AND LC.Saida = '{0}';", ControladorMYSQL.RecuperarDateTimeFormatado(logOut));
                    encontrou = controlador.InserirDadosNaBase(querySql);
                    if (encontrou)
                    {
                        Console.WriteLine("** Armazenando Registro de Conexao para {0}. **", from.Account.Username);
                    }
                }
            }
        }
Пример #5
0
        public static void ODBCReceive(NetState estado, string usuario)
        {
            ControladorConexaoMysql controlador = new ControladorConexaoMysql();
            StringBuilder           querySql    = new StringBuilder();

            querySql.Append("SELECT COUNT(*) AS Quantidade FROM GeNova_LogConexoes;");
            bool temRegistro = Convert.ToInt32(controlador.BuscarDadosNaBase(querySql).Tables[0].Rows[0]["Quantidade"].ToString()) > 0;

            querySql = new StringBuilder();
            querySql.Append("SELECT COALESCE(U.IdUsuario,0) IdUsuario, COALESCE(LC.IdLogConexoes,0) IdLogConexoes ");
            querySql.Append("FROM GeNova_Usuario U ");
            querySql.Append("LEFT JOIN GeNova_LogConexoes LC ON U.IdUsuario = LC.IdUsuario ");
            querySql.AppendFormat("WHERE U.Login = '******';", usuario);
            List <Dictionary <string, object> > registros = ControladorConexaoMysql.RecuperarRegistrosDataSet(controlador.BuscarDadosNaBase(querySql));

            foreach (Dictionary <string, object> linha in registros)
            {
                int idUsuario     = Convert.ToInt32(linha["IdUsuario"].ToString());
                int idLogConexoes = Convert.ToInt32(linha["IdLogConexoes"].ToString());
                if (temRegistro && (idUsuario > 0 && idLogConexoes > 0))
                {
                    querySql = new StringBuilder();
                    querySql.AppendFormat("UPDATE GeNova_LogConexoes SET Entrada = NOW(), Saida = NULL, IP = '{1}' WHERE IdUsuario = {0};", idUsuario, estado.Address.ToString());
                    bool encontrou = controlador.AtualizarDadosNaBase(querySql);
                    if (encontrou)
                    {
                        Console.WriteLine("** Atualizando Entrada, Saida e IP de {0}. **", usuario);
                    }
                }
                else
                {
                    querySql = new StringBuilder();
                    querySql.AppendFormat("INSERT INTO GeNova_LogConexoes (IdUsuario, Entrada, IP) VALUES ({0}, NOW(), '{1}');", idUsuario, estado.Address.ToString());
                    bool encontrou = controlador.InserirDadosNaBase(querySql);
                    if (encontrou)
                    {
                        Console.WriteLine("** Gravando log de Conexao para {0}. **", usuario);
                    }
                }
            }
        }
Пример #6
0
        public static void ODBCDispose(Mobile from)
        {
            ControladorConexaoMysql controlador = new ControladorConexaoMysql();
            StringBuilder querySql = new StringBuilder();
            querySql.Append("SELECT COALESCE(U.IdUsuario,0) IdUsuario, COALESCE(LC.IdLogConexoes,0) IdLogConexoes ");
            querySql.Append("FROM GeNova_Usuario U ");
            querySql.Append("INNER JOIN GeNova_LogConexoes LC ON U.IdUsuario = LC.IdUsuario ");
            querySql.AppendFormat("WHERE U.Login = '******';", from.Account.Username);
            List<Dictionary<string, object>> registros = ControladorConexaoMysql.RecuperarRegistrosDataSet(controlador.BuscarDadosNaBase(querySql));
            foreach (Dictionary<string, object> linha in registros)
            {
                int idUsuario = Convert.ToInt32(linha["IdUsuario"].ToString());
                int idLogConexoes = Convert.ToInt32(linha["IdLogConexoes"].ToString());

                if (idUsuario > 0 && idLogConexoes > 0)
                {
                    DateTime logOut = DateTime.Now;
                    querySql = new StringBuilder();
                    querySql.AppendFormat("UPDATE GeNova_LogConexoes SET Saida = '{0}' WHERE IdUsuario = {1};", ControladorMYSQL.RecuperarDateTimeFormatado(logOut), idUsuario);
                    bool encontrou = controlador.AtualizarDadosNaBase(querySql);
                    if (encontrou)
                        Console.WriteLine("** Log de Conexao para {0}. **", from.Account.Username);

                    encontrou = false;
                    querySql = new StringBuilder();
                    querySql.Append("INSERT INTO Registro_LogConexoes (IdUsuario, Entrada, Saida, IP) ");
                    querySql.Append("SELECT IdUsuario, Entrada, Saida, IP ");
                    querySql.Append("FROM GeNova_LogConexoes LC ");
                    querySql.Append("WHERE 1=1 ");
                    querySql.AppendFormat("AND LC.IdUsuario = {0} ", idUsuario);
                    querySql.AppendFormat("AND LC.Saida = '{0}';", ControladorMYSQL.RecuperarDateTimeFormatado(logOut));
                    encontrou = controlador.InserirDadosNaBase(querySql);
                    if (encontrou)
                        Console.WriteLine("** Armazenando Registro de Conexao para {0}. **", from.Account.Username);
                }
            }
        }
Пример #7
0
 public static void ODBCReceive(NetState estado, string usuario)
 {
     ControladorConexaoMysql controlador = new ControladorConexaoMysql();
     StringBuilder querySql = new StringBuilder();
     querySql.Append("SELECT COUNT(*) AS Quantidade FROM GeNova_LogConexoes;");
     bool temRegistro = Convert.ToInt32(controlador.BuscarDadosNaBase(querySql).Tables[0].Rows[0]["Quantidade"].ToString()) > 0;
     querySql = new StringBuilder();
     querySql.Append("SELECT COALESCE(U.IdUsuario,0) IdUsuario, COALESCE(LC.IdLogConexoes,0) IdLogConexoes ");
     querySql.Append("FROM GeNova_Usuario U ");
     querySql.Append("LEFT JOIN GeNova_LogConexoes LC ON U.IdUsuario = LC.IdUsuario ");
     querySql.AppendFormat("WHERE U.Login = '******';", usuario);
     List<Dictionary<string, object>> registros = ControladorConexaoMysql.RecuperarRegistrosDataSet(controlador.BuscarDadosNaBase(querySql));
     foreach (Dictionary<string, object> linha in registros)
     {
         int idUsuario = Convert.ToInt32(linha["IdUsuario"].ToString());
         int idLogConexoes = Convert.ToInt32(linha["IdLogConexoes"].ToString());
         if (temRegistro && (idUsuario > 0 && idLogConexoes > 0))
         {
             querySql = new StringBuilder();
             querySql.AppendFormat("UPDATE GeNova_LogConexoes SET Entrada = NOW(), Saida = NULL, IP = '{1}' WHERE IdUsuario = {0};", idUsuario, estado.Address.ToString());
             bool encontrou = controlador.AtualizarDadosNaBase(querySql);
             if (encontrou)
                 Console.WriteLine("** Atualizando Entrada, Saida e IP de {0}. **", usuario);
         }
         else
         {
             querySql = new StringBuilder();
             querySql.AppendFormat("INSERT INTO GeNova_LogConexoes (IdUsuario, Entrada, IP) VALUES ({0}, NOW(), '{1}');", idUsuario, estado.Address.ToString());
             bool encontrou = controlador.InserirDadosNaBase(querySql);
             if (encontrou)
                 Console.WriteLine("** Gravando log de Conexao para {0}. **", usuario);
         }
     }
 }
Пример #8
0
 public static void ODBCAtivarContaUsuario(int idUsuario, string login)
 {
     ControladorConexaoMysql controlador = new ControladorConexaoMysql();
     StringBuilder querySql = new StringBuilder();
     querySql.AppendFormat("UPDATE Genova_Usuario SET Ativo = true WHERE IdUsuario = {0};", idUsuario);
     bool executou = controlador.AtualizarDadosNaBase(querySql);
     if (executou)
         Console.WriteLine("** Conta {0} ativado(a) com sucesso **", login);
 }
Пример #9
0
 public static void ODBCProcessarStatusServidor(string tempoOnline)
 {
     ControladorConexaoMysql controlador = new ControladorConexaoMysql();
     StringBuilder querySql = new StringBuilder();
     querySql.Append("UPDATE GeNova_StatusServidor ");
     querySql.AppendFormat("SET UsuariosOnline = {0}, ", NetState.Instances.Count);
     querySql.AppendFormat("TotalMobiles = {0}, ", World.Mobiles.Count);
     querySql.AppendFormat("TotalItens = {0}, ", World.Items.Count);
     querySql.AppendFormat("TempoOnline = '{0}', ", tempoOnline);
     querySql.Append("DataHoraIniciado = NOW();");
     bool executou = controlador.AtualizarDadosNaBase(querySql);
     if (executou)
         Console.WriteLine("** Atualizando Status do Servidor. **");
 }
Пример #10
0
        public static void ODBCConcederPontosXP(string nomeUsuario, string nomePersonagem, int pontosExperiencia)
        {
            ControladorConexaoMysql controlador = new ControladorConexaoMysql();
            StringBuilder querySql = new StringBuilder();
            querySql.Append("SELECT COUNT(PE.IdPontosDeExperiencia) AS Quantidade, UP.IdPersonagem ");
            querySql.Append("FROM GeNova_Usuario U ");
            querySql.Append("INNER JOIN GeNova_Usuario_Personagens UP ON U.IdUsuario = UP.IdUsuario ");
            querySql.Append("LEFT JOIN GeNova_PontosDeExperiencia PE ON UP.IdPersonagem = PE.IdPersonagem ");
            querySql.Append("WHERE 1=1 ");
            querySql.AppendFormat("AND U.Login = '******' ", nomeUsuario);
            querySql.AppendFormat("AND UP.NomePersonagem = '{0}' ", nomePersonagem);
            querySql.Append("GROUP BY PE.IdPersonagem;");

            bool temRegistro = Convert.ToInt32(controlador.BuscarDadosNaBase(querySql).Tables[0].Rows[0]["Quantidade"].ToString()) > 0;
            int idPersonagem = Convert.ToInt32(controlador.BuscarDadosNaBase(querySql).Tables[0].Rows[0]["IdPersonagem"].ToString());

            if (idPersonagem > 0)
            {
                if (temRegistro)
                {
                    querySql = new StringBuilder();
                    querySql.Append("SELECT PontosXP ");
                    querySql.Append("FROM GeNova_PontosDeExperiencia ");
                    querySql.Append("WHERE 1=1 ");
                    querySql.AppendFormat("AND IdPersonagem = {0};", idPersonagem);
                    int totalPontosXP = Convert.ToInt32(controlador.BuscarDadosNaBase(querySql).Tables[0].Rows[0]["PontosXP"].ToString());

                    querySql = new StringBuilder();
                    querySql.Append("UPDATE GeNova_PontosDeExperiencia ");
                    querySql.AppendFormat("SET PontosXP = {0} ", (totalPontosXP + pontosExperiencia));
                    querySql.Append("WHERE 1=1 ");
                    querySql.AppendFormat("AND IdPersonagem = {0};", idPersonagem);
                    bool encontrou = controlador.AtualizarDadosNaBase(querySql);
                    if (encontrou)
                        Console.WriteLine("** Atualizando pontos experiencia personagem {0}, conta {1}. **", nomePersonagem, nomeUsuario);
                }
                else
                {
                    querySql = new StringBuilder();
                    querySql.AppendFormat("INSERT INTO GeNova_PontosDeExperiencia (IdPersonagem, PontosXP) VALUES({0},{1});", idPersonagem, pontosExperiencia);
                    bool encontrou = controlador.InserirDadosNaBase(querySql);
                    if (encontrou)
                        Console.WriteLine("** Inserindo pontos experiencia personagem {0}, conta {1}. **", nomePersonagem, nomeUsuario);
                }
            }
            else
                Console.WriteLine("** ERRO. Personagem nao persistido: {0}, conta {1}. **", nomePersonagem, nomeUsuario);
        }