// Eliminar public int Eliminar(RegistroCE registroCE) { RegistroCD registroCD = new RegistroCD(); int numFilas = registroCD.Eliminar(registroCE); return(numFilas); }
// Actualizar public int Actualizar(RegistroCE registroCE) { RegistroCD registroCD = new RegistroCD(); int numFilas = registroCD.Actualizar(registroCE); return(numFilas); }
// Crear public int Crear(RegistroCE registroCE) { RegistroCD registroCD = new RegistroCD(); int nuevoID = registroCD.Crear(registroCE); return(nuevoID); }
// Actualizar public int Actualizar(RegistroCE registroCE) { // Establecer conexion SqlConnection cn = ConexionCD.conectarBD(); // Abrir conexion cn.Open(); // Crear comando SqlCommand cmd = cn.CreateCommand(); // Definir el tipo de comando cmd.CommandType = CommandType.Text; // Establecer consulta cmd.CommandText = "update Registro set" + " idProfesor = @idProfesor, idCurso = @idCurso, fechaInicio = @fechaInicio, fechaTermino = @fechaTermino" + " where id = @id"; // Definir los parametros cmd.Parameters.AddWithValue("@idProfesor", registroCE.IdProfesor); cmd.Parameters.AddWithValue("@idCurso", registroCE.IdCurso); cmd.Parameters.AddWithValue("@fechaInicio", registroCE.FechaInicio); cmd.Parameters.AddWithValue("@fechaTermino", registroCE.FechaTermino); cmd.Parameters.AddWithValue("@id", registroCE.Id); // Ejecutar comando int numFilas; using (SqlTransaction transaction = cn.BeginTransaction()) { cmd.Transaction = transaction; try { numFilas = cmd.ExecuteNonQuery(); transaction.Commit(); } catch { transaction.Rollback(); numFilas = 0; } } // cerrar conexion cn.Close(); // retornar cantidad de filas afectadas return(numFilas); }
private void btnGuardarRegistro_Click(object sender, EventArgs e) { if (dgvDatos.Rows.Count > 0) { if (txtIdProfesor.Text.Length > 0 && txtProfesor.Text.Length > 0 && txtIdCurso.Text.Length > 0 && txtCurso.Text.Length > 0 && txtIdEstudiante.Text.Length > 0 && txtEstudiante.Text.Length > 0) { DialogResult rpta = MessageBox.Show("Está a punto de GUARDAR los REGISTROS y sus detalles. ¿Está seguro?", "Registros", MessageBoxButtons.YesNo, MessageBoxIcon.Exclamation, MessageBoxDefaultButton.Button2); if (rpta == DialogResult.Yes) { int idProfesor = Convert.ToInt32(txtIdProfesor.Text); int idCurso = Convert.ToInt32(txtIdCurso.Text); DateTime fechaInicio = dtpFInicio.Value; DateTime fechaTermino = dtpFTermino.Value; RegistroCE registroCE = new RegistroCE(0, idProfesor, idCurso, fechaInicio, fechaTermino); RegistroCN registroCN = new RegistroCN(); int idRegistro = registroCN.Crear(registroCE); foreach (DataGridViewRow fila in dgvDatos.Rows) { int idEstudiante = Convert.ToInt32(fila.Cells["idEstudiante"].Value); int idEvaluacion = Convert.ToInt32(fila.Cells["idEvaluacion"].Value); double nota = Convert.ToDouble(fila.Cells["nota"].Value); NotasCE notasCE = new NotasCE(0, idEstudiante, idEvaluacion, idRegistro, nota); NotasCN notasCN = new NotasCN(); int idNotas = notasCN.Crear(notasCE); Console.WriteLine("Registro guardado => " + idRegistro + " / " + idNotas); } LimpiarTodo(); CalcularPromedio(); } } else { MessageBox.Show("Al parecer hay ciertos datos incompletos. Por favor, completelo para guardar los registros."); } } else { MessageBox.Show("No hay registros introducidos."); } }
// Leer public List <RegistroCE> Leer() { // establecer conexion SqlConnection cn = ConexionCD.conectarBD(); // Abrir conexion cn.Open(); // Crear comando SqlCommand cmd = cn.CreateCommand(); // Definir el tipo de comando cmd.CommandType = CommandType.Text; // Establecer consulta cmd.CommandText = "select * from Registro"; // Instanciar ejecucion de filas SqlDataReader dataReader = cmd.ExecuteReader(); // crear lista List <RegistroCE> registroCEs = new List <RegistroCE>(); // Rellenar registros while (dataReader.Read()) { int id = Convert.ToInt32(dataReader["id"]); int idProfesor = Convert.ToInt32(dataReader["idProfesor"]); int idCurso = Convert.ToInt32(dataReader["idCurso"]); DateTime fechaInicio = Convert.ToDateTime(dataReader["fechaInicio"]); DateTime fechaTermino = Convert.ToDateTime(dataReader["fechaTermino"]); // instanciar objeto RegistroCE registroCE = new RegistroCE(id, idProfesor, idCurso, fechaInicio, fechaTermino); // agregar a lista registroCEs.Add(registroCE); } // Cerrar conexion cn.Close(); // Retornar lista return(registroCEs); }
// Eliminar public int Eliminar(RegistroCE registroCE) { // Establecer conexion SqlConnection cn = ConexionCD.conectarBD(); // Abrir conexion cn.Open(); // Crear comando SqlCommand cmd = cn.CreateCommand(); // Definir el tipo de comando cmd.CommandType = CommandType.Text; // Establecer consulta cmd.CommandText = "delete from Registro where id = @id"; // Definir los parametros cmd.Parameters.AddWithValue("@id", registroCE.Id); // Ejecutar comando int numFilas; using (SqlTransaction transaction = cn.BeginTransaction()) { cmd.Transaction = transaction; try { numFilas = cmd.ExecuteNonQuery(); transaction.Commit(); } catch { transaction.Rollback(); numFilas = 0; } } // cerrar conexion cn.Close(); // retornar cantidad de filas afectadas return(numFilas); }
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); }
// Crear public int Crear(RegistroCE registroCE) { // establecer conexion SqlConnection cn = ConexionCD.conectarBD(); // Abrir conexion cn.Open(); // Crear el comanod SqlCommand cmd = cn.CreateCommand(); // Establecer el tipo de comando cmd.CommandType = CommandType.Text; // Establecer la consulta cmd.CommandText = "insert into Registro " + "(idProfesor, idCurso, fechaInicio, fechaTermino) " + "values (@idProfesor, @idCurso, @fechaInicio, @fechaTermino)"; // Agregar parametros cmd.Parameters.AddWithValue("@idProfesor", registroCE.IdProfesor); cmd.Parameters.AddWithValue("@idCurso", registroCE.IdCurso); cmd.Parameters.AddWithValue("@fechaInicio", registroCE.FechaInicio.ToLocalTime()); cmd.Parameters.AddWithValue("@fechaTermino", registroCE.FechaTermino.ToLocalTime()); // Ejecutar consulta int numFilas; using (SqlTransaction transaction = cn.BeginTransaction()) { cmd.Transaction = transaction; try { numFilas = cmd.ExecuteNonQuery(); transaction.Commit(); } catch { transaction.Rollback(); numFilas = 0; } } // Definir el nuevo id int nuevoID; // Condicionar filas afectadas if (numFilas > 0) { // Creamos la nueva consulta cmd.CommandText = "select max(id) as nuevoId from Registro" + " where idProfesor = @idProfesor"; // Editar parametro cmd.Parameters["@idProfesor"].Value = registroCE.IdProfesor; // Ejecutar consulta SqlDataReader dataReader = cmd.ExecuteReader(); // Leer reader if (dataReader.Read()) { nuevoID = Convert.ToInt32(dataReader["nuevoId"]); } else { nuevoID = 0; } } else { nuevoID = 0; } // Cerrar la conexion cn.Close(); // Retornamos el nuevo id return(nuevoID); }
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()); } }