/// <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étodo responsável por consultar vários usuários conectados /// </summary> /// <param name="contexto">Contexto do banco</param> /// <param name="login">logins dos usuários conectado</param> /// <param name="oidCronograma">Oid do cronograma do usuário conectado</param> /// <returns>Objetos de UsuarioConectadoDto</returns> public static List <CronogramaColaboradorConfigDto> ConsultarCronogramaColaboradorConfigs(string[] logins, Guid oidCronograma) { List <CronogramaColaboradorConfig> configs = CronogramaColaboradorConfigDao.ConsultarCronogramaColaboradorConfig(new List <string>(logins), oidCronograma); if (configs == null || configs.Count == 0) { return(null); } return(CronogramaColaboradorConfigBo.CronogramaColaboradorConfigFactory(oidCronograma, configs)); }
/// <summary> /// Método responsável por consultar o usuario conectado e criar um Dto de UsuarioConectadoDto para retornar. /// </summary> /// <param name="contexto">Contexto do banco</param> /// <param name="login">login do usuário conectado</param> /// <param name="oidCronograma">Oid do cronograma do usuário conectado</param> /// <returns>Objeto UsuarioConectadoDto</returns> public static CronogramaColaboradorConfigDto ConsultarCronogramaColaboradorConfigs(string login, Guid oidCronograma) { Colaborador colaborador = ColaboradorDAO.ConsultarColaborador(login, o => o.Usuario.Person.Party); if (colaborador == null) { return(null); } using (WexDb contexto = ContextFactoryManager.CriarWexDb()) { CronogramaColaboradorConfig config = CronogramaColaboradorConfigDao.ConsultarCronogramaColaboradorConfig(contexto, login, oidCronograma); if (config == null) { return(null); } return(CronogramaColaboradorConfigBo.CronogramaColaboradorConfigFactory(colaborador, oidCronograma, config)); } }
public void ConsultarCronogramaColaboradorConfigTest() { Cronograma cronograma = CronogramaBo.CriarCronogramaPadrao(contexto); string[] logins = new string[] { "gabriel.matos", "anderson.lins", "adriava.silva", "amanda.silva", "ana.marques" }; List <Colaborador> colaboradores = new List <Colaborador>(); Dictionary <string, string> dicionarioConfigs = new Dictionary <string, string>(); string cor = null; for (int i = 0; i < logins.Length; i++) { colaboradores.Add(ColaboradorFactoryEntity.CriarColaborador(contexto, logins[i], true)); cor = CronogramaColaboradorConfigBo.EscolherCorColaborador(logins[i], cronograma.Oid); dicionarioConfigs.Add(logins[i], cor); } List <CronogramaColaboradorConfig> configs = CronogramaColaboradorConfigDao.ConsultarCronogramaColaboradorConfig(logins.ToList(), cronograma.Oid); Dictionary <string, string> resultadoListagemConfigs = configs.ToDictionary(o => o.Colaborador.Usuario.UserName, o => o.Cor.ToString()); CollectionAssert.AreEquivalent(dicionarioConfigs, resultadoListagemConfigs); }
public void ConsultarColaboradorCronogramaConfigQuandoColaboradorOuCronogramaNaoExistirTest() { CronogramaColaboradorConfig config = CronogramaColaboradorConfigDao.ConsultarCronogramaColaboradorConfig(contexto, "gabriel.matos", Guid.NewGuid()); Assert.IsNull(config, "Não deveria ter criado um configuração, quando o colaborador ou cronograma não existirem"); }
public void ConsultarCronogramaColaboradorConfigQuandoColaboradorOuCronogramaNaoExistirTest() { CronogramaColaboradorConfig config = CronogramaColaboradorConfigDao.ConsultarCronogramaColaboradorConfig(contexto, "gabriel.matos", Guid.NewGuid()); Assert.IsNull(config); }