public async Task <IActionResult> Edit(Guid id, [Bind("Id,Name,Extension,DataCadastro,Length,FileStream,TccId")] FileTCC fileTCC) { if (id != fileTCC.Id) { return(NotFound()); } if (ModelState.IsValid) { try { _context.Update(fileTCC); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!FileTCCExists(fileTCC.Id)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } ViewData["TccId"] = new SelectList(_context.Tccs, "TccId", "Tema", fileTCC.TccId); return(View(fileTCC)); }
public async Task <IActionResult> AddDataLocalApresentacao(Tcc tccAtualizado, IList <int> checkNotificaMembrosBanca) { Tcc tcc = _context.Tccs.Where(x => x.TccId == tccAtualizado.TccId).FirstOrDefault(); Calendario calendarioAtivo = _context.Calendario.Where(x => x.Ativo == true).FirstOrDefault(); if (tccAtualizado.DataApresentacao == null) { TempData["Error"] = "Favor, informe a data de apresentação."; } else if (tccAtualizado.DataApresentacao.Value.Date < calendarioAtivo.DataInicio.Date || tccAtualizado.DataApresentacao.Value.Date > calendarioAtivo.DataFim.Date) { TempData["Error"] = "Data de apresentação inválida! Favor, informe uma data entre " + calendarioAtivo.DataInicio.ToString("dd/MM/yyyy") + " à " + calendarioAtivo.DataFim.ToString("dd/MM/yyyy") + "."; } else if (tccAtualizado.LocalApresentacao == null) { TempData["Error"] = "Favor, informe o local da apresentação."; } else if (ModelState.IsValid) { tcc.DataApresentacao = tccAtualizado.DataApresentacao; tcc.LocalApresentacao = tccAtualizado.LocalApresentacao; tcc.StatusId = _context.Status.Where(x => x.DescStatus.Contains("Homologado Banca")).Select(x => x.StatusId).FirstOrDefault(); _context.Update(tcc); await _context.SaveChangesAsync(); TempData["Success"] = "Banca homologada com sucesso"; if (checkNotificaMembrosBanca.Count > 0) { tcc.Usuario = _context.Usuario.Where(x => x.Id == tccAtualizado.UsuarioId).FirstOrDefault(); List <Banca> banca = _context.Banca.Where(x => x.TccId == tcc.TccId).ToList(); FileTCC file = _context.FileTCC.Where(f => f.TccId == tcc.TccId).OrderByDescending(f => f.DataCadastro).FirstOrDefault(); foreach (Banca item in banca) { _senderEmail.NotificarMembrosBancaViaEmail(tcc, _context.Usuario.Where(x => x.Id == item.UsuarioId).FirstOrDefault(), file.Id.ToString()); } _senderEmail.NotificarMembrosBancaViaEmail(tcc, tcc.Usuario, file.Id.ToString()); TempData["Success"] += " e enviada notificação via e-mail para os membros da banca"; } TempData["Success"] += "."; return(RedirectToAction("Index", "Bancas", new { area = "" })); } if (tccAtualizado.TccId != 0) { tcc.Usuario = _context.Usuario.Where(x => x.Id == tccAtualizado.UsuarioId).FirstOrDefault(); Banca bancaOrientador = _context.Banca.Where(x => x.TccId == tccAtualizado.TccId && x.TipoUsuario.DescTipo.ToLower().Equals("orientador")).FirstOrDefault(); ViewBag.Orientador = _context.Usuario.Where(x => x.Id == bancaOrientador.UsuarioId).FirstOrDefault(); ViewBag.CalendarioAtivo = _context.Calendario.Where(x => x.Ativo == true).FirstOrDefault(); } return(View(tcc)); }
public async Task <IActionResult> Create([Bind("Id,Name,Extension,DataCadastro,Length,FileStream,TccId")] FileTCC fileTCC) { if (ModelState.IsValid) { fileTCC.Id = Guid.NewGuid(); _context.Add(fileTCC); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } ViewData["TccId"] = new SelectList(_context.Tccs, "TccId", "Tema", fileTCC.TccId); return(View(fileTCC)); }
public async Task <IActionResult> SaveFile(List <IFormFile> arquivos, int TccId) { var arquivo = arquivos.First(); var fileBinary = new byte[arquivo.Length]; using (var stream = arquivo.OpenReadStream()) { stream.Read(fileBinary, 0, fileBinary.Length); } var fileSample = new FileTCC { Id = Guid.NewGuid(), Name = arquivo.FileName, Extension = arquivo.ContentType,//"pdf", DataCadastro = DateTime.Now, Length = arquivo.Length, FileStream = fileBinary, TccId = TccId }; _context.Add(fileSample); await _context.SaveChangesAsync(); Tcc tcc = _context.Tccs.Where(x => x.TccId == TccId).FirstOrDefault(); tcc.Status = _context.Status.Where(x => x.StatusId == tcc.StatusId).FirstOrDefault(); List <FileTCC> filesTcc = _context.FileTCC.Where(x => x.TccId == TccId).ToList(); if (tcc.Status.DescStatus.ToLower().Equals("cadastrado") && tcc.Resumo != null && !tcc.Resumo.Equals("") && filesTcc != null && filesTcc.Count > 0) { tcc.StatusId = _context.Status.Where(x => x.DescStatus.ToLower().Contains("pré-homologado")).Select(x => x.StatusId).FirstOrDefault(); _context.Update(tcc); await _context.SaveChangesAsync(); } //return RedirectToAction("Index"); ViewBag.TccId = TccId; return(View("Anexo", _context.FileTCC.Where(f => f.TccId == TccId))); }