Ejemplo n.º 1
0
 /// <summary>
 /// Métodos responsável por buscar um cronograma pelo Oid.
 /// </summary>
 /// <param name="session">Sessão corrente</param>
 /// <param name="oidCronograma">Oid do Cronograma (ID)</param>
 /// <returns>Objeto Cronograma</returns>
 public static Cronograma ConsultarCronogramaPorOid(Guid oidCronograma, params Expression <Func <Cronograma, object> >[] includes)
 {
     using (WexDb contexto = ContextFactoryManager.CriarWexDb())
     {
         return(ConsultarCronogramaPorOid(contexto, oidCronograma, includes));
     }
 }
        /// <summary>
        /// Consulta os dados de um projeto por Id
        /// </summary>
        /// <param name="IdProjeto">Id do projeto</param>
        /// <returns>Projeto DTO</returns>
        public DadosBasicoProjetoDto DadosProjeto(Guid IdProjeto)
        {
            WexDb   db      = ContextFactoryManager.CriarWexDb();
            Projeto projeto = ProjetoDao.Instancia.ConsultarProjetoPorGuid(db, IdProjeto);

            return(CriarProjetoDto(projeto));
        }
Ejemplo n.º 3
0
        /// <summary>
        /// Método responsável por salvar um novo cronograma
        /// </summary>
        /// <param name="cronograma"></param>
        /// <returns></returns>
        public static bool SalvarCronograma(Cronograma cronograma)
        {
            try
            {
                using (var contexto = ContextFactoryManager.CriarWexDb())
                {
                    var cronogramaSelecionado = ConsultarCronogramaPorOid(cronograma.Oid);

                    if (cronogramaSelecionado == null)
                    {
                        contexto.Cronograma.Add(cronograma);
                    }
                    else
                    {
                        cronogramaSelecionado.OidSituacaoPlanejamento = cronograma.OidSituacaoPlanejamento;
                        cronogramaSelecionado.DtInicio = cronograma.DtInicio;
                        cronogramaSelecionado.DtFinal  = cronograma.DtFinal;
                        contexto.Entry(cronogramaSelecionado).State = EntityState.Modified;
                    }

                    contexto.SaveChanges();
                    return(true);
                }
            }
            catch (Exception)
            {
                return(false);
            }
        }
Ejemplo n.º 4
0
 /// <summary>
 /// Método responsável por buscar todos os cronogramas no banco
 /// É usado pelo serviço quando solicitado pela tela de cronograma
 /// </summary>
 /// <param name="contexto">Contexto do banco</param>
 /// <returns>Uma coleção com os cronogramas</returns>
 public static List <Cronograma> ConsultarCronogramas()
 {
     using (WexDb contexto = ContextFactoryManager.CriarWexDb())
     {
         return(contexto.Cronograma.Include(o => o.SituacaoPlanejamento).OrderBy(o => o.TxDescricao).Where(o => !o.CsExcluido).ToList());
     }
 }
 /// <summary>
 /// Consultar situações inativas.
 /// </summary>
 ///
 /// <returns>Coleção de Situações Planejamento Inativas</returns>
 public static List <WexProject.BLL.Entities.Planejamento.SituacaoPlanejamento> ConsultarSituacoesInativas()
 {
     using (WexDb contexto = ContextFactoryManager.CriarWexDb())
     {
         return(contexto.SituacaoPlanejamento.Where(o => (int)o.CsSituacao == (int)CsTipoSituacaoPlanejamento.Inativo).ToList());
     }
 }
Ejemplo n.º 6
0
 public static void SalvarUltimoCronogramaSelecionado(string login, Guid oidCronograma)
 {
     using (WexDb contexto = ContextFactoryManager.CriarWexDb())
     {
         CronogramaUltimaSelecaoDao.SalvarUltimoCronogramaSelecionado(contexto, login, oidCronograma);
     }
 }
 /// <summary>
 /// Consultar Situação Planejamento por Tipo.
 /// </summary>
 /// <param name="tipo">Tipo da situação</param>
 /// <returns>Situação Planejamento</returns>
 public static WexProject.BLL.Entities.Planejamento.SituacaoPlanejamento ConsultarSituacaoPorTipo(CsTipoPlanejamento tipo)
 {
     using (WexDb contexto = ContextFactoryManager.CriarWexDb())
     {
         return(contexto.SituacaoPlanejamento.FirstOrDefault(o => o.CsSituacao == CsTipoSituacaoPlanejamento.Ativo && o.CsTipo == tipo));
     }
 }
Ejemplo n.º 8
0
 /// <summary>
 /// Selecionar um colaborador pelo oid
 /// </summary>
 /// <param name="oidColaborador"></param>
 /// <returns></returns>
 public static Colaborador ConsultarColaborador(Guid oidColaborador, params Expression <Func <Colaborador, object> >[] includes)
 {
     using (WexDb contexto = ContextFactoryManager.CriarWexDb())
     {
         return(contexto.Colaboradores.MultiploInclude(includes).FirstOrDefault(o => o.Oid == oidColaborador));
     }
 }
        /// <summary>
        /// Método responsável por carregar o total de horas realizadas até a data estipulada
        /// </summary>
        /// <param name="oidCronograma">oid de identificação do cronograma selecionado</param>
        /// <returns>retorna o total de horas planejadas </returns>
        public static Dictionary <DateTime, double> ConsultarTotalHorasRealizadasCronograma(Guid oidCronograma, DateTime dataInicio, DateTime dataFinal)
        {
            using (WexDb contexto = ContextFactoryManager.CriarWexDb())
            {
                var historicos = contexto.CronogramaTarefa
                                 .Where(o => o.OidCronograma == oidCronograma && !o.CsExcluido && !o.Tarefa.CsExcluido)
                                 .Join(contexto.TarefaHistoricoEstimativa, ct => ct.OidTarefa,
                                       th => th.OidTarefa,
                                       (c, t) => t)
                                 .ToList();

                var datas = historicos.Where(o => o.DtPlanejado.Date >= dataInicio.Date).Select(o => o.DtPlanejado.Date).Distinct().OrderBy(o => o).ToList();
                Dictionary <DateTime, double> somatorios = new Dictionary <DateTime, double>();
                foreach (var data in datas)
                {
                    if (data.Date > DateUtil.ConsultarDataHoraAtual().Date)
                    {
                        break;
                    }
                    double soma = 0;
                    soma = historicos.Where(o => o.DtPlanejado.Date <= data.Date)
                           .OrderByDescending(o => o.DtPlanejado)
                           .ToLookup(o => o.OidTarefa)
                           .Select(o => o.FirstOrDefault())
                           .ToList()
                           .Sum(o => o.NbHoraRestante);
                    somatorios.Add(data, soma);
                }
                return(somatorios);
            }
        }
 /// <summary>
 /// Método responsável por buscar uma situação planejamento pelo Oid.
 /// </summary>
 /// <param name="oidSituacaoPlanejamento">Oid da situação planejamento</param>
 /// <returns>Situação Planejamento</returns>
 public static WexProject.BLL.Entities.Planejamento.SituacaoPlanejamento ConsultarSituacaoPlanejamentoPorOid(Guid oidSituacaoPlanejamento)
 {
     using (WexDb contexto = ContextFactoryManager.CriarWexDb())
     {
         return(contexto.SituacaoPlanejamento.FirstOrDefault(o => o.Oid == oidSituacaoPlanejamento));
     }
 }
        /// <summary>
        /// Método responsável por carregar o total de horas planejadas para o cronograma por oid
        /// </summary>
        /// <param name="oidCronograma">oid de identificação do cronograma selecionado</param>
        /// <returns>retorna o total de horas planejadas </returns>
        public static double ConsultarTotalHorasPlanejadasCronograma(Guid oidCronograma)
        {
            using (WexDb contexto = ContextFactoryManager.CriarWexDb())
            {
                var cronograma = CronogramaDao.ConsultarCronogramaPorOid(contexto, oidCronograma);

                if (cronograma == null)
                {
                    return(0);
                }

                return((from cronogramaTarefa in contexto.CronogramaTarefa
                        join historicoEstimativa in contexto.TarefaHistoricoEstimativa
                        on cronogramaTarefa.OidTarefa equals historicoEstimativa.OidTarefa
                        where cronogramaTarefa.OidCronograma == oidCronograma &&
                        historicoEstimativa.DtPlanejado.Year <= cronograma.DtInicio.Year &&
                        ((historicoEstimativa.DtPlanejado.Month < cronograma.DtInicio.Month) || (historicoEstimativa.DtPlanejado.Month <= cronograma.DtInicio.Month && historicoEstimativa.DtPlanejado.Day <= cronograma.DtInicio.Day)) &&
                        !cronogramaTarefa.CsExcluido && !cronogramaTarefa.Tarefa.CsExcluido
                        orderby historicoEstimativa.DtPlanejado descending
                        select historicoEstimativa)
                       .ToList()
                       .GroupBy(historicoEstimativa => historicoEstimativa.OidTarefa)
                       .Select(historicoEstimativa => historicoEstimativa.FirstOrDefault())
                       .Sum(historicoEstimativa => (double?)historicoEstimativa.NbHoraRestante) ?? 0);
            }
        }
Ejemplo n.º 12
0
        public ColaboradorDto ConsultarColaboradorPorGuid(Guid IdColaborador)
        {
            WexDb       db          = ContextFactoryManager.CriarWexDb();
            Colaborador colaborador = ColaboradorDAO.Instancia.ConsultarColaboradorPorGuid(db, IdColaborador);

            return(ParseDto(colaborador));
        }
 /// <summary>
 /// Método responsável por ConsultarIncluindoRelacionamentos um objeto CronogramaTarefa pelo Oid do Objeto Tarefa
 /// </summary>
 /// <param name="oidTarefa">Oid da tarefa que será procurada</param>
 /// <returns>Tarefa encontrada</returns>
 public static CronogramaTarefa ConsultarCronogramarTarefaPorTarefaOid(Guid oidTarefa, params Expression <Func <CronogramaTarefa, object> >[] includes)
 {
     using (WexDb contexto = ContextFactoryManager.CriarWexDb())
     {
         return(contexto.CronogramaTarefa.MultiploInclude(includes).FirstOrDefault(o => o.Tarefa.Oid == oidTarefa && !o.CsExcluido));
     }
 }
 /// <summary>
 /// Consulta Centro de Custo por Código CC no Banco de Dados.
 /// </summary>
 /// <param name="codigo">Código do Centro de Custo a ser recuperado.</param>
 /// <returns>Id do registro.</returns>
 public CentroCusto ConsultarCentroCustoPorCodigo(int codigo)
 {
     using (WexDb contexto = ContextFactoryManager.CriarWexDb())
     {
         return(contexto.CentrosCusto.FirstOrDefault(cc => cc.Codigo == codigo));
     }
 }
 /// <summary>
 /// Consultar Situações de Planejamento que estão Ativas.
 /// </summary>
 /// <returns>Coleção de situações de planejamento</returns>
 public static List <WexProject.BLL.Entities.Planejamento.SituacaoPlanejamento> ConsultarSituacoesAtivas()
 {
     using (WexDb contexto = ContextFactoryManager.CriarWexDb())
     {
         return(contexto.SituacaoPlanejamento.Where(o => o.CsSituacao == CsTipoSituacaoPlanejamento.Ativo).OrderBy(o => o.TxDescricao).ToList());
     }
 }
Ejemplo n.º 16
0
 /// <summary>
 /// Selecionar varios colaboradores pelo login em uma coleção de logins
 /// </summary>
 /// <param name="logins"></param>
 /// <returns></returns>
 public static List <Colaborador> ConsultarColaboradores(ICollection <string> logins, params Expression <Func <Colaborador, object> >[] includes)
 {
     using (WexDb contexto = ContextFactoryManager.CriarWexDb())
     {
         return(contexto.Colaboradores.MultiploInclude(includes).Where(o => logins.Contains(o.Usuario.UserName)).ToList());
     }
 }
        /// <summary>
        /// Verifica se o projeto é um projeto micro
        /// </summary>
        /// <param name="IdProjeto">Id do projeto</param>
        /// <returns>Boolean</returns>
        public bool VerificarProjetoMicro(Guid IdProjeto)
        {
            WexDb   db      = ContextFactoryManager.CriarWexDb();
            Projeto projeto = ProjetoDao.Instancia.ConsultarProjetoPorGuid(db, IdProjeto);

            return(projeto != null && projeto.ProjetoMacro != null);
        }
        public Projeto ConsultarProjetoPorOid(Guid projetoOid)
        {
            Projeto projeto;

            using (var contexto = ContextFactoryManager.CriarWexDb())
            {
                projeto = contexto.Projetos
                          .MultiploInclude(
                    p => p.ProjetoClientes.Select(pc => pc.EmpresaInstituicao),
                    p => p.Gerente,
                    p => p.CentroCusto
                    )
                          .FirstOrDefault(o => o.Oid == projetoOid);

                if (projeto != null && projeto.Gerente != null)
                {
                    contexto.Entry(projeto.Gerente).Reference(o => o.Usuario);

                    if (projeto.Gerente.Usuario != null)
                    {
                        contexto.Entry(projeto.Gerente.Usuario).Reference(o => o.Person);
                    }
                }
            }

            return(projeto);
        }
        /// <summary>
        /// </summary>
        /// <param name="tipoRubricaId"></param>
        /// <param name="oidProjeto"></param>
        /// <returns></returns>
        public List <RubricaMes> ConsultarRubricaMeses(int tipoRubricaId, Guid oidProjeto)
        {
            List <RubricaMes> rubricaMeses = new List <RubricaMes>();

            using (var contexto = ContextFactoryManager.CriarWexDb())
            {
                List <Aditivo> aditivos = contexto.Aditivos.Where(aditivo => aditivo.ProjetoOid == oidProjeto).ToList();

                foreach (Aditivo aditivo in aditivos)
                {
                    Func <RubricaMes, bool> verificarData =
                        rm =>
                        new DateTime(rm.NbAno, (int)rm.CsMes, 1) >=
                        new DateTime(aditivo.DtInicio.Year, aditivo.DtInicio.Month, 1) &&
                        new DateTime(rm.NbAno, (int)rm.CsMes, 1) <=
                        new DateTime(aditivo.DtTermino.Year, aditivo.DtTermino.Month, 1);

                    List <RubricaMes> rubricasMesesFiltrados = contexto.RubricaMeses
                                                               .Where(
                        rm => rm.Rubrica.TipoRubricaId == tipoRubricaId && rm.Rubrica.AditivoId == aditivo.AditivoId)
                                                               .Where(verificarData)
                                                               .ToList();
                    rubricaMeses.AddRange(rubricasMesesFiltrados);
                }
            }
            return(rubricaMeses);
        }
 /// <summary>
 ///     Verifica se existe alguma nota fiscal importada
 /// </summary>
 /// <param name="chaveImportacao">Código do importação</param>
 /// <returns></returns>
 public static bool VerificarNotasFiscaisImportadas(int chaveImportacao)
 {
     using (WexDb contexto = ContextFactoryManager.CriarWexDb())
     {
         return(contexto.NotaFiscal.Any(notaFiscal => notaFiscal.ChaveImportacao == chaveImportacao));
     }
 }
 /// <summary>
 ///     Retorna os detalhes dos meses da rubrica
 /// </summary>
 /// <param name="rubrica">Rubrica</param>
 /// <returns>Uma lista de RubricaMesDto</returns>
 public List <RubricaMes> ConsultarRubricaMeses(Rubrica rubrica)
 {
     using (var contexto = ContextFactoryManager.CriarWexDb())
     {
         return(contexto.RubricaMeses.Where(rubricaMes => rubricaMes.RubricaId == rubrica.RubricaId).ToList());
     }
 }
 /// <summary>
 /// </summary>
 /// <param name="notaFiscalId"></param>
 /// <returns></returns>
 public static NotaFiscal ConsultarNotaFiscal(int notaFiscalId)
 {
     using (WexDb contexto = ContextFactoryManager.CriarWexDb())
     {
         return(contexto.NotaFiscal.Find(notaFiscalId));
     }
 }
 public void ConstruirContextoPadraoParaIniciarTeste()
 {
     ContextFactoryMock.AbrirConexao = AbrirConexaoMock;
     ContextFactoryManager.SetContextFactory(new ContextFactoryMock());
     contexto          = ContextFactoryManager.CriarWexDb();
     colaboradorPadrao = CriarColaboradoPadrao();
 }
        /// <summary>
        /// Método responsável por escolher e retornar uma cor para um colaborador em um determinado cronograma
        /// </summary>
        /// <param name="contexto">Contexto do Banco</param>
        /// <param name="oidColaborador">Oid identificação do colaborador</param>
        /// <param name="oidCronograma">Oid identificação do cronograma</param>
        /// <returns>Caso existam o colaborador e o cronograma retornará um string contendo a cor selecionada para o usuário naquele cronograma</returns>
        public static string EscolherCorColaborador(string login, Guid oidCronograma)
        {
            using (WexDb contexto = ContextFactoryManager.CriarWexDb())
            {
                string cor = null;
                CronogramaColaboradorConfig config = CronogramaColaboradorConfigDao.ConsultarCronogramaColaboradorConfig(contexto, login, oidCronograma);

                if (config == null)
                {
                    config = CronogramaColaboradorConfigDao.SalvarCronogramaColaboradorConfig(contexto, login, oidCronograma);

                    if (config == null)
                    {
                        return(null);
                    }
                }
                else
                {
                    if (config.Cor != null)
                    {
                        return(Convert.ToString(config.Cor));
                    }
                }

                List <string> coresArmazenadas = CronogramaColaboradorConfigDao.ConsultarCoresPorCronograma(contexto, oidCronograma);
                cor        = ColaboradorConfigBo.SelecionarCor(coresArmazenadas);
                config.Cor = Convert.ToInt32(cor);
                contexto.SaveChanges();
                return(cor);
            }
        }
Ejemplo n.º 25
0
 /// <summary>
 /// Métodos responsável por buscar um cronograma pelo Oid.
 /// </summary>
 /// <param name="session">Sessão corrente</param>
 /// <param name="oidCronograma">Oid do Cronograma (ID)</param>
 /// <returns>Objeto Cronograma</returns>
 public static Cronograma ConsultarCronogramaPorOid(WexDb contexto, Guid oidCronograma, params Expression <Func <Cronograma, object> >[] includes)
 {
     if (contexto == null)
     {
         contexto = ContextFactoryManager.CriarWexDb();
     }
     return(contexto.Cronograma.MultiploInclude(includes).FirstOrDefault(o => o.Oid == oidCronograma && !o.CsExcluido));
 }
 /// <summary>
 /// Remove a entidade do banco de dados
 /// </summary>
 /// <param name="rubricaMes"></param>
 public void RemoverRubricaMes(RubricaMes rubricaMes)
 {
     using (var contexto = ContextFactoryManager.CriarWexDb())
     {
         contexto.RubricaMeses.Remove(rubricaMes);
         contexto.SaveChanges();
     }
 }
 /// <summary>
 ///     Consulta as notas ficais de uma rubrica específica
 /// </summary>
 /// <param name="rubrica">Rubrica</param>
 /// <returns>Lista de notas fiscais</returns>
 public static IEnumerable <NotaFiscal> ConsultarNotasFiscais(Rubrica rubrica)
 {
     using (WexDb contexto = ContextFactoryManager.CriarWexDb())
     {
         return
             (contexto.NotaFiscal.Where(notaFiscal => notaFiscal.RubricaId == rubrica.RubricaId).ToList());
     }
 }
Ejemplo n.º 28
0
 /// <summary>
 /// Método responsável por resgatar uma role default
 /// <param name="nome">nome da role default(pode passar o nome como "Default")</param>
 /// </summary>
 public static Role ConsultarRolePorNome(string nome)
 {
     using (WexDb contexto = ContextFactoryManager.CriarWexDb())
     {
         Role role = contexto.Roles.Include(a => a.RoleBase).FirstOrDefault(o => o.RoleBase.Name == nome);
         return(role);
     }
 }
Ejemplo n.º 29
0
 /// <summary>
 /// Método responsável por buscar todos os colaboradores.
 /// </summary>
 /// <returns>Lista de Colaboradores</returns>
 public static List <Colaborador> ConsultarColaboradores()
 {
     using (WexDb contexto = ContextFactoryManager.CriarWexDb())
     {
         List <Colaborador> colaboradores = contexto.Colaboradores.Include(o => o.Usuario).Include(o => o.Usuario.Person).OrderBy(o => o.Usuario.Person.FirstName + o.Usuario.Person.LastName).ToList();
         return(colaboradores);
     }
 }
Ejemplo n.º 30
0
        /// <summary>
        ///     Retorna todos os centros de custo de um aditivo
        /// </summary>
        /// <param name="aditivoId">Id do aditivo</param>
        /// <returns>Uma lista de CentroCusto</returns>
        public List <CentroCusto> ConsultarCentrosCustos(int aditivoId)
        {
            WexDb contexto = ContextFactoryManager.CriarWexDb();
            List <CentroCusto> centrosCusto = (from ac in contexto.AditivosCentrosCusto
                                               where ac.AditivoId == aditivoId
                                               select ac.CentroCusto).ToList();

            return(centrosCusto);
        }