/// <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 utilizado para criar uma configuração para um colaborador em um determinado cronograma /// </summary> /// <param name="contexto">contexto do banco</param> /// <param name="login"></param> /// <param name="oidCronograma">oid do cronograma atual</param> /// <returns>ColaboradorCronogramaConfig para armazenar as configurações do colaborador</returns> public static CronogramaColaboradorConfig SalvarCronogramaColaboradorConfig(WexDb contexto, string login, Guid oidCronograma) { Cronograma cronograma = CronogramaDao.ConsultarCronogramaPorOid(oidCronograma); if (cronograma == null) { return(null); } Colaborador colaborador = ColaboradorDAO.ConsultarColaborador(login); if (colaborador == null) { return(null); } CronogramaColaboradorConfig config = ConsultarCronogramaColaboradorConfig(contexto, login, oidCronograma); if (config != null) { return(config); } config = new CronogramaColaboradorConfig() { OidCronograma = cronograma.Oid, OidColaborador = colaborador.Oid }; contexto.CronogramaColaboradorConfig.Add(config); contexto.SaveChanges(); return(config); }
public void SelecionarCorColaboradorTest() { ColaboradorFactoryEntity.CriarColaborador(contexto, "gabriel.matos", true); Cronograma cronograma = CronogramaBo.CriarCronogramaPadrao(contexto); CronogramaColaboradorConfig config = CronogramaColaboradorConfigDao.SalvarCronogramaColaboradorConfig(contexto, "gabriel.matos", cronograma.Oid); string cor = CronogramaColaboradorConfigBo.EscolherCorColaborador("gabriel.matos", cronograma.Oid); Assert.IsNotNull(cor, "Deveria ter selecionado uma cor para o colaborador"); string cor2 = CronogramaColaboradorConfigBo.EscolherCorColaborador("gabriel.matos", cronograma.Oid); Assert.AreEqual(cor, cor2, "Ao ser chamado pela segunda vez, deveria retornar a mesma cor escolhida que foi escolhida na primeira vez"); }
public void CriarColaboradorCronogramaConfigTest() { ColaboradorFactoryEntity.CriarColaborador(contexto, "gabriel.matos", true); Cronograma cronograma = CronogramaBo.CriarCronogramaPadrao(contexto); CronogramaColaboradorConfig config = CronogramaColaboradorConfigDao.SalvarCronogramaColaboradorConfig(contexto, "gabriel.matos", cronograma.Oid); Assert.IsNotNull(config, "Deveria ter sido criado o CronogramaColaborador Config para o Colabordor atual"); CronogramaColaboradorConfig config2 = CronogramaColaboradorConfigDao.SalvarCronogramaColaboradorConfig(contexto, "gabriel.matos", cronograma.Oid); Assert.AreEqual(config.Oid, config2.Oid, "Deveria possuir as mesmas configurações"); }
/// <summary> /// Método responsável por excluir todos cronograma colaborador configs do cronograma atual /// </summary> /// <param name="contexto">contexto do banco</param> /// <param name="oidCronogramaAtual">Oid do cronograma</param> public static void ExcluirTodosConfigsCronogramaAtual(WexDb contexto, Guid oidCronogramaAtual) { List <CronogramaColaboradorConfig> colecao = CronogramaColaboradorConfigDao.ConsultarTodosCronogramaColaboradorConfig(contexto, oidCronogramaAtual); if (colecao != null && colecao.Count > 0) { int contador = colecao.Count; for (int i = 0; i < contador; i++) { CronogramaColaboradorConfig ultimaSelecao = colecao[i]; contexto.CronogramaColaboradorConfig.Remove(ultimaSelecao); contexto.SaveChanges(); } } }
/// <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)); } }
/// <summary> /// Método responsável por criar um Dto de Usuario Conectado com os dados do colaborador e config do colaborador no cronograma /// </summary> /// <param name="colaborador">Objeto do colaborador</param> /// <param name="oidCronograma">Oid do cronograma que o usuário está conectado</param> /// <param name="config">Config do colaborador no cronograma</param> /// <returns>Dto de UsuarioConectado</returns> public static UsuarioConectadoDto UsuarioConectadoFactory(Colaborador colaborador, Guid oidCronograma, CronogramaColaboradorConfig config) { UsuarioConectadoDto usuarioConectado = new UsuarioConectadoDto(colaborador.Oid, oidCronograma) { LoginColaborador = colaborador.Usuario.UserName, NomeCompletoColaborador = colaborador.NomeCompleto, Foto = colaborador.Usuario.Person.Party.Photo, Cor = config.Cor.ToString() }; return(usuarioConectado); }
/// <summary> /// Método responsável por criar um Dto de Usuario Conectado com os dados do colaborador e config do colaborador no cronograma /// </summary> /// <param name="colaborador">Objeto do colaborador</param> /// <param name="oidCronograma">Oid do cronograma que o usuário está conectado</param> /// <param name="config">Config do colaborador no cronograma</param> /// <returns>Dto de UsuarioConectado</returns> public static CronogramaColaboradorConfigDto CronogramaColaboradorConfigFactory(Colaborador colaborador, Guid oidCronograma, CronogramaColaboradorConfig config) { CronogramaColaboradorConfigDto usuarioConectado = new CronogramaColaboradorConfigDto() { OidCronograma = oidCronograma, OidColaborador = colaborador.Oid, Login = colaborador.Usuario.UserName, NomeCompletoColaborador = colaborador.NomeCompleto, Foto = colaborador.Usuario.Person.Party.Photo, Cor = config.Cor.ToString() }; return(usuarioConectado); }
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); }