public ActionResult Edit(int id, SubmissaoViewModel submeterFicheiro) { string[] destino = null; try { // TODO: Add update logic here if (submeterFicheiro.File != null) { var fileName = UploadFile(submeterFicheiro); submeterFicheiro.Ficheiro = fileName; } _submissaoRepository.Actualizar(Submissao(submeterFicheiro)); bool state = false; var evento = _eventoRepository.ObterPorId(submeterFicheiro.EventoId); if (evento != null) { var result2 = _membroCientificoRepository.ObterPorComissao(evento.ComissaoCientificaId, true); foreach (var item in result2) { var msg = $"Olá, { item.Membro.Nome}. <br><br> { _participanteRepository.ObterPorId(SessionId()).Nome } " + $"actualizou a submissão: {submeterFicheiro.Titulo}. <br> Em enexo o documento."; var message = new Message(new string[] { item.Membro.Email }, "Nova Submissão", msg, submeterFicheiro.File); if (Notificar(message)) { state = true; } } } if (state) { return(RedirectToAction("Listar", new { msg = "Submissão actualizada." })); } else { ModelState.AddModelError(string.Empty, "Erro ao notificar a comissão científica."); } PreencherCombobox(); return(View(submeterFicheiro)); } catch { PreencherCombobox(); return(View(submeterFicheiro)); } }
private string UploadFile(SubmissaoViewModel submeterFicheiro) { if (submeterFicheiro.File != null) { var uplodasFolder = Path.Combine(_webHostEnvironment.WebRootPath, "Submissoes"); var fileName = Guid.NewGuid().ToString() + "_" + Path.GetFileName(submeterFicheiro.File.FileName); var filePath = Path.Combine(uplodasFolder, fileName); submeterFicheiro.File.CopyTo(new FileStream(filePath, FileMode.Create)); return(fileName); } return(null); }
private Submissao Submissao(SubmissaoViewModel submeterFicheiro) { return(new Submissao { SubmissaoId = submeterFicheiro.SubmissaoId, Titulo = submeterFicheiro.Titulo, Descricao = submeterFicheiro.Descricao, Ficheiro = submeterFicheiro.Ficheiro, TipoId = submeterFicheiro.TipoId, ParticipanteId = SessionId(), EventoId = submeterFicheiro.EventoId }); }
public ActionResult Create(SubmissaoViewModel collection) { try { // TODO: Add insert logic here //string [] destino = null; if (ModelState.IsValid) { if (collection.File != null) { var fileName = UploadFile(collection); Submissao submissao = new Submissao { Titulo = collection.Titulo, Descricao = collection.Descricao, Ficheiro = fileName, TipoId = collection.TipoId, ParticipanteId = SessionId(), EventoId = collection.EventoId }; var _result = _submissaoRepository.Adicionar(submissao); if (_result != null) { bool state = false; var alert = _alertaRepository.Adicionar(Alerta(_result, "Fez uma nova submissão")); if (alert != null) { var evento = _eventoRepository.ObterPorId(_result.EventoId); if (evento != null) { var result2 = _membroCientificoRepository.ObterPorComissao(evento.ComissaoCientificaId, true); if (result2 != null) { foreach (var item in result2) { var msg = $"Olá { item.Membro.Nome}. <br><br> { _participanteRepository.ObterPorId(SessionId()).Nome } " + $"fez uma nova submissão no evento: {evento.Titulo}. <br> Em enexo o documento."; var message = new Message(new string[] { item.Membro.Email }, "Nova Submissão", msg, collection.File); if (Notificar(message)) { state = true; } } } } if (state) { return(RedirectToAction("Listar", new { msg = "Submissão criada." })); } else { ModelState.AddModelError(string.Empty, "Erro ao notificar a comissão científica."); } } } } } PreencherCombobox(); return(View(collection)); } catch { PreencherCombobox(); return(View()); } }