Exemplo n.º 1
0
        private int[] GetCodPresenca(int[] Cod_Usuarios, DateTime Data, int Cod_Comum)
        {
            List <int> result = new List <int>();
            Context    cx     = new Context();

            try{
                cx.BeginTransaction();
                List <Presenca>         presencas = Presenca.ListInCod_Usuario(Cod_Usuarios, Data, cx);
                List <FaltaJustificada> faltas    = FaltaJustificada.ListInCod_Usuario(Cod_Usuarios, Data, cx);

                foreach (var Cod_Usuario in Cod_Usuarios)
                {
                    if (Cod_Usuario != 0)
                    {
                        UsuarioComum usuario  = UsuarioComum.Find(Cod_Usuario, Cod_Comum, cx);
                        Presenca     presenca = presencas.FirstOrDefault(e => e.Cod_Usuario == Cod_Usuario);

                        if (presenca == null && usuario != null)
                        {
                            presenca             = new Presenca();
                            presenca.Cod_Usuario = usuario.Cod_Usuario;
                            presenca.Data        = Data;
                            presenca.Instrutor   = UserSession.Get(Request.HttpContext).Cod_Usuario();
                            presenca.Save(cx);
                            result.Add(presenca.Cod_Presenca);
                        }

                        FaltaJustificada falta = faltas.FirstOrDefault(e => e.Cod_Usuario == Cod_Usuario);
                        if (falta != null)
                        {
                            FaltaJustificada.Delete(falta.Cod_Justificativa, cx);
                            string nome = Usuario.Find(Cod_Usuario).Nome;
                            Monitor.Add <FaltaJustificada>(HttpContext, 'D', GEM.Helpers.Util.ShortName(nome) + " data: " + Data.ToString("dd/MM/yyyy"));
                        }
                    }
                }

                cx.Commit();

                AddSessaoPresenca(result.ToArray());
                return(result.ToArray());
            }catch {
                cx.Rollback();
            }

            return(new int[] { });
        }
Exemplo n.º 2
0
        public ActionResult Justificativa(DateTime Data, int Cod_Usuario, string Nome, string Instrumento, int Cod_Comum)
        {
            //ViewBag.Cod_Usuario = Cod_Usuario;
            ViewBag.Nome        = Nome;
            ViewBag.Instrumento = Instrumento;
            ViewBag.Cod_Comum   = Cod_Comum;
            Usuario          usuario = Usuario.FirstOrDefault(new{ Cod_Usuario, Cod_Comum });
            FaltaJustificada falta   = FaltaJustificada.FirstOrDefault(new { usuario.Cod_Usuario, Data = Data.ToString("yyyy-MM-dd") });

            if (falta == null)
            {
                falta             = new FaltaJustificada();
                falta.Data        = Data;
                falta.Cod_Usuario = Cod_Usuario;
            }
            return(View(falta));
        }
Exemplo n.º 3
0
        public ActionResult Justificar(FaltaJustificada falta)
        {
            try{
                if (falta.Cod_Comum == 0 || !UserSession.Get(Request.HttpContext).Admin())
                {
                    falta.Cod_Comum = UserSession.Get(Request.HttpContext).Cod_Comum();
                }

                if (UserSession.Get(Request.HttpContext).Instrutor())
                {
                    Usuario usuario = Usuario.FirstOrDefault(new{ falta.Cod_Usuario, falta.Cod_Comum });
                    if (usuario != null)
                    {
                        falta.Instrutor = UserSession.Get(Request.HttpContext).Cod_Usuario();
                        falta.Save();
                    }
                }

                return(Json("ok"));
            }
            catch (Exception ex) {
                return(Json(ex.Message));
            }
        }