Exemplo n.º 1
0
        public string SalidaHora()
        {
            int ok        = 0;
            int opcion    = 0;
            int numSalida = 0;
            //INFORMACION DEL USUARIO LOGEADO
            int      idUsuarioSession = (int)Session["Id"];
            DateTime fechaSession     = DateTime.Parse(Session["fechaActual"].ToString());

            fechaSession = fechaSession.Date;

            //GENERACIÓN DE HORA DEL MOMENTO
            TimeSpan hora   = new TimeSpan(DateTime.Now.Hour, DateTime.Now.Minute, DateTime.Now.Second);
            String   salida = hora.ToString();

            //REGISTRO HORA EN BASE DE DATOS DEL USUARIO LOGEADO
            Models.asistencia asi = new Models.asistencia();
            using (var bd = new asistenciaEntities())
            {
                asi = (from asist in bd.asistencia
                       where asist.USU_ID.Equals(idUsuarioSession) &&
                       asist.ASI_FECHA.Equals(fechaSession)
                       select asist).First();

                asi.ASI_HORA_SALIDA = hora;
                ok = bd.SaveChanges();
            }
            LogicaHoras(idUsuarioSession, hora, opcion);
            return(salida);
        }
        public int justificarAsistencia(AsistenciaCLS oAsistenciaCLS, int titulo)
        {
            int ok = 0;

            using (var bd = new asistenciaEntities())
            {
                Models.asistencia asi = bd.asistencia.Where(p => p.ASI_ID.Equals(titulo)).First();

                asi.ASI_OBSERVACION = oAsistenciaCLS.observacion;
                ok = bd.SaveChanges();
            }

            return(ok);
        }
        public int aprobar(int id)
        {
            int ok = 0;


            using (var bd = new asistenciaEntities())
            {
                Models.asistencia infoAsistencia = bd.asistencia.Where(p => p.ASI_ID.Equals(id)).First();
                infoAsistencia.ASI_ESTADO = 1;
                infoAsistencia.ASI_ATRASO = 1;
                ok = bd.SaveChanges();
            }



            return(ok);
        }
        //Editar justificación
        public JsonResult recuperarDatos(int id)
        {
            AsistenciaCLS oAsistenciaCLS = new AsistenciaCLS();

            try
            {
                using (var bd = new asistenciaEntities())
                {
                    Models.asistencia oAsistencia = bd.asistencia.Where(p => p.ASI_ID == id).First();
                    oAsistenciaCLS.observacion = oAsistencia.ASI_OBSERVACION;
                }
            }
            catch (Exception)
            {
                throw;
            }

            return(Json(oAsistenciaCLS, JsonRequestBehavior.AllowGet));
        }
        public int justificar(AsistenciaCLS asistenciaCLS)
        {
            int rpta             = 0;
            int idUsuarioSession = (int)Session["Id"];

            try
            {
                using (var bd = new asistenciaEntities())
                {
                    Models.asistencia asi = bd.asistencia.Where(p => p.USU_ID.Equals(idUsuarioSession) &&
                                                                p.ASI_FECHA.Equals(asistenciaCLS.fechaJustificar)).First();
                    asi.ASI_OBSERVACION = asistenciaCLS.observacion;
                    rpta = bd.SaveChanges();
                }
            }
            catch (Exception)
            {
                throw;
            }
            return(rpta);
        }
Exemplo n.º 6
0
        public string IngresoHora()
        {
            //Declaración de variables
            int opcion = 1;

            //HORA ESTABLECIDA POR LA EMPRESA 9:10 COMO MAXIMO, POSTERIOR A ESO CUENTA COMO ATRASO
            TimeSpan horaEstablecida = new TimeSpan(09, 10, 00);

            //INFORMACION DEL USUARIO LOGEADO
            int      idUsuarioSession = (int)Session["Id"];
            DateTime fechaSession     = DateTime.Parse(Session["fechaActual"].ToString());

            fechaSession = fechaSession.Date;

            //GENERACIÓN DE HORA DEL MOMENTO
            TimeSpan hora    = new TimeSpan(DateTime.Now.Hour, DateTime.Now.Minute, DateTime.Now.Second);
            String   ingreso = hora.ToString();

            //REGISTRO HORA EN BASE DE DATOS DEL USUARIO LOGEADO
            Models.asistencia asi = new Models.asistencia();
            using (var bd = new asistenciaEntities())
            {
                asi = (from asist in bd.asistencia
                       where asist.USU_ID.Equals(idUsuarioSession) &&
                       asist.ASI_FECHA.Equals(fechaSession)
                       select asist).First();

                asi.ASI_HORA_INGRESO = hora;
                asi.ASI_ESTADO       = 1;

                if (hora < horaEstablecida)
                {
                    asi.ASI_ATRASO = 1;
                }

                bd.SaveChanges();
            }
            LogicaHoras(idUsuarioSession, hora, opcion);
            return(ingreso);
        }
Exemplo n.º 7
0
        // GET: Home
        public ActionResult Index()
        {
            //condicion si existe un ID de usuario al hacer login
            if (Session["Id"] == null)
            {
                return(RedirectToAction("Index", "Login"));
            }
            //guardarmos variables de session luego de hacer login en variables locales
            int      idUsuarioSession = (int)Session["Id"];
            DateTime fechaSession     = DateTime.Parse(Session["fechaActual"].ToString());

            List <UsuariosCLS> ListaUsuarios = new List <UsuariosCLS>();
            AsistenciaCLS      asisCLS       = new AsistenciaCLS();

            using (var bd = new asistenciaEntities())
            {
                //CONSULTANDO EN BASE DE DATOS SI HAY REGISTROS CON LA FECHA DE HOY
                int numeroVeces = bd.asistencia.Where(p => p.USU_ID.Equals(idUsuarioSession) &&
                                                      p.ASI_FECHA.Equals(fechaSession)).Count();
                //SI NO HAY REGISTRO INGRESA PROCEDE A REGISTRAR
                if (numeroVeces < 1)
                {
                    //RECUPERANDO TODOS LOS USUARIOS
                    ListaUsuarios = (from usu in bd.usuarios
                                     where usu.USU_ESTADO == 1
                                     select new UsuariosCLS
                    {
                        idUsuario = usu.USU_ID
                    }).ToList();

                    //AGREGANDO REGISTRO DE FECHA DIARIA POR USUARIO A HISTORIAL
                    foreach (UsuariosCLS usuario in ListaUsuarios)
                    {
                        Models.asistencia asi = new Models.asistencia();
                        asi.USU_ID     = usuario.idUsuario;
                        asi.ASI_FECHA  = fechaSession;
                        asi.ASI_ESTADO = 0;
                        asi.ASI_ATRASO = 0;
                        bd.asistencia.Add(asi);
                        bd.SaveChanges();
                    }
                }
                //Actualizar total Atrasos por mes
                if (Session["perfil"].Equals("Administrador"))
                {
                    ListaUsuarios = (from usu in bd.usuarios
                                     select new UsuariosCLS
                    {
                        idUsuario = usu.USU_ID
                    }).ToList();
                    foreach (UsuariosCLS usuario in ListaUsuarios)
                    {
                        //Metodo registrrar total atrasos por usuarioz
                        Atrasos(usuario.idUsuario);
                    }
                }
                //Recuperando información del registro que sea igual al login
                Models.asistencia asistenciaUsuario = bd.asistencia.Where(p => p.USU_ID.Equals(idUsuarioSession) &&
                                                                          p.ASI_FECHA.Equals(fechaSession)).First();

                asisCLS.horaIngreso = asistenciaUsuario.ASI_HORA_INGRESO;
                asisCLS.horaSalida  = asistenciaUsuario.ASI_HORA_SALIDA;
            }


            return(View(asisCLS));
        }