public Task <int> InserirLogAsync(TipoOperacoesConcursoEnum tipoAlteracao, int idEmployee, params object[] dados)
 {
     return(Task.Factory.StartNew(() =>
     {
         using (var ctx = new DesenvContext())
         {
             var log = new tblLogOperacoesConcurso();
             log.dteDataAlteracao = DateTime.Now;
             log.intQuestaoID = default(int);
             log.intEmployeeID = idEmployee;
             log.txtDescricao = string.Format(tipoAlteracao.GetDescription(), dados);
             ctx.tblLogOperacoesConcurso.Add(log);
             return ctx.SaveChanges();
         }
     }));
 }
        public Task <int> SetLogQuestaoAsync(int questaoId, int employeeID, TipoOperacoesConcursoEnum tipoAlteracao, AndamentoCadastroQuestao andamentoCadastroQuestao)
        {
            return(new Task <int>(() =>
            {
                using (var ctx = new DesenvContext())
                {
                    var log = new tblLogOperacoesConcurso();
                    log.dteDataAlteracao = DateTime.Now;
                    log.intEmployeeID = employeeID;
                    log.intQuestaoID = questaoId;
                    log.txtDescricao = tipoAlteracao.GetDescription();
                    log.intAndamentoCadastro = (int)andamentoCadastroQuestao;

                    ctx.tblLogOperacoesConcurso.Add(log);

                    return ctx.SaveChanges();
                }
            }));
        }
        public Task <int> SetLogAlteracaoPerfilAsync(int employeeID, TipoOperacoesConcursoEnum tipoAlteracao, string perfil, int colaboradorID)
        {
            return(new Task <int>(() =>
            {
                using (var ctx = new DesenvContext())
                {
                    var colaborador = ctx.tblEmployees.SingleOrDefault(x => x.intEmployeeID == colaboradorID);

                    var log = new tblLogOperacoesConcurso();
                    log.dteDataAlteracao = DateTime.Now;
                    log.intEmployeeID = employeeID;
                    log.intProvaID = null;
                    log.txtDescricao = string.Format(tipoAlteracao.GetDescription(), colaborador.txtLogin, perfil);
                    log.intAndamentoCadastro = null;

                    ctx.tblLogOperacoesConcurso.Add(log);

                    return ctx.SaveChanges();
                }
            }));
        }