예제 #1
0
        public chequeo GetChequeo(chequeo chequeo)
        {
            chequeo usuario = null;

            SqlCeConnection conn = new SqlCeConnection(@"Data Source=|DataDirectory|\DB\DB_local.sdf");

            conn.Open();

            //commands represent a query or a stored procedure
            SqlCeCommand cmd = conn.CreateCommand();

            cmd.CommandText = "SELECT * FROM chequeo WHERE id_usuario=" + chequeo.id_usuario + " AND dia='" + chequeo.dia + "' AND hora='" + chequeo.hora + ";";
            SqlCeDataReader reader = cmd.ExecuteReader();

            while (reader.Read())
            {
                usuario = new chequeo(
                    int.Parse(reader["id_usuario"].ToString()),
                    int.Parse(reader["id_tipo_usuario"].ToString()),
                    reader["dia"].ToString(),
                    reader["hora"].ToString()
                    );
            }

            return(usuario);
        }
예제 #2
0
        public void InsertChequeo(chequeo chequeo)
        {
            SqlCeConnection conn = null;

            try
            {
                conn = new SqlCeConnection(@"Data Source=|DataDirectory|\DB\DB_local.sdf");
                conn.Open();

                SqlCeCommand cmd = conn.CreateCommand();
                cmd.CommandText = "INSERT INTO chequeo ([id_usuario],[id_tipo_tiempo],[dia],[hora]) Values(" + chequeo.id_usuario + "," + chequeo.id_tipo_tiempo + ",'" + chequeo.dia + "','" + chequeo.hora + "')";

                cmd.ExecuteNonQuery();
            }
            finally
            {
                conn.Close();
            }
        }
예제 #3
0
        private void Contenedor_FormClosing(object sender, FormClosingEventArgs e)
        {
            List <dto_clave_scaner> usuarios = new List <dto_clave_scaner>();
            List <chequeo>          chequeos = new DAOChequeo().GetChequeo(string.Format("{0:yyyy-MM-dd}", Convert.ToDateTime(DateTime.Now)));

            if (chequeos.Count % 2 != 0)
            {
                MessageBox.Show("Hay usuarios que no hicieron la salida, el sistema realizará su chequeo con la hora actual.", "ADVERTENCIA", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
                usuarios = UsuariosSinChecarSalida(chequeos);
                foreach (dto_clave_scaner tmp in usuarios)
                {
                    chequeo objeto = new chequeo();
                    objeto.id_usuario     = tmp.id_usuario;
                    objeto.id_tipo_tiempo = new DAOTipo_tiempo().GetTipo_tiempo("SALIDA").id_tipo_tiempo;
                    objeto.dia            = string.Format("{0:yyyy-MM-dd}", Convert.ToDateTime(DateTime.Now));
                    objeto.hora           = string.Format("{0:HH:mm:ss}", Convert.ToDateTime(DateTime.Now));
                    new DAOChequeo().InsertChequeo(objeto);
                }
            }
        }
예제 #4
0
        private void nombre_textbox_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (e.KeyChar == (char)Keys.Enter)
            {
                if (!privilegios_combo.Text.Equals(null))
                {
                    if (privilegios_combo.Text.Equals("ENTRADA"))
                    {
                        if (!VerificarEntrada(new DAOClave_scaner().Getclave_scaner(new Validaciones().LimpiarString(codigo_textbox.Text)).id_usuario))
                        {
                            chequeo chequeo = new chequeo();
                            chequeo.id_usuario     = new DAOClave_scaner().Getclave_scaner(new Validaciones().LimpiarString(codigo_textbox.Text)).id_usuario;
                            chequeo.dia            = string.Format("{0:yyyy-MM-dd}", Convert.ToDateTime(DateTime.Now));
                            chequeo.hora           = string.Format("{0:HH:mm:ss}", Convert.ToDateTime(DateTime.Now));
                            chequeo.id_tipo_tiempo = new DAOTipo_tiempo().GetTipo_tiempo(privilegios_combo.Text).id_tipo_tiempo;
                            new DAOChequeo().InsertChequeo(chequeo);
                            RemarcarCodigo();
                            codigo_textbox.Text = null;
                        }
                        else
                        {
                            MessageBox.Show("No puedes checar entrada, ya se había realizado. Debes checar salida.", "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Error);
                            RemarcarCodigo();
                        }
                    }
                    else if (privilegios_combo.Text.Equals("SALIDA"))
                    {
                        if (VerificarEntrada(new DAOClave_scaner().Getclave_scaner(new Validaciones().LimpiarString(codigo_textbox.Text)).id_usuario))
                        {
                            chequeo chequeo = new chequeo();
                            chequeo.id_usuario     = new DAOClave_scaner().Getclave_scaner(new Validaciones().LimpiarString(codigo_textbox.Text)).id_usuario;
                            chequeo.dia            = string.Format("{0:yyyy-MM-dd}", Convert.ToDateTime(DateTime.Now));
                            chequeo.hora           = string.Format("{0:HH:mm:ss}", Convert.ToDateTime(DateTime.Now));
                            chequeo.id_tipo_tiempo = new DAOTipo_tiempo().GetTipo_tiempo(privilegios_combo.Text).id_tipo_tiempo;
                            new DAOChequeo().InsertChequeo(chequeo);

                            RemarcarCodigo();
                            codigo_textbox.Text = null;
                        }
                        else
                        {
                            MessageBox.Show("No puedes checar salida sin haber hecho la entrada.", "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Error);
                            RemarcarCodigo();
                        }
                    }
                    else if (!privilegios_combo.Text.Equals("ENTRADA") && !privilegios_combo.Text.Equals("SALIDA"))
                    {
                        MessageBox.Show("Por el momento no estan habilitados estas opciones.", "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        RemarcarCodigo();
                        //Codigo a comentar

                        /*if (VerificarEntrada(new DAOClave_scaner().Getclave_scaner(new Validaciones().LimpiarString(new Crypting().DecryptKey(codigo_textbox.Text))).id_usuario))
                         * {
                         *  chequeo chequeo = new chequeo();
                         *  chequeo.id_usuario = new DAOClave_scaner().Getclave_scaner(new Validaciones().LimpiarString(codigo_textbox.Text)).id_usuario;
                         *  chequeo.dia = string.Format("{0:yyyy-MM-dd}", Convert.ToDateTime(DateTime.Now));
                         *  chequeo.hora = string.Format("{0:HH:mm:ss}", Convert.ToDateTime(DateTime.Now));
                         *  chequeo.id_tipo_tiempo = new DAOTipo_tiempo().GetTipo_tiempo(privilegios_combo.Text).id_tipo_tiempo;
                         * codigo_textbox.Text = null;
                         * }
                         * else
                         * {
                         *  MessageBox.Show("Debes de checar entrada primero.", "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Error);
                         * }*/
                    }
                }
                else
                {
                    MessageBox.Show("Debes seleccionar primero un status.", "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    RemarcarCodigo();
                }
            }
        }
        private void filtrar_Button_Click(object sender, EventArgs e)
        {
            if (dateTimePicker1.Value >= dateTimePicker2.Value)
            {
                MessageBox.Show("Debe escoger una fecha correcta.", "Alerta",
                                MessageBoxButtons.YesNo, MessageBoxIcon.Error);
            }
            else
            {
                string         fecha1  = string.Format("{0:yyyy-MM-dd}", Convert.ToDateTime(dateTimePicker1.Value));
                string         fecha2  = string.Format("{0:yyyy-MM-dd}", Convert.ToDateTime(dateTimePicker2.Value));
                List <chequeo> chequeo = new DAOChequeo().GetChequeo(fecha1, fecha2);
                ChequeoGlobal = chequeo;
                string fechaActual   = null;
                bool   primaraVuelta = false;
                while (ChequeoGlobal.Count > 0)
                {
                    chequeo entrada          = new chequeo();
                    chequeo salida           = new chequeo();
                    bool    salidaEncontrada = false;
                    //Busco de la lista global la primera entrada
                    foreach (chequeo temp in ChequeoGlobal)
                    {
                        //Verifico fecha actual
                        if (!primaraVuelta)
                        {
                            fechaActual = temp.dia;
                            actualizarDGVfecha(fechaActual);
                        }
                        else
                        {
                            if (FechaDiferente(fechaActual, temp.dia))
                            {
                                fechaActual = temp.dia;
                                actualizarDGVfecha(fechaActual);
                            }
                        }
                        if (temp.id_tipo_tiempo == new DAOTipo_tiempo().GetTipo_tiempo("ENTRADA").id_tipo_tiempo)
                        {
                            entrada = temp;
                            break;
                        }
                    }
                    foreach (chequeo temp in ChequeoGlobal)
                    {
                        //Verifico fecha actual

                        if (temp.id_tipo_tiempo == new DAOTipo_tiempo().GetTipo_tiempo("SALIDA").id_tipo_tiempo&& entrada.id_usuario == temp.id_usuario)
                        {
                            salida           = temp;
                            salidaEncontrada = true;
                            break;
                        }
                    }
                    if (salidaEncontrada)
                    {
                        //borro los objetos de la lista.
                        ChequeoGlobal.Remove(entrada);
                        ChequeoGlobal.Remove(salida);
                        actualizarDGVUsuario(new DAOUsuarios().GetUser(entrada.id_usuario).usuario, entrada.hora, salida.hora);
                    }
                    else
                    {
                        ChequeoGlobal.Remove(entrada);
                        actualizarDGVUsuario(new DAOUsuarios().GetUser(entrada.id_usuario).usuario, entrada.hora);
                    }

                    primaraVuelta = true;
                }
            }
        }