Example #1
0
        public bool SalidaCerrada(int id_usuario)
        {
            int            salida = 0, entrada = 0;
            bool           cerrado = false;
            List <chequeo> chequeo = new DAOChequeo().GetChequeo(id_usuario, string.Format("{0:yyyy-MM-dd}", Convert.ToDateTime(DateTime.Now)));

            foreach (chequeo obj in chequeo)
            {
                if (new DAOTipo_tiempo().GetTipo_tiempo(obj.id_tipo_tiempo).tipo_tiempo.Equals("ENTRADA"))
                {
                    entrada++;
                }
                else if (new DAOTipo_tiempo().GetTipo_tiempo(obj.id_tipo_tiempo).tipo_tiempo.Equals("SALIDA"))
                {
                    salida++;
                }
            }
            if (entrada == salida)
            {
                cerrado = true;
            }
            else
            {
                cerrado = false;
            }
            return(cerrado);
        }
Example #2
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);
                }
            }
        }
        public bool VerificarEntrada(int id_usuario)
        {
            bool           entrada = false;
            List <chequeo> temp    = new List <chequeo>();

            temp = new DAOChequeo().GetChequeo(id_usuario, string.Format("{0:yyyy-MM-dd}", Convert.ToDateTime(DateTime.Now)));
            if (temp.Count == 0)
            {
                entrada = false;
            }
            else
            {
                if (EntradaAbierta(temp))
                {
                    entrada = true;
                }
                else
                {
                    entrada = false;
                }
            }

            return(entrada);
        }
        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;
                }
            }
        }