예제 #1
0
        // Eliminar
        public int Eliminar(RegistroCE registroCE)
        {
            RegistroCD registroCD = new RegistroCD();
            int        numFilas   = registroCD.Eliminar(registroCE);

            return(numFilas);
        }
예제 #2
0
        // Actualizar
        public int Actualizar(RegistroCE registroCE)
        {
            RegistroCD registroCD = new RegistroCD();
            int        numFilas   = registroCD.Actualizar(registroCE);

            return(numFilas);
        }
예제 #3
0
        // Crear
        public int Crear(RegistroCE registroCE)
        {
            RegistroCD registroCD = new RegistroCD();
            int        nuevoID    = registroCD.Crear(registroCE);

            return(nuevoID);
        }
예제 #4
0
        // 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);
        }
예제 #5
0
        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.");
            }
        }
예제 #6
0
        // 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);
        }
예제 #7
0
        // 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);
        }
예제 #8
0
        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);
        }
예제 #9
0
        // 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);
        }
예제 #10
0
        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());
            }
        }