예제 #1
0
        public ActionResult Historico(int Cod_Usuario, string Nome, string Instrumento, bool Aluno, int Cod_Comum)
        {
            if (Cod_Comum == 0 || !UserSession.Get(Request.HttpContext).Admin())
            {
                Cod_Comum = UserSession.Get(Request.HttpContext).Cod_Comum();
            }

            if (!UserSession.Get(Request.HttpContext).Instrutor())
            {
                Cod_Usuario = UserSession.Get(Request.HttpContext).Cod_Usuario();
            }

            if (UsuarioComum.Find(Cod_Usuario, Cod_Comum) == null)
            {
                return(View(new List <Estudo>()));
            }

            ViewBag.Cod_Usuario = Cod_Usuario;
            ViewBag.Nome        = Nome;
            ViewBag.Instrumento = Instrumento;
            ViewBag.Aluno       = Aluno;

            if (Aluno)
            {
                return(View(Estudo.ListHistoricoAluno(Cod_Usuario)));
            }
            else
            {
                return(View(Estudo.ListHistoricoInstrutor(Cod_Usuario)));
            }
        }
예제 #2
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[] { });
        }
예제 #3
0
        public ActionResult RegistraAusencia(int Cod_Usuario, string Nome, int Cod_Instrumento, bool Aluno, DateTime Data, int Cod_Comum)
        {
            var instrutor = UserSession.Get(Request.HttpContext).Usuario;

            if (Cod_Comum == 0 || !instrutor.Admin)
            {
                Cod_Comum = instrutor.Cod_Comum;
            }

            int Cod_Presenca = 0;

            if (instrutor.Instrutor)
            {
                Context cx = new Context();
                try
                {
                    cx.BeginTransaction();
                    UsuarioComum usuario  = UsuarioComum.Find(Cod_Usuario, Cod_Comum);
                    Presenca     presenca = Presenca.FirstOrDefault(new{ usuario.Cod_Usuario, Data });
                    Cod_Presenca = presenca.Cod_Presenca;
                    if (presenca != null)
                    {
                        Presenca.Delete(presenca.Cod_Presenca);
                        Monitor.Add <Presenca>(HttpContext, 'D', GEM.Helpers.Util.ShortName(Nome) + " data: " + Data.ToString("dd/MM/yyyy"));

                        RemoveSessaoPresenca(new int[] { presenca.Cod_Presenca });
                        Cod_Presenca = 0;
                    }

                    cx.Commit();
                }
                catch {
                    cx.Rollback();
                }
            }

            return(View("Situacao", new UsuarioPresenca()
            {
                Cod_Presenca = Cod_Presenca,
                Cod_Justificativa = 0,
                Cod_Usuario = Cod_Usuario,
                Nome = Nome,
                Instrumento = Cod_Instrumento == 0 ? "" : Instrumento.Find(Cod_Instrumento).Nome,
                Aluno = Aluno
            }));
        }
예제 #4
0
        public ActionResult Save(Usuario model)
        {
            try{
                var usuario = UserSession.Get(Request.HttpContext).Usuario;
                if (model.Cod_Comum == 0 || !usuario.Admin)
                {
                    model.Cod_Comum = usuario.Cod_Comum;
                }

                //if(!model.Aluno && !model.Oficializado && !model.Instrutor)

                if (model.Cod_Usuario != 0 && !usuario.Admin && UsuarioComum.Find(model.Cod_Usuario, model.Cod_Comum) == null)
                {
                    throw new Exception("Usuário não cadastrado nesta comum!");
                }

                if (Usuario.EmailJaCadastrado(model.Email, model.Cod_Usuario))
                {
                    throw new Exception("Email já cadastrado!");
                }

                char oper = model.Cod_Usuario == 0 ? 'C' : 'U';
                model.Save();
                Monitor.Add <Usuario>(HttpContext, oper, model.Nome);

                if (usuario.Dev || usuario.Admin || usuario.Instrutor)
                {
                    UsuarioPermissao permissao = UsuarioPermissao.Find(model.Cod_Usuario);

                    if (usuario.Dev)
                    {
                        permissao.Dev = model.Dev;
                    }

                    if (usuario.Admin)
                    {
                        permissao.Admin = model.Admin;
                        //permissao.Cod_Comum = model.Cod_Comum;
                    }

                    if (usuario.Instrutor)
                    {
                        permissao.Instrutor    = model.Instrutor;
                        permissao.Oficializado = model.Oficializado;
                        permissao.RJM          = model.RJM;
                        permissao.Aluno        = model.Aluno;
                        permissao.Ativo        = model.Ativo;
                        //permissao.Cod_Grupo = model.Cod_Grupo;
                    }

                    permissao.Update();

                    if (usuario.Instrutor)
                    {
                        UsuarioGrupo.UpdateGrupos(model.Cod_Usuario, model.Cod_Grupos);
                    }
                }

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