/// <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));
        }
        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 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));
            }
        }
コード例 #6
0
        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);
        }
コード例 #7
0
        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");
        }
コード例 #8
0
        public void ConsultarCronogramaColaboradorConfigQuandoColaboradorOuCronogramaNaoExistirTest()
        {
            CronogramaColaboradorConfig config = CronogramaColaboradorConfigDao.ConsultarCronogramaColaboradorConfig(contexto, "gabriel.matos", Guid.NewGuid());

            Assert.IsNull(config);
        }