public void GetStatistics(List <string> type, List <double> score, string day1, string day2) { try { SQLConexion con = new SQLConexion(Launcher.Cadena.CadenaC); con.open(); string userid = Launcher.Userdata.IdUsuario; con.executeNonQuery("SET DATEFIRST 1"); String[] sqlParams = new string[] { userid, day1, day2 }; DataTable dt = con.select("SELECT p.Tipo, AVG(CAST(pc.Scoring AS DECIMAL(10,2)))*10 AS 'AVG' FROM dbo.Preguntas_contestadas pc LEFT JOIN dbo.Preguntas p ON pc.Id_Pregunta=p.Id WHERE [Id_Usuario] = @1 AND Fecha_contestada >= DATEADD(day, @2 - DATEPART(dw, GETDATE()), CONVERT(DATE, GETDATE())) AND Fecha_contestada < DATEADD(day, @3 - DATEPART(dw, GETDATE()), CONVERT(DATE, GETDATE())) GROUP BY p.Tipo", sqlParams); if (dt.Rows.Count == 0) { MessageBox.Show("No hay estadísticas para el usuario"); } else { for (int i = 0; i <= dt.Rows.Count - 1; i++) { type.Add(dt.Rows[i][0].ToString()); score.Add(System.Convert.ToDouble(dt.Rows[i][1].ToString())); } } con.close(); } catch (Exception e) { MessageBox.Show("Ha sucedido un error, por favor contacte con soporte"); Log olog = new Log(Launcher.Directory.Path + "\\Logs"); olog.Add(e.ToString()); } }
public void NivelSelect(string usuario) { try { SQLConexion con = new SQLConexion(Launcher.Cadena.CadenaC); con.open(); String[] sqlParams = new string[] { usuario }; DataTable dt = con.select("Select Nivel from Usuarios where [Nombre Usuario] =@1", sqlParams); MessageBox.Show("La lección en la que estás actualmente es la Lección " + dt.Rows[0][0].ToString()); con.close(); } catch (Exception e) { MessageBox.Show("Ha sucedido un error"); Log olog = new Log(Launcher.Directory.Path + "\\Logs"); olog.Add(e.ToString()); if (MessageBox.Show("¿Quieres enviar un reporte de la incidencia?", "Reporte", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) { ; } { Reporting report = new Reporting(); report.SendLog(Launcher.Directory.Path + "\\Logs\\" + olog.GetNameFile()); } Application.Exit(); } }
public void RellenarListas() { try { SQLConexion con = new SQLConexion(Launcher.Cadena.CadenaC); con.open(); String[] sqlParams1 = new string[] { username }; DataTable dt1 = con.select("SELECT [Nivel] FROM Usuarios WHERE [Nombre Usuario] = @1", sqlParams1); usrlvl = dt1.Rows[0][0].ToString(); String[] sqlParams2 = new string[] { usrlvl }; DataTable dt2 = con.select("SELECT * FROM Preguntas LEFT JOIN Preguntas_Nivel ON Preguntas.Id = Preguntas_Nivel.Id WHERE Preguntas_Nivel.Nivel <= @1", sqlParams2); for (int i = 0; i < dt2.Rows.Count; i++) { preguntas.Add(dt2.Rows[i][1].ToString()); respuestas.Add(dt2.Rows[i][2].ToString()); tipo.Add(dt2.Rows[i][3].ToString()); Id_preguntas.Add(dt2.Rows[i][0].ToString()); } con.close(); } catch (Exception e) { MessageBox.Show("Ha sucedido un error, por favor contacte con soporte"); Log olog = new Log(Launcher.Directory.Path + "\\Logs"); olog.Add(e.ToString()); } }
public void InsertarPreguntas(List <int> puntuaciones, List <string> ids) { try { SQLConexion con = new SQLConexion(Launcher.Cadena.CadenaC); con.open(); String[] sqlParams1 = new String[] { }; DataTable dt1 = con.select("SELECT TOP 1 Id FROM Preguntas_Contestadas ORDER BY Id desc ", sqlParams1); string lastId = dt1.Rows[0][0].ToString(); for (int i = 0; i < ids.Count; i++) { lastId = (Convert.ToInt32(lastId) + 1).ToString(); int aux = 0; if (puntuaciones.Contains(i)) { aux = 1; } String[] sqlParams2 = new String[] { lastId, Launcher.Userdata.IdUsuario, ids[i], aux.ToString() }; int dt2 = con.update("INSERT INTO Preguntas_Contestadas (Id, Id_usuario, Id_pregunta, Scoring) VALUES (@1,@2,@3,@4)", sqlParams2); } con.close(); } catch (Exception e) { MessageBox.Show("Ha sucedido un error, por favor contacte con soporte"); Log olog = new Log(Launcher.Directory.Path + "\\Logs"); olog.Add(e.ToString()); } }
public void Logear(string usuario, string password) { try { Launcher.Userdata.Nombreusuario = usuario; SQLConexion con = new SQLConexion(Launcher.Cadena.CadenaC); con.open(); String[] sqlParams = new string[] { usuario, password }; DataTable dt = con.select("Select Id_Usuario from Usuarios where [Nombre Usuario] =@1 and Password=@2", sqlParams); if (dt.Rows.Count > 0) { Launcher.Userdata.IdUsuario = dt.Rows[0][0].ToString(); con.close(); new MainForm().Show(); } else { System.Windows.Forms.MessageBox.Show("Usuario y/o contraseña incorrectos"); con.close(); } } catch (Exception e) { MessageBox.Show("Ha sucedido un error, por favor contacte con soporte"); Log olog = new Log(Launcher.Directory.Path + "\\Logs"); olog.Add(e.ToString()); } }
public void ActNivel(int score, string usrlvl) { try { if (score >= 6) { SQLConexion con = new SQLConexion(Launcher.Cadena.CadenaC); con.open(); string aux = usrlvl; usrlvl = (System.Convert.ToInt32(aux) + 1).ToString(); String[] sqlParams2 = new string[] { username, usrlvl }; int dt2 = con.update("UPDATE Usuarios SET Nivel = @2 WHERE [Nombre Usuario] = @1", sqlParams2); MessageBox.Show("Enhorabuena has subido de nivel a la " + usrlvl); } } catch (Exception e) { MessageBox.Show("Ha sucedido un error, por favor contacte con soporte"); Log olog = new Log(Launcher.Directory.Path + "\\Logs"); olog.Add(e.ToString()); } }
public void Registrar(string completeusername, string username, string email, string age, string email2) { try { SQLConexion con = new SQLConexion(Launcher.Cadena.CadenaC); con.open(); String[] sqlParams1 = new string[] { username, email }; DataTable dt = con.select("SELECT * from Usuarios WHERE [Nombre Usuario] =@1 or email=@2", sqlParams1); if (dt.Rows.Count > 0) { MessageBox.Show("Usuario y/o email dado de alta"); con.close(); } else if (email != email2) { MessageBox.Show("El campo Correo y Repetir Correo deben ser iguales"); } else { String[] sqlParams2 = new String[] { }; DataTable dt2 = con.select("SELECT TOP 1 ID_USUARIO FROM Usuarios ORDER BY ID_USUARIO desc ", sqlParams2); string nextId = dt2.Rows[0][0].ToString(); nextId = (System.Convert.ToInt32(nextId) + 1).ToString(); string password = generatePassword(); string level = "0"; String[] sqlParams3 = new string[] { nextId, completeusername, username, age, password, email, level }; int numberOfRows = con.insert("INSERT INTO Usuarios (Id_usuario, Nombre, [Nombre Usuario],Edad,Password,Email,Nivel) VALUES (@1,@2,@3,@4,@5,@6,@7)", sqlParams3); SendEmail(password, email); MessageBox.Show("Registro Correcto"); } } catch (Exception e) { MessageBox.Show("Ha sucedido un error, por favor contacte con soporte"); Log olog = new Log(Launcher.Directory.Path + "\\Logs"); olog.Add(e.ToString()); } }