Пример #1
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);
        }
Пример #2
0
        //INSERE ALUNO_CURSO
        public void CursoAluno(AlunoCurso alunoCurso)
        {
            var StrQuery = string.Format("INSERT INTO Aluno_Curso (Id_User, Id_Curso) VALUES ({0}, {1})", alunoCurso.id_user, alunoCurso.id_curso);

            using (db = new DBConnection())
            {
                db.ExecuteCommand(StrQuery);
            }
        }
Пример #3
0
        //Valida Aluno_Curso
        public AlunoCurso ValidaCadastroCurso(AlunoCurso alunoCurso)
        {
            using (db = new DBConnection())
            {
                var strQuery = string.Format("SELECT id_user, id_curso FROM Aluno_Curso WHERE id_user = '******' AND id_curso = '{1}';", alunoCurso.id_user, alunoCurso.id_curso);
                var retorno  = db.RetornaComando(strQuery);

                return(RetornaCadastroCurso(retorno).FirstOrDefault());
            }
        }
        // GET: HoraComplementar
        public ActionResult Index()
        {
            PopularDropDowns();

            AlunoCurso al = cursoRepository.GetAlunoCurso(User.Identity.Name);

            ViewBag.HrsComputadas  = al.HoraCompleta.HasValue && al.HoraCompleta.Value > 0 ? al.HoraCompleta.Value : 0;
            ViewBag.HrsNecessarias = al.HoraNecessaria;

            List <SolicitacaoDocumento> retorno = solicitacaoRepository.GetMinhaSolicitacao(User.Identity.Name).Where(x => x.TipoSolicitacao == EnumTipoSolicitacao.aluno).ToList();

            return(View(retorno));
        }
Пример #5
0
        public bool MatriculaAluno(int idCurso, int idAluno)
        {
            AlunoCurso matricula = new AlunoCurso();
            Curso      c         = db.Curso.Find(idCurso);

            matricula.IdAluno        = idAluno;
            matricula.IdCurso        = idCurso;
            matricula.HoraNecessaria = c.HoraComplementar;
            matricula.HoraCompleta   = 0;

            db.AlunoCurso.Add(matricula);

            return(db.SaveChanges() > 0);
        }
Пример #6
0
        public List <AlunoCurso> RetornaCadastroCurso(SqlDataReader retorno)
        {
            var usuarios = new List <AlunoCurso>();

            while (retorno.Read())
            {
                var TempUsuario = new AlunoCurso()
                {
                    id_curso = int.Parse(retorno["id_user"].ToString()),
                    id_user  = int.Parse(retorno["id_curso"].ToString()),
                };
                usuarios.Add(TempUsuario);
            }
            retorno.Close();

            return(usuarios);
        }
Пример #7
0
        public void AdicionaHoras(int cargaHoraria, int idAluno, int idEvento)
        {
            int idCurso = 0;

            List <Curso> cr = (from evento in db.Evento
                               join curso in db.Curso on(evento.Curso.Select(x => x.IdCurso).FirstOrDefault()) equals curso.IdCurso
                               where evento.IdEvento == idEvento
                               select curso).ToList();

            List <Curso> cs = (from cursoc in db.Curso
                               join alc in db.AlunoCurso on cursoc.IdCurso equals alc.IdCurso
                               where alc.IdAluno == idAluno
                               select cursoc).ToList();

            Curso c = cr.Intersect(cs).FirstOrDefault();

            idCurso = c.IdCurso;
            AlunoCurso ac = db.AlunoCurso.Where(x => x.IdAluno == idAluno && x.IdCurso == idCurso).FirstOrDefault();

            ac.HoraCompleta += cargaHoraria;
            db.SaveChanges();
        }
 private void btnMatricular_Click(object sender, EventArgs e)
 {
     try
     {
         if (GetIndex() >= 0 && GetIndex() < alunos.Count)
         {
             AlunoCurso alunoCurso = new AlunoCurso();
             alunoCurso.Aluno         = alunos[GetIndex()];
             alunoCurso.IDCurso       = curso.IDCurso;
             alunoCurso.DataMatricula = DateTime.Now;
             dbContext.AlunoCurso.Add(alunoCurso);
             dbContext.SaveChanges();
         }
         else
         {
             MessageBox.Show("Selecione alguma linha para executar essa ação.");
         }
     }
     catch (Exception ex)
     {
         MessageBox.Show("Erro ao tentar realizar matricula, detalhes do erro: " + ex.Message);
     }
 }
Пример #9
0
        public ActionResult Detalhes(int Id)
        {
            if (Session["NormalUser"] != null)
            {
                //return RedirectToAction("Login", "Authentication");

                var metodoCurso = new CommandsSQL();
                metodoCurso.ListadId(Id);

                AlunoCurso alunoCurso2 = new AlunoCurso
                {
                    id_user  = Convert.ToInt32(Session["NormalUser"].ToString()),
                    id_curso = Id,
                };
                //Verifica se o usuário já é inscrito no curso
                var retorno = metodoCurso.ValidaCadastroCurso(alunoCurso2);
                //Retorna tela do curso
                var curso = metodoCurso.DetalheCurso(Id);
                if (retorno == null)
                {
                    AlunoCurso IdentificacaoLogin = new AlunoCurso
                    {
                        id_user  = Convert.ToInt32(Session["NormalUser"].ToString()),
                        id_curso = Id,
                    };

                    metodoCurso.CursoAluno(IdentificacaoLogin);
                    return(View(curso));
                }
                else
                {
                    return(View(curso));
                }
            }
            else if (Session["ADMUser"] != null)
            {
                var metodoCurso = new CommandsSQL();
                metodoCurso.ListadId(Id);

                AlunoCurso alunoCurso2 = new AlunoCurso
                {
                    id_user  = Convert.ToInt32(Session["ADMUser"].ToString()),
                    id_curso = Id,
                };
                //Verifica se o usuário já é inscrito no curso
                var retorno = metodoCurso.ValidaCadastroCurso(alunoCurso2);
                //Retorna tela do curso
                var curso = metodoCurso.DetalheCurso(Id);
                if (retorno == null)
                {
                    AlunoCurso IdentificacaoLogin = new AlunoCurso
                    {
                        id_user  = Convert.ToInt32(Session["ADMUser"].ToString()),
                        id_curso = Id,
                    };

                    metodoCurso.CursoAluno(IdentificacaoLogin);
                    return(View(curso));
                }
                else
                {
                    return(View(curso));
                }
            }

            return(RedirectToAction("Login", "Authentication"));
        }
        public object SalvarSolicitacao(SolicitacaoDocumento sol, HttpPostedFileBase uploadFile)
        {
            Usuario user = GetSessionUser();

            string msg = "Erro";

            if (uploadFile == null)
            {
                return(Json(new { Status = false, Type = "error", Message = "Selecione um documento" }, JsonRequestBehavior.AllowGet));
            }

            try
            {
                var edit = true;
                sol.Status       = sol.IdSolicitacao > 0 ? sol.Status : EnumStatusSolicitacao.pendente;
                sol.DataAbertura = DateTime.Now;
                AlunoCurso al = new AlunoCurso();

                if (sol.IdSolicitacao == 0)
                {
                    al = cursoRepository.GetAlunoCurso(User.Identity.Name);

                    sol.IdAlunoCurso    = al.IdAlunoCurso;
                    sol.TipoSolicitacao = EnumTipoSolicitacao.aluno;

                    edit = false;

                    sol.Documento               = new Documento();
                    sol.Documento.arquivo       = DirDoc.converterFileToArray(uploadFile);
                    sol.Documento.NomeDocumento = uploadFile.FileName;
                    sol.Documento.IdAlunoCurso  = sol.IdAlunoCurso;

                    sol.Documento.IdTipoDoc = tipoDocumentoRepository.GetTipoDoc("certificado").IdTipoDoc;

                    string msgDoc = DirDoc.SalvaArquivo(sol.Documento);

                    sol.DataLimite = sol.DataAbertura.AddDays(7);
                    msg            = solicitacaoRepository.PersisteSolicitacao(sol);
                }
                else
                {
                    sol.Documento               = new Documento();
                    sol.Documento.arquivo       = DirDoc.converterFileToArray(uploadFile);
                    sol.Documento.NomeDocumento = uploadFile.FileName;
                    sol.Documento.IdAlunoCurso  = sol.IdAlunoCurso;

                    sol.Documento.IdTipoDoc = tipoDocumentoRepository.GetTipoDoc("certificado").IdTipoDoc;

                    msg = solicitacaoRepository.AlteraDocumento(sol);
                }

                if (msg != "Erro")
                {
                    if (!edit)
                    {
                        try
                        {
                            sol.AlunoCurso = al;
                            var solicitacaoEmail = solicitacaoRepository.ConverToEmailModel(sol, Url.Action("Login", "Account", null, Request.Url.Scheme));

                            var    url      = System.Web.Hosting.HostingEnvironment.MapPath("~/Views/Email/NovaSolicitacaoHoras.cshtml");
                            string viewCode = System.IO.File.ReadAllText(url);

                            var html = RazorEngine.Razor.Parse(viewCode, solicitacaoEmail);

                            var toEmail = new List <Usuario>();
                            var coord   = cursoRepository.GetCoordenadorByCurso(al.IdCurso);
                            toEmail = usuarioRepository.GetUsuariosSecretaria();
                            if (coord != null && coord.Usuario != null)
                            {
                                toEmail.Add(coord.Usuario);
                            }
                            if (toEmail.Any(x => !string.IsNullOrEmpty(x.E_mail)))
                            {
                                var to   = toEmail.Where(x => !string.IsNullOrEmpty(x.E_mail)).Select(x => x.E_mail).ToArray();
                                var from = System.Configuration.ConfigurationManager.AppSettings["MailFrom"].ToString();
                                Email.EnviarEmail(from, to, "Nova solicitação de horas complementares", html);
                            }
                        }
                        catch (Exception e)
                        {
                        }
                    }
                    Utilidades.SalvaLog(user, EnumAcao.Persistir, sol, (sol.IdSolicitacao > 0 ? (int?)sol.IdSolicitacao : null));
                    return(Json(new { Status = true, Type = "success", Message = "Solicitação salva com sucesso", ReturnUrl = Url.Action("Index") }, JsonRequestBehavior.AllowGet));
                }
                else
                {
                    return(Json(new { Status = false, Type = "error", Message = "Ocorreu um erro ao realizar esta operação." }, JsonRequestBehavior.AllowGet));
                }
            }
            catch (Exception e)
            {
                return(Json(new { Status = false, Type = "error", Message = "Ocorreu um erro ao realizar esta operação." }, JsonRequestBehavior.AllowGet));
            }
        }
        public object SalvarSolicitacao(SolicitacaoDocumento sol)
        {
            Usuario user = GetSessionUser();

            var edit = true;

            sol.Status       = sol.IdSolicitacao > 0 ? sol.Status : EnumStatusSolicitacao.pendente;
            sol.DataAbertura = DateTime.Now;
            if (sol.IdSolicitacao == 0)
            {
                sol.IdAlunoCurso = cursoRepository.GetAlunoCurso(sol.AlunoCurso.IdAluno, sol.AlunoCurso.IdCurso).IdAlunoCurso;
            }
            sol.AlunoCurso      = null;
            sol.TipoSolicitacao = EnumTipoSolicitacao.secretaria;
            if (sol.IdSolicitacao == 0)
            {
                edit = false;
                Documento d = new Documento();
                d.IdTipoDoc     = (int)sol.TipoDocumento;
                d.IdAlunoCurso  = sol.IdAlunoCurso;
                d.Data          = sol.DataAbertura;
                d.NomeDocumento = "";

                sol.Documento = d;
            }

            if (ModelState.IsValid)
            {
                try
                {
                    // valida se o aluno está matriculado no curso que coordena
                    if (user.Permissao == EnumPermissaoUsuario.coordenador)
                    {
                        var        cursos = cursoRepository.GetCursoByCoordenador(User.Identity.Name);
                        AlunoCurso ac     = cursoRepository.GetAlunoCurso(sol.IdAlunoCurso);
                        if (!cursos.Contains(ac.Curso))
                        {
                            return(Json(new { Status = false, Type = "error", Message = "Não autorizado!" }, JsonRequestBehavior.AllowGet));
                        }
                    }

                    string msg = solicitacaoRepository.PersisteSolicitacao(sol);

                    if (msg != "Erro")
                    {
                        try
                        {
                            DocumentosModel db2              = new DocumentosModel();
                            var             solicitacao      = db2.SolicitacaoDocumento.Find(sol.IdSolicitacao);
                            var             solicitacaoEmail = solicitacaoRepository.ConverToEmailModel(solicitacao, Url.Action("Login", "Account", null, Request.Url.Scheme));

                            if (edit)
                            {
                                var    url      = System.Web.Hosting.HostingEnvironment.MapPath("~/Views/Email/AlteracaoSolicitacaoDocumento.cshtml");
                                string viewCode = System.IO.File.ReadAllText(url);

                                var html = RazorEngine.Razor.Parse(viewCode, solicitacaoEmail);
                                if (!string.IsNullOrEmpty(solicitacaoEmail.EmailAluno))
                                {
                                    var to   = new[] { solicitacaoEmail.EmailAluno };
                                    var from = System.Configuration.ConfigurationManager.AppSettings["MailFrom"].ToString();
                                    Email.EnviarEmail(from, to, "Alteração em solicitação de documento - " + solicitacaoEmail.NomeTipoDocumento, html);
                                }
                            }
                            else
                            {
                                var    url      = System.Web.Hosting.HostingEnvironment.MapPath("~/Views/Email/NovaSolicitacaoDocumento.cshtml");
                                string viewCode = System.IO.File.ReadAllText(url);

                                var html = RazorEngine.Razor.Parse(viewCode, solicitacaoEmail);
                                if (!string.IsNullOrEmpty(solicitacaoEmail.EmailAluno))
                                {
                                    var to   = new[] { solicitacaoEmail.EmailAluno };
                                    var from = System.Configuration.ConfigurationManager.AppSettings["MailFrom"].ToString();
                                    Email.EnviarEmail(from, to, "Nova solicitação de documento - " + solicitacaoEmail.NomeTipoDocumento, html);
                                }
                            }
                        }
                        catch (Exception e)
                        {
                        }

                        Utilidades.SalvaLog(user, EnumAcao.Persistir, sol, (sol.IdSolicitacao > 0 ? (int?)sol.IdSolicitacao : null));
                        return(Json(new { Status = true, Type = "success", Message = "Solicitação salva com sucesso", ReturnUrl = Url.Action("Index") }, JsonRequestBehavior.AllowGet));
                    }
                    else
                    {
                        return(Json(new { Status = false, Type = "error", Message = "Ocorreu um erro ao realizar esta operação." }, JsonRequestBehavior.AllowGet));
                    }
                }
                catch (Exception e)
                {
                    return(Json(new { Status = false, Type = "error", Message = "Ocorreu um erro ao realizar esta operação." }, JsonRequestBehavior.AllowGet));
                }
            }
            else
            {
                return(Json(new { Status = false, Type = "error", Message = "Campos inválidos" }, JsonRequestBehavior.AllowGet));
            }
        }