protected void NewAuthorParameters(SqlCommand cmd, Submissao s) { cmd.Parameters.Add(new SqlParameter("@idArtigo", s.IDArtigo)); cmd.Parameters.Add(new SqlParameter("@email", s.EmailAutor)); cmd.Parameters.Add(new SqlParameter("@responsavel", s.Responsavel)); cmd.Parameters.Add(new SqlParameter("@nomeConferencia", s.NomeConferencia)); cmd.Parameters.Add(new SqlParameter("@anoConferencia", s.AnoConferencia)); }
public void AssignAuthorRole() { Console.WriteLine("\nFILL THE FIELDS: <ARTICLE ID> <USER EMAIL> <RESPONSIBLE (0/1)> <CONFERENCE NAME> <CONFERENCE YEAR>"); string[] parameters = Console.ReadLine().Split(' '); if (parameters.Length == 5) { using (var ts = new TransactionScope()) { using (EntityConnection cn = new EntityConnection(connectionStringName)) { try { using (var ctx = new ConferenceManagerEntities()) { int idArtigo = Int32.Parse(parameters[0]); string emailUtilizador = parameters[1]; bool responsavel = false; if (parameters[2].Equals("1")) { responsavel = true; } string nomeConferencia = parameters[3]; int anoConferencia = Int32.Parse(parameters[4]); ctx.AtribuirPapelAutor(idArtigo, emailUtilizador, responsavel, nomeConferencia, anoConferencia); Submissao subm = ctx.Submissaos.Find(idArtigo, emailUtilizador, nomeConferencia, anoConferencia); if (subm != null) { ctx.Entry(subm).State = EntityState.Modified; ctx.SaveChanges(); ts.Complete(); Console.WriteLine($"NEW AUTHOR: {subm.emailAutor.ToString()}"); } } } catch (Exception e) { if (e.InnerException != null) { Console.WriteLine(e.InnerException.Message); } else { Console.WriteLine(e.Message); } } } } Console.WriteLine($"\n{pressAnyKeyForANewCommandMessage}\n"); } else { Console.WriteLine(invalidNumberOfArgumentsMessage); } }
protected override Submissao Map(IDataRecord record) { Submissao s = new Submissao(); s.IDArtigo = record.GetInt32(0); s.EmailAutor = record.GetString(1); s.Responsavel = record.GetBoolean(2); s.NomeConferencia = record.GetString(3); s.AnoConferencia = record.GetInt32(4); return(s); }
protected override Submissao UpdateEntityKey(IDbCommand command, Submissao s) { var idArtigoUpdateKey = command.Parameters["@idArtigo"] as SqlParameter; var emailAutorUpdateKey = command.Parameters["@emailAutor"] as SqlParameter; var nomeConferenciaUpdateKey = command.Parameters["@nomeConferencia"] as SqlParameter; var anoConferenciaUpdateKey = command.Parameters["@anoConferencia"] as SqlParameter; s.IDArtigo = int.Parse(idArtigoUpdateKey.Value.ToString()); s.EmailAutor = emailAutorUpdateKey.Value.ToString(); s.NomeConferencia = nomeConferenciaUpdateKey.Value.ToString(); s.AnoConferencia = int.Parse(anoConferenciaUpdateKey.Value.ToString()); return(s); }
public Alerta Alerta(Submissao submissao, string msg, bool destino = false) { var result = _eventoRepository.ObterPorId(submissao.EventoId); Alerta alerta = new Alerta { Messagem = msg, ParticipanteId = submissao.ParticipanteId, ComissaoCientificaId = result.ComissaoCientificaId, ComissaoOrganizadoraId = result.ComissaoOrganizadoraId, Destino = destino, Tipo = "Submissao" }; return(alerta); }
public IActionResult Alerta(Submissao submissao) { var result = _eventoRepository.ObterPorId(submissao.EventoId); Alerta alerta = new Alerta { Messagem = "Fez uma nova submissão", ParticipanteId = submissao.ParticipanteId, ComissaoCientificaId = result.ComissaoCientificaId, ComissaoOrganizadoraId = result.ComissaoOrganizadoraId, Destino = false }; _alertaRepository.Adicionar(alerta); return(RedirectToAction("Listar", "Submissao", new { msg = "Submissão criada." })); }
private SubmissaoViewModel Submeter(int id) { Submissao submissao = _submissaoRepository.ObterPorId(id); return(new SubmissaoViewModel { SubmissaoId = submissao.SubmissaoId, Titulo = submissao.Titulo, Descricao = submissao.Descricao, TipoId = submissao.TipoId, ParticipanteId = SessionId(), EventoId = submissao.EventoId, Ficheiro = submissao.Ficheiro }); }
public ActionResult Delete(int id, Submissao collection) { try { // TODO: Add delete logic here //DeleteFile(collection.Ficheiro); var result = _submissaoRepository.ObterPorId(collection.SubmissaoId); _submissaoRepository.Remover(result); return(RedirectToAction(nameof(Index))); } catch { return(View()); } }
public ActionResult Aprovar(string [] aprovar, string aprovado) { string status = null; string [] destino = null; Participante participante = null; Submissao result = null; bool state = false; int id = -1; if (aprovar != null) { foreach (var sId in aprovar) { id = int.Parse(sId); result = _submissaoRepository.ObterPorId(id); if (aprovado != null) { result.Status = "Aprovado"; } else { result.Status = "Aprovado com Revisão"; } status = result.Status; id = result.EventoId; _submissaoRepository.Actualizar(result); _alertaRepository.Adicionar(Alerta(result, "Resultado de avaliacão disponível para a submissão: " + result.Titulo, true)); participante = _participanteRepository.ObterPorId(result.ParticipanteId); var msg = $"Olá, {participante.Nome}. <br><br> A sua submissão: {result.Titulo} foi {result.Status}."; var message = new Message(new string[] { participante.Email }, "Resultado de Submissão", msg, null); if (Notificar(message)) { state = true; } } } if (aprovado != null && state) { return(RedirectToAction("Index", new { id = id, msg = $"Submissão(ões) Aprovado(s)" })); } return(RedirectToAction("Index", new { id = id, msg = $"Submissão(ões) Aprovado(s) com Revisão" })); }
protected override void InsertParameters(IDbCommand command, Submissao s) { SqlParameter idArtigoInsertUpdate = new SqlParameter("@idArtigo", s.IDArtigo); SqlParameter emailAutorInsertUpdate = new SqlParameter("@emailAutor", s.EmailAutor); SqlParameter responsavelInsertUpdate = new SqlParameter("@responsavel", s.Responsavel); SqlParameter nomeConferenciaInsertUpdate = new SqlParameter("@nomeConferencia", s.NomeConferencia); SqlParameter anoConferenciaInsertUpdate = new SqlParameter("@anoConferencia", s.AnoConferencia); /*p1.Direction = ParameterDirection.InputOutput; * if (s.IDArtigo != null) * p1.Value = s.IDArtigo; * else * p1.Value = DBNull.Value; */ command.Parameters.Add(idArtigoInsertUpdate); command.Parameters.Add(emailAutorInsertUpdate); command.Parameters.Add(responsavelInsertUpdate); command.Parameters.Add(nomeConferenciaInsertUpdate); command.Parameters.Add(anoConferenciaInsertUpdate); }
public void AssignAuthorRole() { ctx.Open(); Console.WriteLine("\nFILL THE FIELDS: <ARTICLE ID> <USER EMAIL> <RESPONSIBLE(0/1)> <CONFERENCE NAME> <CONFERENCE YEAR>"); string[] parameters = Console.ReadLine().Split(' '); Submissao s = new Submissao(); if (parameters.Length == 5) { s.IDArtigo = Int32.Parse(parameters[0]); s.EmailAutor = parameters[1]; if (parameters[2] == "1") { s.Responsavel = true; } else { s.Responsavel = false; } s.NomeConferencia = parameters[3]; s.AnoConferencia = Int32.Parse(parameters[4]); sm.ExecNewAuthor(ctx, s); foreach (var autor in ctx.Submissoes.Find(rev => ((rev.IDArtigo == Int32.Parse(parameters[0])) && (rev.EmailAutor == parameters[1]) && (rev.NomeConferencia == parameters[3]) && (rev.AnoConferencia == Int32.Parse(parameters[4]))))) { Console.WriteLine($"{autor.EmailAutor} IS NOW AN AUTHOR"); } Console.WriteLine($"\n{pressAnyKeyForANewCommandMessage}\n"); } else { Console.WriteLine(invalidNumberOfArgumentsMessage); } ctx.Dispose(); }
public void ExecNewAuthor(Context ctx, Submissao s) { using (TransactionScope tran = new TransactionScope()) { try { using (SqlCommand cmd = ctx.createCommand()) { //SqlTransaction transaction = con.BeginTransaction(System.Data.IsolationLevel.ReadUncommitted); cmd.CommandText = NewAuthorText; cmd.CommandType = CommandType.StoredProcedure; NewAuthorParameters(cmd, s); cmd.ExecuteNonQuery(); cmd.Parameters.Clear(); Console.WriteLine("OPERAÇÃO CONCLUÍDA COM SUCESSO! ESTA CONFERÊNCIA FOI ATUALIZADA."); tran.Complete(); } } catch (SqlException exception) { Console.WriteLine(exception.Message); } } }
public void Actualizar(Submissao entity) { _submissaoRository.Actualizar(entity); }
public Submissao Adicionar(Submissao entity) { return(_submissaoRository.Adicionar(entity)); }
protected override void UpdateParameters(IDbCommand command, Submissao s) => InsertParameters(command, s);
public void Remover(Submissao entity) { _submissaoRository.Remover(entity); }
protected override void DeleteParameters(IDbCommand command, Submissao s) => SelectParameters(command, new Tuple <int, string, string, int>(s.IDArtigo, s.EmailAutor, s.NomeConferencia, s.AnoConferencia));
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()); } }