/// <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)); }
/// <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); } }
/// <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()); } }
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)); } }
/// <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); } }
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()); } }
/// <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); } }
/// <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()); } }
/// <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); } }
/// <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); } }
/// <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); }