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));
 }
Beispiel #2
0
        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);
        }
Beispiel #5
0
        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);
        }
Beispiel #6
0
        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." }));
        }
Beispiel #7
0
        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
            });
        }
Beispiel #8
0
        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());
            }
        }
Beispiel #9
0
        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);
         }
     }
 }
Beispiel #13
0
 public void Actualizar(Submissao entity)
 {
     _submissaoRository.Actualizar(entity);
 }
Beispiel #14
0
 public Submissao Adicionar(Submissao entity)
 {
     return(_submissaoRository.Adicionar(entity));
 }
 protected override void UpdateParameters(IDbCommand command, Submissao s) => InsertParameters(command, s);
Beispiel #16
0
 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));
Beispiel #18
0
        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());
            }
        }