예제 #1
0
        /// <summary>
        /// Método responsável por buscar a cor e nome de um colaborador a partir do seu Login(UserName)
        /// </summary>
        /// <param name="session">Sessão Corrente</param>
        /// <param name="login">UserName do colaborador (Login)</param>
        /// <returns>Objeto DTO</returns>
        public static ProjetoColaboradorConfigDto GetProjetoColaboradorConfigDto(Session session, Guid oidColaborador, Guid oidProjeto)
        {
            ProjetoColaboradorConfig projetoConfig = GetProjetoColaboradorConfig(session, oidColaborador, oidProjeto);

            if (projetoConfig == null)
            {
                return(null);
            }
            return(projetoConfig.DtoFactory());
        }
예제 #2
0
        /// <summary>
        /// Método responsável por buscar as cores a partir de uma lista de usernames (Logins) passados.
        /// </summary>
        /// <param name="session">Sessão Corrente</param>
        /// <param name="logins">Lista de Logins dos Usuários</param>
        /// <returns>Lista de Objetos Dtos de ProjetoColaboradorConfig</returns>
        public static List <ProjetoColaboradorConfigDto> GetCoresPorLoginsDto(Session session, string[] logins, Guid oidProjeto)
        {
            List <ProjetoColaboradorConfigDto> colaboradoresConfigsDto = new List <ProjetoColaboradorConfigDto>();
            List <ProjetoColaboradorConfig>    colaboradoresConfigs    = new List <ProjetoColaboradorConfig>();

            colaboradoresConfigs = ProjetoColaboradorConfig.GetConfigColaboradores(session, logins.ToList(), oidProjeto);

            if (colaboradoresConfigs == null || colaboradoresConfigs.Count <= 0)
            {
                return(colaboradoresConfigsDto);
            }

            foreach (ProjetoColaboradorConfig colaboradorConfig in colaboradoresConfigs)
            {
                ProjetoColaboradorConfigDto configDto = colaboradorConfig.DtoFactory();
                colaboradoresConfigsDto.Add(configDto);
            }

            return(colaboradoresConfigsDto);
        }
예제 #3
0
        /// <summary>
        /// Método responsável por escolher a cor do usuário em um determinado cronograma de um projeto.
        /// </summary>
        public static string RnEscolherCor(Session session, Guid oidColaborador, Guid oidProjeto)
        {
            Projeto projeto = Projeto.GetProjetoPorOid(session, oidProjeto);

            if (projeto == null)
            {
                throw new Exception("A cor não pode ser selecionada, o projeto selecionado não existe!");
            }

            Colaborador colaborador = Colaborador.GetColaboradorPorOid(session, oidColaborador);

            if (colaborador == null)
            {
                throw new Exception("A cor não pode ser selecionada, o colaborador selecionado não existe!");
            }

            ProjetoColaboradorConfig config = ProjetoColaboradorConfig.GetProjetoColaboradorConfig(session, oidColaborador, oidProjeto);
            string cor = string.Empty;

            if (config != null)
            {
                cor = config.Cor;
            }
            else
            {
                ProjetoColaboradorConfig colaboradorConfig = new ProjetoColaboradorConfig(session);
                //List<ProjetoColaboradorConfig> configs = GetConfigColaboradores( session, oidProjeto );
                //List<string> coresProjeto = new List<string>( configs.Select( o => o.cor ) );
                List <string> coresProjeto = GetCoresPorProjeto(session, oidProjeto);
                cor = ColaboradorConfigBo.SelecionarCor(coresProjeto);
                colaboradorConfig.Projeto     = projeto;
                colaboradorConfig.Colaborador = colaborador;
                colaboradorConfig.Cor         = cor;
                colaboradorConfig.Save();
            }
            return(cor);
        }