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