Ejemplo n.º 1
0
        public void SalvarParametrosUsuario_SemEmail_Success()
        {
            var service = new ParametrosUsuarioAppService(parametrosUsuarioRepository, centroCustoService, messageQueue);
            var dto     = new ParametrosUsuarioDTO();

            dto.CentroCusto        = new CentroCustoDTO();
            dto.Id                 = 2;
            dto.CentroCusto.Codigo = "1.00";
            service.Salvar(dto);
            var resultDTO = service.ObterPeloIdUsuario(2);

            Assert.AreEqual(dto.Email, resultDTO.Email);
            Assert.IsTrue(string.IsNullOrEmpty(resultDTO.Senha));
        }
Ejemplo n.º 2
0
        public void SalvarParametrosUsuario_SemCentroCusto_Success()
        {
            var service = new ParametrosUsuarioAppService(parametrosUsuarioRepository, centroCustoService, messageQueue);
            var dto     = new ParametrosUsuarioDTO();

            dto.CentroCusto = new CentroCustoDTO();
            dto.Id          = 2;
            dto.Email       = "*****@*****.**";
            dto.Senha       = "1234";
            service.Salvar(dto);
            var resultDTO = service.ObterPeloIdUsuario(2);

            Assert.IsNull(resultDTO.CentroCusto);
        }
Ejemplo n.º 3
0
        public void SalvarParametrosUsuario_EmailDiferente_Success()
        {
            var service = new ParametrosUsuarioAppService(parametrosUsuarioRepository, centroCustoService, messageQueue);
            var dto     = new ParametrosUsuarioDTO();

            dto.CentroCusto        = new CentroCustoDTO();
            dto.Id                 = 2;
            dto.CentroCusto.Codigo = "1.00";
            dto.Email              = "*****@*****.**";
            service.Salvar(dto);
            var resultDTO = service.ObterPeloIdUsuario(2);

            Assert.AreEqual(dto.Email, resultDTO.Email);
            Assert.AreNotEqual(dto.Senha, resultDTO.Senha);
        }
Ejemplo n.º 4
0
        public void SalvarParametrosUsuario_ComEmailSemSenha_Error()
        {
            SalvarParametrosUsuario_SemEmail_Success();
            messageQueue = new MessageQueue();
            var service = new ParametrosUsuarioAppService(parametrosUsuarioRepository, centroCustoService, messageQueue);
            var dto     = new ParametrosUsuarioDTO();

            dto.CentroCusto        = new CentroCustoDTO();
            dto.Id                 = 2;
            dto.Email              = "*****@*****.**";
            dto.CentroCusto.Codigo = "1.00";
            service.Salvar(dto);
            Assert.AreEqual(1, messageQueue.GetAll().Count);
            Assert.AreEqual(TypeMessage.Error, messageQueue.GetAll()[0].Type);
            Assert.AreEqual(Domain.Resource.OrdemCompra.ErrorMessages.SenhaDoEmailObrigatoria, messageQueue.GetAll()[0].Text);
        }
Ejemplo n.º 5
0
        public void SalvarParametrosUsuario_SemAcessoCentroCusto_Error()
        {
            var service = new ParametrosUsuarioAppService(parametrosUsuarioRepository, centroCustoService, messageQueue);
            var dto     = new ParametrosUsuarioDTO();

            dto.CentroCusto        = new CentroCustoDTO();
            dto.Id                 = 2;
            dto.CentroCusto.Codigo = "1.01";
            dto.Email              = "*****@*****.**";
            dto.Senha              = "1234";
            service.Salvar(dto);
            var resultDTO = service.ObterPeloIdUsuario(2);

            Assert.AreEqual(1, messageQueue.GetAll().Count);
            Assert.AreEqual(TypeMessage.Error, messageQueue.GetAll()[0].Type);
            Assert.AreEqual(Resource.Financeiro.ErrorMessages.UsuarioSemAcessoCentroCusto, messageQueue.GetAll()[0].Text);
        }
Ejemplo n.º 6
0
        public void SalvarParametrosUsuario_CentroCustoUltimoNivel_Error()
        {
            var service = new ParametrosUsuarioAppService(parametrosUsuarioRepository, centroCustoService, messageQueue);
            var dto     = new ParametrosUsuarioDTO();

            dto.CentroCusto        = new CentroCustoDTO();
            dto.Id                 = 1;
            dto.CentroCusto.Codigo = "1.05";
            dto.Email              = "*****@*****.**";
            dto.Senha              = "1234";
            service.Salvar(dto);
            var resultDTO = service.ObterPeloIdUsuario(2);

            Assert.AreEqual(1, messageQueue.GetAll().Count);
            Assert.AreEqual(TypeMessage.Error, messageQueue.GetAll()[0].Type);
            Assert.AreEqual(Resource.Financeiro.ErrorMessages.CentroCustoUltimoNivel, messageQueue.GetAll()[0].Text);
        }
Ejemplo n.º 7
0
        public void SalvarParametrosUsuario_SemRestricaoUsuarioCentroCustoDefinida_Success()
        {
            var service = new ParametrosUsuarioAppService(parametrosUsuarioRepository, centroCustoService, messageQueue);
            var dto     = new ParametrosUsuarioDTO();

            dto.CentroCusto        = new CentroCustoDTO();
            dto.Id                 = 1;
            dto.CentroCusto.Codigo = "1.00";
            dto.Email              = "*****@*****.**";
            dto.Senha              = "1234";
            service.Salvar(dto);
            var resultDTO = service.ObterPeloIdUsuario(1);

            Assert.IsNotNull(resultDTO.CentroCusto);
            Assert.AreEqual(TypeMessage.Success, messageQueue.GetAll()[0].Type);
            Assert.AreEqual(Resource.Sigim.SuccessMessages.SalvoComSucesso, messageQueue.GetAll()[0].Text);
        }
Ejemplo n.º 8
0
        public void SalvarParametrosUsuario_Completo_Success()
        {
            var service = new ParametrosUsuarioAppService(parametrosUsuarioRepository, centroCustoService, messageQueue);
            var dto     = new ParametrosUsuarioDTO();

            dto.CentroCusto        = new CentroCustoDTO();
            dto.Id                 = 2;
            dto.CentroCusto.Codigo = "1.00";
            dto.Email              = "*****@*****.**";
            dto.Senha              = "1234";
            service.Salvar(dto);
            var resultDTO = service.ObterPeloIdUsuario(2);

            Assert.AreEqual(dto.Email, resultDTO.Email);
            Assert.AreEqual(dto.Senha, resultDTO.Senha);
            Assert.AreEqual(dto.CentroCusto.Codigo, resultDTO.CentroCusto.Codigo);
            Assert.AreEqual(TypeMessage.Success, messageQueue.GetAll()[0].Type);
            Assert.AreEqual(Resource.Sigim.SuccessMessages.SalvoComSucesso, messageQueue.GetAll()[0].Text);
        }
Ejemplo n.º 9
0
        public void Salvar(ParametrosUsuarioDTO dto)
        {
            if (!UsuarioLogado.IsInRole(Funcionalidade.ParametroUsuarioOrdemCompraGravar))
            {
                messageQueue.Add(Resource.Sigim.ErrorMessages.PrivilegiosInsuficientes, TypeMessage.Error);
                return;
            }

            if (dto == null)
            {
                throw new ArgumentNullException("dto");
            }

            bool novoItem = false;

            var parametrosUsuario = parametrosUsuarioRepository.ObterPeloId(dto.Id);

            if (parametrosUsuario == null)
            {
                parametrosUsuario = new ParametrosUsuario()
                {
                    Id = dto.Id
                };
                novoItem = true;
            }

            parametrosUsuario.Email = dto.Email;

            if (string.IsNullOrEmpty(dto.Email))
            {
                parametrosUsuario.Senha = string.Empty;
            }
            else if (!string.IsNullOrEmpty(dto.Senha))
            {
                parametrosUsuario.Senha = dto.Senha;
            }


            if (string.IsNullOrEmpty(dto.CentroCusto.Codigo))
            {
                parametrosUsuario.CodigoCentroCusto = null;
            }
            else
            {
                var centroCusto = centroCustoService.ObterPeloCodigo(dto.CentroCusto.Codigo);

                if (!centroCustoService.EhCentroCustoUltimoNivelValido(centroCusto))
                {
                    return;
                }

                if (!centroCustoService.UsuarioPossuiAcessoCentroCusto(dto.CentroCusto, dto.Id, NomeModulo.OrdemCompra))
                {
                    return;
                }

                parametrosUsuario.CodigoCentroCusto = centroCusto.Codigo;
            }

            if (Validator.IsValid(parametrosUsuario, out validationErrors))
            {
                if (novoItem)
                {
                    parametrosUsuarioRepository.Inserir(parametrosUsuario);
                }
                else
                {
                    parametrosUsuarioRepository.Alterar(parametrosUsuario);
                }

                parametrosUsuarioRepository.UnitOfWork.Commit();

                messageQueue.Add(Resource.Sigim.SuccessMessages.SalvoComSucesso, TypeMessage.Success);
            }
            else
            {
                messageQueue.AddRange(validationErrors, TypeMessage.Error);
            }
        }