private bool ValidaTipoPermissao(TipoPermissaoModel tipoPermissao)
        {
            if (tipoPermissao.IsValid())
            {
                return(true);
            }

            NotifyErrorValidation(tipoPermissao.ValidationResult);
            return(false);
        }
        private bool ChecaTipoPermissaoExistente(TipoPermissaoModel tipoPermissao, string messageType)
        {
            var tipo = _tipoPRepo.GetByNome(tipoPermissao.Nome.ToLower());

            if (tipo == null || tipo == tipoPermissao)
            {
                return(true);
            }

            _bus.RaiseEvent(new DomainNotification(messageType, "Já existe um Tipo de Permissão com esse nome."));
            return(false);
        }
        public void Editar(TipoPermissaoModel tipoPermissao)
        {
            if (!ValidaTipoPermissao(tipoPermissao))
            {
                return;
            }
            if (!ChecaTipoPermissaoExistente(tipoPermissao, "1"))
            {
                return;
            }

            _tipoPRepo.Update(tipoPermissao);

            Commit();
        }
        public void TipoPermissao_Add_RetornarComSucesso()
        {
            // Arrange
            var tipoPermissaoViewModel = new TipoPermissaoViewModel();
            var tipoPermissaoModel     = new TipoPermissaoModel("Teste");

            mockMapper.Setup(m => m.Map <TipoPermissaoModel>(tipoPermissaoViewModel)).Returns(tipoPermissaoModel);
            mockNotification.Setup(m => m.GetNotifications()).Returns(new List <DomainNotification>());

            // Act
            var result = permissaoController.TipoPermissaoAdd(tipoPermissaoViewModel);

            // Assert
            mockTipoPermissaoService.Verify(m => m.Adicionar(tipoPermissaoModel), Times.Once);
            Assert.IsType <OkObjectResult>(result);
        }
        public void Adicionar(TipoPermissaoModel tipoPermissao)
        {
            if (!ValidaTipoPermissao(tipoPermissao))
            {
                return;
            }

            if (!ChecaTipoPermissaoExistente(tipoPermissao, "1"))
            {
                return;
            }

            _tipoPRepo.Add(tipoPermissao);

            Commit();
        }
        public void TipoPermissaoAdd_RetornarComErrosDeDominio()
        {
            var tipoPermissaoViewModel = new TipoPermissaoViewModel();
            var tipoPermissaoModel     = new TipoPermissaoModel("Teste");

            mockMapper.Setup(m => m.Map <TipoPermissaoModel>(tipoPermissaoViewModel)).Returns(tipoPermissaoModel);

            var notficationList = new List <DomainNotification> {
                new DomainNotification("Erro", "Erro ao adicionar novo Tipo de Permissao")
            };

            mockNotification.Setup(m => m.GetNotifications()).Returns(notficationList);
            mockNotification.Setup(m => m.HasNotifications()).Returns(true);

            // Act
            var result = permissaoController.TipoPermissaoAdd(tipoPermissaoViewModel);

            // Assert
            mockTipoPermissaoService.Verify(m => m.Adicionar(tipoPermissaoModel), Times.Once);
            Assert.IsType <BadRequestObjectResult>(result);
        }