예제 #1
0
 public string PersisteSolicitacao(SolicitacaoDocumento sol)
 {
     if (sol.IdSolicitacao > 0)
     {
         return(ComparaInfos(sol));
     }
     else
     {
         db.SolicitacaoDocumento.Add(sol);
     }
     try
     {
         if (db.SaveChanges() > 0)
         {
             return("Cadastrado");
         }
         else
         {
             return("Erro");
         }
     }
     catch (Exception e)
     {
         return("Erro");
     }
 }
예제 #2
0
 public string PersisteUsuario(Usuario[] users)
 {
     if (users.Length == 1)
     {
         Usuario user = users[0];
         if (!string.IsNullOrEmpty(user.IdUsuario))
         {
             return(ComparaInfos(user));
         }
         else
         {
             db.Usuario.Add(user);
         }
     }
     else
     {
         db.Usuario.AddRange(users);
     }
     if (db.SaveChanges() > 0)
     {
         return("Cadastrado");
     }
     else
     {
         return("Erro");
     }
 }
        public bool PersisteDocumento(Documento doc)
        {
            Documento docOld = new Documento();

            if (!(doc.IdDocumento > 0))
            {
                try
                {
                    doc.AlunoCurso = db.AlunoCurso.Where(x => x.IdAluno == doc.AlunoCurso.IdAluno && x.IdCurso == doc.AlunoCurso.IdCurso).FirstOrDefault();
                }
                catch
                {
                }
                db.Documento.Add(doc);
            }
            else
            {
                docOld = db.Documento.Find(doc.IdDocumento);
                docOld = Utilidades.ComparaValores(docOld, doc, new string[] { "NomeDocumento", "Data", "CaminhoDocumento" });
            }

            if (docOld != null)
            {
                return(db.SaveChanges() > 0);
            }
            return(true);
        }
예제 #4
0
        public bool PersisteAluno(string idUsuario, int idCurso)
        {
            Aluno      al = GetAlunoByIdUsuario(idUsuario);
            Curso      c  = db.Curso.Find(idCurso);
            AlunoCurso ac;

            if (al.AlunoCurso.Count == 0)
            {
                ac                = new AlunoCurso();
                ac.IdCurso        = c.IdCurso;
                ac.HoraNecessaria = c.HoraComplementar;
                ac.HoraCompleta   = 0;
                al.AlunoCurso.Add(ac);
            }
            else
            {
                ac = al.AlunoCurso.FirstOrDefault();
                al.AlunoCurso.Remove(ac);
                if (ac.IdCurso != idCurso)
                {
                    ac.IdCurso        = c.IdCurso;
                    ac.HoraNecessaria = c.HoraComplementar;
                }
                al.AlunoCurso.Add(ac);
            }

            return(db.SaveChanges() > 0);
        }
예제 #5
0
        public string PersisteEvento(Evento ev, int[] idsCurso)
        {
            try
            {
                if (ev.IdEvento > 0)
                {
                    ev.VagasPreenchidas = db.Evento.Find(ev.IdEvento).VagasPreenchidas;
                    return(ComparaInfos(ev, idsCurso));
                }
                else
                {
                    List <Curso> cursos = db.Curso.Where(c => idsCurso.Contains(c.IdCurso)).ToList();

                    foreach (var c in cursos)
                    {
                        ev.Curso.Add(c);
                    }
                    db.Evento.Add(ev);
                }
                if (db.SaveChanges() > 0)
                {
                    return("Cadastrado");
                }
                else
                {
                    return("Erro");
                }
            }
            catch (Exception)
            {
                return("Erro");

                throw;
            }
        }
예제 #6
0
        private string ComparaInfos(Usuario user)
        {
            DocumentosModel db2    = new DocumentosModel();
            Usuario         userld = db2.Usuario.Find(user.IdUsuario);

            if (user.Funcionario.Count > 0)
            {
                PersisteFuncionario(user.Funcionario.ToArray());
            }

            userld = Utilidades.ComparaValores(userld, user, new string[] { "E_mail", "Permissao" });


            if (userld == null)
            {
                return("Mantido");
            }
            if (db2.SaveChanges() > 0)
            {
                return("Alterado");
            }
            else
            {
                return("Erro");
            }
        }
예제 #7
0
        /// <summary>
        /// Persisto o novo tipo de documento na base de dados
        /// </summary>
        /// <param name="tipo">nome do novo tipo de documeto</param>
        /// <returns>retorna o tipo cadastrado</returns>
        public bool CadastraTipoDoc(TipoDocumento tipo)
        {
            TipoDocumento tipoDoc = new TipoDocumento();

            if (tipo.IdTipoDoc > 0)
            {
                tipoDoc = db.TipoDocumento.Find(tipo.IdTipoDoc);
                tipoDoc.TipoDocumento1 = tipo.TipoDocumento1;
            }
            else
            {
                db.TipoDocumento.Add(tipo);
            }

            return(db.SaveChanges() > 0);
        }
예제 #8
0
        //public string AlteraStatus(SolicitacaoDocumento sol, EnumStatusSolicitacao e)
        //{
        //    SolicitacaoDocumento soli = db.SolicitacaoDocumento.Find(sol.IdSolicitacao);
        //    soli.Status = e;

        //    if(db.SaveChanges()>0)
        //    {
        //        return "Sucesso";
        //    }
        //    else
        //    {
        //        return "Erro";
        //    }
        //}
        #endregion

        private string ComparaInfos(SolicitacaoDocumento sol)
        {
            DocumentosModel      db2            = new DocumentosModel();
            SolicitacaoDocumento solicitacaoOld = (from sd in db2.SolicitacaoDocumento where sd.IdSolicitacao == sol.IdSolicitacao select sd).FirstOrDefault();

            //db.Entry(solicitacaoOld).Reload();
            solicitacaoOld = Utilidades.ComparaValores(solicitacaoOld, sol, new string[] { "DataLimite", "DataAtendimento", "Status", "IdFuncionario", "Observacao" });

            if (solicitacaoOld.Status == EnumStatusSolicitacao.cancelado)
            {
                db2.Documento.Remove(solicitacaoOld.Documento);
            }

            if (solicitacaoOld == null)
            {
                return("Mantido");
            }
            if (db2.SaveChanges() > 0)
            {
                return("Alterado");
            }
            else
            {
                return("Erro");
            }
        }
예제 #9
0
 public string PersisteCurso(Curso curso)
 {
     if (curso.IdCurso > 0)
     {
         return(ComparaInfos(curso));
     }
     else
     {
         db.Curso.Add(curso);
     }
     if (db.SaveChanges() > 0)
     {
         return("Cadastrado");
     }
     else
     {
         return("Erro");
     }
 }
예제 #10
0
        public bool SalvarLog(Logs log)
        {
            log.Data = DateTime.Now;
            db.Logs.Add(log);

            try
            {
                return(db.SaveChanges() > 0);
            }
            catch (Exception e)
            {
                return(false);
            }
        }
예제 #11
0
        private string ComparaInfos(Evento ev, int[] idsCurso)
        {
            DocumentosModel db2       = new DocumentosModel();
            Evento          eventoOld = db2.Evento.Find(ev.IdEvento);

            eventoOld = Utilidades.ComparaValores(eventoOld, ev, new string[] { "NomeEvento", "Vagas", "VagasPreenchidas", "CargaHoraria", "PresencaNecessaria", "DataInicio", "DataFim", "Status", "Local", "Observacao" });

            if (eventoOld == null)
            {
                if (idsCurso == null)
                {
                    return("Mantido");
                }
                else
                {
                    List <Curso> cursos = db2.Curso.Where(c => idsCurso.Contains(c.IdCurso)).ToList();

                    eventoOld = db2.Evento.Find(ev.IdEvento);
                    eventoOld.Curso.Clear();
                    foreach (var c in cursos)
                    {
                        eventoOld.Curso.Add(c);
                    }
                }
            }

            try
            {
                if (db2.SaveChanges() > 0)
                {
                    return("Alterado");
                }
                else
                {
                    return("Mantido");
                }
            }
            catch
            {
                return("Erro");
            }
        }
예제 #12
0
        private string ComparaInfos(Curso c)
        {
            DocumentosModel db2      = new DocumentosModel();
            Curso           cursoOld = db2.Curso.Find(c.IdCurso);

            cursoOld = Utilidades.ComparaValores(cursoOld, c, new string[] { "Nome", "Nível", "HoraComplementar", "IdCoordenador" });

            if (cursoOld == null)
            {
                return("Mantido");
            }
            if (db2.SaveChanges() > 0)
            {
                return("Alterado");
            }
            else
            {
                return("Erro");
            }
        }
        protected override bool AuthorizeCore(HttpContextBase httpContext)
        {
            //if (string.IsNullOrEmpty(Groups) && Utilidades.UsuarioLogado.Permissao == EnumPermissaoUsuario.admin)
            //    return true;
            //return true;
            if (base.AuthorizeCore(httpContext))
            {
                if (string.IsNullOrEmpty(Groups))
                {
                    return(true);
                }

                var groups = Groups.Split(',').ToList();

                var context = new PrincipalContext(ContextType.Domain, ConfigurationManager.AppSettings["Dominio"], "9077401526", "12qw!@QW"); //usuario com direitos q nao entendi...

                var userPrincipal = UserPrincipal.FindByIdentity(
                    context,
                    IdentityType.SamAccountName,
                    httpContext.User.Identity.Name);

                var perm = userPrincipal.GetGroups();   //ver os grupos que o usuario participa

                try
                {
                    DocumentosModel db = new DocumentosModel();
                    // Usuario user = usuarioRepository.GetUsuarioById(httpContext.User.Identity.Name);
                    Usuario user = db.Usuario.Where(x => x.IdUsuario == httpContext.User.Identity.Name).FirstOrDefault();
                    if (user == null)
                    {
                        user = new Usuario();
                        Funcionario f;
                        Aluno       al;

                        user.IdUsuario = httpContext.User.Identity.Name;
                        user.Nome      = userPrincipal.Name;

                        if (userPrincipal.IsMemberOf(context, IdentityType.Name, "G_FACULDADE_COORDENADOR_R") || userPrincipal.IsMemberOf(context, IdentityType.Name, "G_FACULDADE_COORDENADOR_RW"))
                        {
                            user.Permissao = EnumPermissaoUsuario.coordenador;
                            f           = new Funcionario();
                            f.IdUsuario = user.IdUsuario;
                            f.Permissao = EnumPermissaoUsuario.coordenador;
                            db.Funcionario.Add(f);
                        }
                        else if (userPrincipal.IsMemberOf(context, IdentityType.Name, "G_FACULDADE_PROFESSOR_R") || userPrincipal.IsMemberOf(context, IdentityType.Name, "G_FACULDADE_PROFESSOR_RW"))
                        {
                            user.Permissao = EnumPermissaoUsuario.professor;
                            f           = new Funcionario();
                            f.IdUsuario = user.IdUsuario;
                            f.Permissao = EnumPermissaoUsuario.professor;
                            db.Funcionario.Add(f);
                        }
                        else if (userPrincipal.IsMemberOf(context, IdentityType.Name, "G_FACULDADE_SECRETARIA_R") || userPrincipal.IsMemberOf(context, IdentityType.Name, "G_FACULDADE_SECRETARIA_RW"))
                        {
                            user.Permissao = EnumPermissaoUsuario.secretaria;
                            f           = new Funcionario();
                            f.IdUsuario = user.IdUsuario;
                            f.Permissao = EnumPermissaoUsuario.secretaria;
                            db.Funcionario.Add(f);
                        }
                        else
                        {
                            user.Permissao = EnumPermissaoUsuario.aluno;
                            al             = new Aluno();
                            al.IdUsuario   = user.IdUsuario;
                            db.Aluno.Add(al);
                        }
                        db.Usuario.Add(user);

                        db.SaveChanges();

                        httpContext.Session[user.IdUsuario] = user;
                    }
                    httpContext.Session[user.IdUsuario] = user;
                }
                catch (Exception e)
                {
                    return(false);
                }

                foreach (var group in groups)
                {
                    if (userPrincipal.IsMemberOf(context,
                                                 IdentityType.Name,
                                                 group))
                    {
                        return(true);
                    }
                }
            }
            return(false);
        }