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); }
//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); } }
//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)); }
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); }
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); }
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); } }
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)); } }