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