public TrabajadorCE Login(string usuario, string contra) { //Crear el comando vinculado a la conexion SqlCommand cmd = ConexionCD.CrearCmd(cnx); //Agregar la instruccion SQL cmd.CommandText = "select * from Trabajador where nomUsuario = @usuario and contrasena = @contra"; //Asignar el valor al parametro cmd.Parameters.AddWithValue("@usuario", usuario); cmd.Parameters.AddWithValue("@contra", contra); //Ejecutar el comando SqlDataReader reader = cmd.ExecuteReader(); TrabajadorCE trabajador = new TrabajadorCE(); if (reader.Read()) { trabajador.Dni = reader.GetString(0); trabajador.Nombre = reader.GetString(1); trabajador.Cargo = reader.GetString(2); trabajador.NumNivel = reader.GetInt32(3); trabajador.NomUsuario = reader.GetString(4); trabajador.Contrasena = reader.GetString(5); } //Cerrar la conexion cnx.Close(); return(trabajador); }
public int CambiarHorario(string dni, DateTime annoMes, string HoraE, string HoraS) { HorarioCE horario = BuscarByDniAnnoMes(dni, annoMes); if (horario.Codigo != null) { annoMes = annoMes.AddMonths(1); horario = BuscarByDniAnnoMes(dni, annoMes); if (horario.Codigo != null) { cnx.Close(); return(0); } } SqlCommand cmd = ConexionCD.CrearCmd(cnx); cmd.CommandText = "EstablecerHorario"; cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.Add(new SqlParameter("@dni", dni)); cmd.Parameters.Add(new SqlParameter("@HorE", HoraE)); cmd.Parameters.Add(new SqlParameter("@HorS", HoraS)); cmd.Parameters.Add(new SqlParameter("@AnnoMes", annoMes.ToString("yyyy-MM"))); int FilasAfectadas = cmd.ExecuteNonQuery(); cnx.Close(); return(FilasAfectadas); }
public void CambiarSueldo(double sueldo, int nivel) { SqlCommand cmd = ConexionCD.CrearCmd(cnx); cmd.CommandText = "UPDATE Nivel set sueldoBasico=@sueldo WHERE numNivel = @nivel"; cmd.Parameters.AddWithValue("@sueldo", sueldo); cmd.Parameters.AddWithValue("@nivel", nivel); cmd.ExecuteNonQuery(); cnx.Close(); }
public int CambiarnivelTrabajador(int nivel, string dni) { SqlCommand cmd = ConexionCD.CrearCmd(cnx); cmd.CommandText = "UPDATE Trabajador set numNivel=@nivel where dni=@dni "; cmd.Parameters.AddWithValue("@nivel", nivel); cmd.Parameters.AddWithValue("@dni", dni); int FilasAfectadas = cmd.ExecuteNonQuery(); cnx.Close(); return(FilasAfectadas); }
public DataTable Llenaritems() { SqlCommand cmd = ConexionCD.CrearCmd(cnx); cmd.CommandText = "Select * from Nivel WHERE numNivel > 0"; SqlDataAdapter drNivel = new SqlDataAdapter(cmd); DataTable dtNivel = new DataTable(); drNivel.Fill(dtNivel); cnx.Close(); return(dtNivel); }
public DataTable CargarAnno() { SqlCommand cmd = ConexionCD.CrearCmd(cnx); cmd.CommandText = "MostrarAnno"; cmd.CommandType = CommandType.StoredProcedure; SqlDataAdapter drCargarAnno = new SqlDataAdapter(cmd); DataTable dtCargaAnno = new DataTable(); drCargarAnno.Fill(dtCargaAnno); cnx.Close(); return(dtCargaAnno); }
public DataTable RegistrosByDia(DateTime fecha) { SqlCommand cmd = ConexionCD.CrearCmd(cnx); cmd.CommandText = "RegistrosByDia"; cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.Add(new SqlParameter("@fecha", fecha)); SqlDataAdapter daRegistro = new SqlDataAdapter(cmd); DataTable dtRegistro = new DataTable(); daRegistro.Fill(dtRegistro); cnx.Close(); return(dtRegistro); }
public DataTable Listado() { SqlCommand cmd = ConexionCD.CrearCmd(cnx); cmd.CommandText = "ListaTrabajador"; cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.Add(new SqlParameter("@annoMes", DateTime.Now.ToString("yyyy-MM"))); SqlDataAdapter drTrabajador = new SqlDataAdapter(cmd); DataTable dtTrabajador = new DataTable(); drTrabajador.Fill(dtTrabajador); cnx.Close(); return(dtTrabajador); }
public DataTable PlanillaAnual(int anno) { SqlCommand cmd = ConexionCD.CrearCmd(cnx); cmd.CommandText = "PlanillaAnual"; cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.Add(new SqlParameter("@anno", anno)); SqlDataAdapter drPlanilla = new SqlDataAdapter(cmd); DataTable dtPlanilla = new DataTable(); drPlanilla.Fill(dtPlanilla); cnx.Close(); return(dtPlanilla); }
public DataTable RangoMeses(string annoMesInicio, string annoMesFin) { SqlCommand cmd = ConexionCD.CrearCmd(cnx); cmd.CommandText = "RangoMeses"; cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.Add(new SqlParameter("@annoMesInicio", annoMesInicio)); cmd.Parameters.Add(new SqlParameter("@annoMesFin", annoMesFin)); SqlDataAdapter drPlanilla = new SqlDataAdapter(cmd); DataTable dtPlanilla = new DataTable(); drPlanilla.Fill(dtPlanilla); cnx.Close(); return(dtPlanilla); }
public DateTime PrimerRegistro() { SqlCommand cmd = ConexionCD.CrearCmd(cnx); cmd.CommandText = "SELECT MIN(fechaRegistro) FROM Registro"; SqlDataReader drRegistro = cmd.ExecuteReader(); DateTime fecha = DateTime.MinValue; if (drRegistro.Read()) { fecha = drRegistro.GetDateTime(0); } cnx.Close(); return(fecha); }
public DataTable RegistroBoleta(string dni, string annoMes) { SqlCommand cmd = ConexionCD.CrearCmd(cnx); cmd.CommandText = "RegistroBoleta"; cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.Add(new SqlParameter("@dni", dni)); cmd.Parameters.Add(new SqlParameter("@annoMes", annoMes)); SqlDataAdapter drPlanilla = new SqlDataAdapter(cmd); DataTable dtPlanilla = new DataTable(); drPlanilla.Fill(dtPlanilla); cnx.Close(); return(dtPlanilla); }
public DataTable ProcesarPlanilla(string annoMes) { /*SqlCommand cmd = ConexionCD.CrearCmd(cnx); * * cmd.CommandText = "Select sueldoBasico from trabajador inner join nivel on Trabajador.numNivel = nivel.numNivel where dni = @dni "; * SqlDataReader drProcesar = cmd.ExecuteReader(); * double sueldo=0; * if (drProcesar.Read()) * { * sueldo = drProcesar.GetDouble(0); * } * drProcesar.Close(); * cmd.CommandText = "Select minutosTardanzas, minutosAnticipadas, refrigObtenido from Registro where dniTrabajador=@dni AND MONTH(fechaRegistro)=@mes"; * cmd.Parameters.AddWithValue("@dni", dni); * cmd.Parameters.AddWithValue("@mes", mes); * drProcesar = cmd.ExecuteReader(); * int Tardanzas = 0; * int Anticipadas = 0; * double Refri= 0; * while (drProcesar.Read()) * { * if(Convert.ToInt32(drProcesar["minutosTardanzas"].ToString()) != 0) * { * Tardanzas++; * } * if (Convert.ToInt32(drProcesar["minutosAnticipadas"].ToString()) != 0) * { * Anticipadas++; * } * if(Convert.ToBoolean(drProcesar["refrigObtenido"].ToString())) * { * Refri += sueldo / 100; * } * * }*/ SqlCommand cmd = ConexionCD.CrearCmd(cnx); cmd.CommandText = "PlanillaMes"; cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.Add(new SqlParameter("@annoMes", annoMes)); SqlDataAdapter drPlanilla = new SqlDataAdapter(cmd); DataTable dtPlanilla = new DataTable(); drPlanilla.Fill(dtPlanilla); cnx.Close(); return(dtPlanilla); }
public TrabajadorCE BuscarByDni(string dni) { SqlCommand cmd = ConexionCD.CrearCmd(cnx); cmd.CommandText = "SELECT * FROM Trabajador WHERE dni = @dni"; cmd.Parameters.AddWithValue("@dni", dni); SqlDataReader drTrabajador = cmd.ExecuteReader(); TrabajadorCE trabajador = new TrabajadorCE(); if (drTrabajador.Read()) { trabajador.Dni = drTrabajador["dni"].ToString(); trabajador.Nombre = drTrabajador["nombre"].ToString(); trabajador.Cargo = drTrabajador["cargo"].ToString(); trabajador.NumNivel = Convert.ToInt32(drTrabajador["numNivel"].ToString()); trabajador.NomUsuario = drTrabajador["nomUsuario"].ToString(); trabajador.Contrasena = drTrabajador["contrasena"].ToString(); } cnx.Close(); return(trabajador); }
public HorarioCE BuscarByDniAnnoMes(string dni, DateTime annoMes) { string AnnoMes = annoMes.ToString("yyyy-MM"); SqlCommand cmd = ConexionCD.CrearCmd(cnx); cmd.CommandText = "HorarioByDniAnnoMes"; cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.Add(new SqlParameter("@dni", dni)); cmd.Parameters.Add(new SqlParameter("@AnnoMes", AnnoMes)); SqlDataReader drHorario = cmd.ExecuteReader(); HorarioCE horario = new HorarioCE(); if (drHorario.Read()) { horario.Codigo = drHorario.GetString(0); horario.AnnoMes = drHorario.GetString(1); horario.HrEntrada = Convert.ToDateTime(drHorario["hrEntrada"].ToString()); horario.HrSalida = Convert.ToDateTime(drHorario["hrSalida"].ToString()); } cnx.Close(); return(horario); }
public RegistroCE BuscarByCod(string codigo) { SqlCommand cmd = ConexionCD.CrearCmd(cnx); cmd.CommandText = "SELECT * FROM Registro WHERE codigo = @codigo"; cmd.Parameters.AddWithValue("@codigo", codigo); SqlDataReader drRegistro = cmd.ExecuteReader(); RegistroCE registro = new RegistroCE(); if (drRegistro.Read()) { registro.Codigo = drRegistro["codigo"].ToString(); registro.DniTrabajador = drRegistro["dniTrabajador"].ToString(); registro.FechaRegistro = Convert.ToDateTime(drRegistro["fechaRegistro"].ToString()); registro.HrEntradaReg = Convert.ToDateTime(drRegistro["hrEntradaReg"].ToString()); registro.HrSalidaReg = Convert.ToDateTime(drRegistro["hrSalidaReg"].ToString()); registro.RefrigObtenido = Convert.ToBoolean(drRegistro["refrigObtenido"].ToString()); registro.MinutosTardanzas = Convert.ToInt32(drRegistro["minutosTardanzas"].ToString()); registro.MinutosAnticipadas = Convert.ToInt32(drRegistro["minutosAnticipadas"].ToString()); } cnx.Close(); return(registro); }
public int RegistrosPrueba() { int mes = 4; DataTable trabajadores = new TrabajadorCD().Listado(); DateTime annoMes; while (mes > 0) { //FECHA DE INICIO - 01 DE CADA MES annoMes = DateTime.Today.AddMonths(-mes).AddDays(-DateTime.Today.Day + 1); //RECORRER LISTA TRABAJADORES for (int i = 0; i < trabajadores.Rows.Count; i++) { string dni = trabajadores.Rows[i].ItemArray[0].ToString(); //VERIFICAR SI YA EXISTEN HORARIOS EN MES DE INICIO HorarioCE buscar = new HorarioCD().BuscarByDniAnnoMes(dni, annoMes); if (buscar.Codigo != null) { //SI YA SE CREARON TERMINA EL MÉTODO return(0); } //ESTABLECER HORARIO SqlCommand cmd = ConexionCD.CrearCmd(cnx); cmd.CommandText = "EstablecerHorario"; cmd.CommandType = CommandType.StoredProcedure; //fechaContador ES LA FECHA QUE RECORRE TODO EL MES DateTime fechaContador = annoMes.Date; TimeSpan hrE, hrS; if (i < 10) { //TURNO MAÑANA hrE = TimeSpan.FromHours(7); hrS = TimeSpan.FromHours(15); } else { //TURNO TARDE hrE = TimeSpan.FromHours(15); hrS = TimeSpan.FromHours(23); } cmd.Parameters.Add(new SqlParameter("@HorE", hrE)); cmd.Parameters.Add(new SqlParameter("@HorS", hrS)); cmd.Parameters.Add(new SqlParameter("@dni", dni)); cmd.Parameters.Add(new SqlParameter("@AnnoMes", annoMes.ToString("yyyy-MM"))); cmd.ExecuteNonQuery(); cnx.Close(); //HORAS REGISTRADAS DE ENTRADA Y SALIDA TimeSpan hrEReg, hrSReg; //WHILE PARA RECORRER TODO LOS DÍAS DEL MES while (fechaContador < annoMes.AddMonths(1)) { //PARA CREAR REGISTROS DIFERENTES //HASTA EL TRABAJADOR N°5 if (i < 5) { hrEReg = hrE.Add(TimeSpan.FromMinutes(new Random().Next(0, 5))); hrSReg = hrS.Add(TimeSpan.FromMinutes(new Random().Next(0, 10))); } //HASTA EL TRABAJADOR N°10 else if (i < 10) { hrEReg = hrE.Add(TimeSpan.FromMinutes(-new Random().Next(0, 10))); hrSReg = hrS.Add(TimeSpan.FromMinutes(-new Random().Next(0, 5))); } //ETC... else if (i < 15) { hrEReg = hrE.Add(TimeSpan.FromMinutes(-new Random().Next(0, 6))); hrSReg = hrS.Add(TimeSpan.FromMinutes(new Random().Next(0, 11))); } //ELSE PARA LOS QUE NO ASISTIERON else { hrEReg = TimeSpan.FromMinutes(0); hrSReg = TimeSpan.FromMinutes(0); } //IF SOLO PARA LOS QUE SÍ ASISTIERON if (hrEReg.TotalMinutes > 0) { DateTime fechaEntrada, fechaSalida; fechaEntrada = fechaContador.Date + hrEReg; fechaSalida = fechaContador.Date + hrSReg; if (fechaContador.ToString("dddd") != "domingo") { //REGISTRAR ENTRADA FICTICIA Registrar(dni, "Entrada", fechaEntrada); //REGISTRAR SALIDA FICTICIA Registrar(dni, "Salida", fechaSalida); } } //SIGUIENTE DÍA fechaContador = fechaContador.AddDays(1); } } //SIGUIENTE MES mes--; } return(1); }
public string Registrar(TrabajadorCE trabajador, string tipoControl, DateTime horaRegistro) { string dni = trabajador.Dni; if (dni == null || dni.Length != 8) { return("DNIincorrecto"); } else { string codigo = string.Concat("RG", dni, "-", horaRegistro.ToString("ddMMyy")); HorarioCE horario = new HorarioCD().BuscarByDniAnnoMes(dni, horaRegistro); DateTime hrSalida = Convert.ToDateTime("00:00:00"); bool refrigObtenido = true; double minutosAnticipadas = 0; int filasAfectadas; RegistroCE registro = BuscarByCod(codigo); SqlCommand cmd = ConexionCD.CrearCmd(cnx); //using (SqlTransaction sqlTrans = cnx.BeginTransaction(IsolationLevel.ReadUncommitted)) //{ //try //{ if (registro.Codigo == null) { if (tipoControl == "Entrada") { double minutosTardanzas = (horaRegistro - horario.HrEntrada).TotalMinutes; if (minutosTardanzas > 0) { refrigObtenido = false; } else { minutosTardanzas = 0; } cmd.CommandText = "INSERT INTO Registro VALUES (@codigo,@dni,@fecha,@hrEntrada,@hrSalida,@refrig,@minTard,@minAnt)"; cmd.Parameters.AddWithValue("@dni", dni); cmd.Parameters.AddWithValue("@fecha", horaRegistro.Date); cmd.Parameters.AddWithValue("@hrEntrada", horaRegistro); cmd.Parameters.AddWithValue("@minTard", minutosTardanzas); } else { return("EntradaNoRegistrada"); } } else { if (tipoControl == "Salida") { if (registro.HrSalidaReg == Convert.ToDateTime("00:00:00")) { minutosAnticipadas = (horaRegistro - horario.HrSalida).Negate().TotalMinutes; if (minutosAnticipadas > 0) { refrigObtenido = false; } else { minutosAnticipadas = 0; refrigObtenido &= registro.RefrigObtenido; } hrSalida = horaRegistro; cmd.CommandText = "UPDATE Registro SET hrSalidaReg = @hrSalida, minutosAnticipadas = @minAnt, refrigObtenido = @refrig where codigo = @codigo"; } else { return("SalidaRegistrada"); } } else { return("EntradaRegistrada"); } } cmd.Parameters.AddWithValue("@hrSalida", hrSalida); cmd.Parameters.AddWithValue("@refrig", refrigObtenido); cmd.Parameters.AddWithValue("@minAnt", minutosAnticipadas); cmd.Parameters.AddWithValue("@codigo", codigo); //cmd.Transaction = sqlTrans; filasAfectadas = cmd.ExecuteNonQuery(); //sqlTrans.Commit(); //} //catch //{ //sqlTrans.Rollback(); //return "Problema"; //} //} cnx.Close(); return(filasAfectadas.ToString()); } }