Ejemplo n.º 1
0
        public async Task <IActionResult> AddOrEdit(string OrientadorId, [Bind("TccId,Tema,UsuarioId,DataDeCadastro")] Tcc tcc)
        {
            if (ModelState.IsValid)
            {
                if (tcc.TccId == 0)
                {
                    tcc.DataDeCadastro = DateTime.Now;
                    tcc.Status         = _context.Status.Where(x => x.DescStatus.Contains("Cadastrado")).FirstOrDefault();
                    _context.Add(tcc);
                    await _context.SaveChangesAsync();

                    //Adiconarndo o orientador a Banca
                    Banca banca = new Banca();
                    banca.Tcc            = tcc;
                    banca.TipoUsuario    = _context.TipoUsuario.Where(x => x.TipoUsuarioId == 7).Single();
                    banca.Usuario        = _context.Usuario.Where(x => x.Id == OrientadorId).Single();
                    banca.DataDeCadastro = DateTime.Now;
                    _context.Add(banca);
                    await _context.SaveChangesAsync();

                    //*****************
                    var discente = _context.Usuario.Where(x => x.Id == tcc.UsuarioId).FirstOrDefault();
                    _senderEmail.NotificarDiscenteCadastroTCCViaEmail(discente, tcc.Tema);
                }
                else
                {
                    tcc.StatusId = _context.Tccs.Where(x => x.TccId == tcc.TccId).Select(x => x.StatusId).FirstOrDefault();
                    _context.Update(tcc);
                    await _context.SaveChangesAsync();

                    //Adiconarndo o orientador a Banca
                    Banca banca = _context.Banca.Where(x => x.Tcc.TccId == tcc.TccId && x.TipoUsuario.TipoUsuarioId == 7).Single();
                    banca.Tcc            = tcc;
                    banca.TipoUsuario    = _context.TipoUsuario.Where(x => x.TipoUsuarioId == 7).Single();
                    banca.Usuario        = _context.Usuario.Where(x => x.Id == OrientadorId).Single();
                    banca.DataDeCadastro = DateTime.Now;
                    _context.Update(banca);
                    await _context.SaveChangesAsync();

                    //*****************
                }

                return(RedirectToAction(nameof(Index)));
            }
            return(View(tcc));
        }
Ejemplo n.º 2
0
        public async Task <IActionResult> AddOrEdit(string idOrientador, [Bind("TccId,IdCurso, Tema,UsuarioId,DataDeCadastro")] Tcc tcc)
        {
            if (ModelState.IsValid)
            {
                var c   = _context.Cursos.Find(tcc.IdCurso);
                var dis = _context.Usuario.Where(u => u.Id == tcc.UsuarioId && u.IdCurso == tcc.IdCurso).ToList();
                var or  = _context.Usuario.Where(u => u.Id == idOrientador && u.IdCurso == tcc.IdCurso).ToList();
                if (dis.Count == 0 || or.Count == 0)
                {
                    ModelState.AddModelError(string.Empty, "Os dados Informados são inválidos.");
                    if (tcc.TccId == 0)
                    {
                        return(AddOrEdit(0));
                    }
                    return(AddOrEdit(tcc.TccId));
                }

                if (tcc.TccId == 0)
                {
                    tcc.DataDeCadastro = DateTime.Now;
                    tcc.Status         = _context.Status.Where(x => x.DescStatus.Contains("Cadastrado")).FirstOrDefault();
                    _context.Add(tcc);
                    await _context.SaveChangesAsync();

                    //Adiconarndo o orientador a Banca
                    Banca banca = new Banca();
                    banca.Tcc         = tcc;
                    banca.TipoUsuario = _context
                                        .TipoUsuario
                                        .Where(x => x.DescTipo.ToLower().Equals("orientador"))
                                        .Single();
                    banca.Usuario        = _context.Usuario.Where(x => x.Id == idOrientador).Single();
                    banca.DataDeCadastro = DateTime.Now;
                    _context.Add(banca);

                    _context.LogAuditoria.Add(
                        new LogAuditoria
                    {
                        EmailUsuario      = User.Identity.Name,
                        Ip                = Request.HttpContext.Connection.RemoteIpAddress.ToString(),
                        Date              = DateTime.Now.ToLongDateString(),
                        DetalhesAuditoria = "Cadastrou o TCC",
                        IdItem            = tcc.TccId.ToString()
                    });

                    await _context.SaveChangesAsync();

                    //*****************
                    var discente = _context.Usuario.Where(x => x.Id == tcc.UsuarioId).FirstOrDefault();
                    _senderEmail.NotificarDiscenteCadastroTCCViaEmail(discente, tcc.Tema);
                }
                else
                {
                    tcc.StatusId = _context.Tccs.Where(x => x.TccId == tcc.TccId).Select(x => x.StatusId).FirstOrDefault();
                    _context.Update(tcc);
                    await _context.SaveChangesAsync();

                    //Adiconarndo o orientador a Banca
                    Banca banca = _context.Banca.Where(x => x.Tcc.TccId == tcc.TccId).First();
                    banca.Tcc            = tcc;
                    banca.TipoUsuario    = _context.TipoUsuario.Where(x => x.DescTipo.ToLower().Equals("orientador")).Single();
                    banca.Usuario        = _context.Usuario.Where(x => x.Id == idOrientador).Single();
                    banca.DataDeCadastro = DateTime.Now;
                    _context.Update(banca);

                    _context.LogAuditoria.Add(
                        new LogAuditoria
                    {
                        EmailUsuario      = User.Identity.Name,
                        Ip                = Request.HttpContext.Connection.RemoteIpAddress.ToString(),
                        Date              = DateTime.Now.ToLongDateString(),
                        DetalhesAuditoria = "Atualizou o TCC",
                        IdItem            = tcc.TccId.ToString()
                    });


                    await _context.SaveChangesAsync();

                    //*****************
                }

                return(RedirectToAction(nameof(Index)));
            }
            return(View(tcc));
        }