public async void ValidarObterResponsavel()
        {
            // Arrange
            var result = new ResponsavelDto
            {
                Id    = ResponsavelId,
                Nome  = "Nome1",
                Cpf   = "Cpf1",
                Email = "Email1",
                Foto  = new byte[1]
            };

            mockResponsavelService
            .Setup(rs => rs.ObterResponsavelAsync(It.IsAny <ObterResponsavelQuery>()))
            .Returns(Task.FromResult(result));

            mockApiResultHandler
            .Setup(rh => rh.Handle(sut, result))
            .Returns(sut.Ok(result));

            // Act
            IActionResult actionResult = await sut.ObterResponsavelAsync(ResponsavelId);

            // Assert
            actionResult.Should().BeOfType <OkObjectResult>().Subject.Value.Should().BeEquivalentTo(result);
        }
Beispiel #2
0
        public async void ValidarObterResponsavel()
        {
            // Arrange
            var query = new ObterResponsavelQuery {
                Id = this.ResponsavelId
            };

            var Responsavel = new ResponsavelDto
            {
                Id    = 1,
                Nome  = "Nome",
                Cpf   = "Cpf",
                Email = "Email",
                Foto  = new byte[1]
            };

            this.mockMediator
            .Setup(m => m.Send(query, default))
            .Returns(Task.FromResult(new RequestResponseWrapper <ResponsavelDto>(true, Responsavel)));

            // Act
            var response = await this.sut.ObterResponsavelAsync(query);

            // Assert
            response.Should().BeEquivalentTo(Responsavel);
            this.mockMediator.Verify(m => m.Send(It.IsNotNull <ObterResponsavelQuery>(), default), Times.Once);
        }
Beispiel #3
0
        public bool SaveResponsavel(ResponsavelDto dto)
        {
            var retorno = Contexto.Responsavel.Add(new Responsavel()
            {
                Nome              = dto.Nome,
                Sexo              = dto.Sexo,
                DataNascimento    = Convert.ToDateTime(dto.DescricaoDataNascimento),
                Telefone          = dto.Telefone,
                Celular           = dto.Celular,
                Email             = dto.Email,
                CPF               = dto.CPF,
                Ativo             = dto.Ativo,
                IdTipoResponsavel = dto.IdTipoResponsavel,
                Usuario           = new Usuario()
                {
                    UsuarioLogin    = dto.Usuario,
                    Senha           = GerarMD5(dto.Senha),
                    IdPapelUsuario  = PapelUsuarioEnum.Administrador,
                    IdStatusUsuario = StatusUsuarioEnum.Offline
                }
            });

            Contexto.SaveChanges();

            return(true);
        }
Beispiel #4
0
        public bool EditResponsavel(ResponsavelDto dto)
        {
            var responsavel = (from r in Contexto.Responsavel
                               where r.Id == dto.Id
                               select r).FirstOrDefault();

            responsavel.Usuario = (from u in Contexto.Usuario
                                   where u.Id == responsavel.IdUsuario
                                   select u).FirstOrDefault();

            responsavel.Nome                 = dto.Nome;
            responsavel.Sexo                 = dto.Sexo;
            responsavel.DataNascimento       = Convert.ToDateTime(dto.DescricaoDataNascimento);
            responsavel.Telefone             = dto.Telefone;
            responsavel.Celular              = dto.Celular;
            responsavel.Email                = dto.Email;
            responsavel.CPF                  = dto.CPF;
            responsavel.Ativo                = dto.Ativo;
            responsavel.Usuario.UsuarioLogin = dto.Usuario;
            responsavel.IdTipoResponsavel    = dto.IdTipoResponsavel;

            if (dto.Senha.Length > 3)
            {
                responsavel.Usuario.Senha = GerarMD5(dto.Senha);
            }

            Contexto.SaveChanges();

            return(true);
        }
Beispiel #5
0
        public bool RemoveResponsavel(ResponsavelDto dto)
        {
            Contexto.Database.ExecuteSqlCommand($@"UPDATE dbo.responsavel 
                SET IdUsuarioExclusao = {SessionUser.IdUsuario}, 
                DataHoraExclusao = '{DateTime.Now.ToString("dd/MM/yyyy HH:mm")}'
                WHERE Id = {dto.Id}");

            return(true);
        }
Beispiel #6
0
 public ActionResult AtualizarResponsavel([FromBody] ResponsavelDto dto)
 {
     _responsavelCollection.UpdateOne(Builders <Responsavel> .Filter
                                      .Where(_ => _.Id == dto.Id),
                                      Builders <Responsavel> .Update.Set("nome", dto.Nome)
                                      .Set("sobreNome", dto.Sobrenome)
                                      .Set("email", dto.Email)
                                      .Set("Senha", dto.Senha)
                                      .Set("estudantes", dto.Estudantes));
     return(Ok("Cadastro atualizado com sucesso"));
 }
Beispiel #7
0
        public ActionResult SalvarResponsavel([FromBody] ResponsavelDto dto)
        {
            var responsavel = new Responsavel(
                dto.Nome,
                dto.Sobrenome,
                dto.Email,
                dto.Senha,
                dto.Id,
                dto.Estudantes
                );

            _responsavelCollection.InsertOne(responsavel);

            return(StatusCode(201, "Responsável adicionado com sucesso"));
        }
Beispiel #8
0
        public void Validate(ResponsavelDto dto, bool delete)
        {
            if (SessionUser.IdPapel != PapelUsuarioEnum.Administrador)
            {
                throw new ApplicationException("Você não possui permissão para executar esta operação.");
            }

            if (!delete)
            {
                if (dto.Usuario.IsNullOrEmpty())
                {
                    throw new ApplicationException("Responsável: O campo 'Login' é obrigatório.");
                }

                if (!dto.Senha.IsNullOrEmpty() && dto.Senha.Length < 6)
                {
                    throw new ApplicationException("Responsável: O campo 'Senha' deve ter no mínimo 6 caracteres.");
                }

                if (dto.Nome.IsNullOrEmpty())
                {
                    throw new ApplicationException("Responsável: O campo 'Nome' é obrigatório.");
                }

                if (!dto.CPF.IsNullOrEmpty() && dto.CPF.Length < 14)
                {
                    throw new ApplicationException("Responsável: O campo 'CPF' deve ter 14 caracteres.");
                }

                if (!dto.Email.IsNullOrEmpty() && !(new Regex(ValidEmailPattern, RegexOptions.IgnoreCase).IsMatch(dto.Email)))
                {
                    throw new ApplicationException("Responsável: O campo 'Email' precisa ter um email no formato válido.");
                }

                if (dto.Sexo != 1 && dto.Sexo != 2)
                {
                    throw new ApplicationException("Responsável: O campo 'Sexo' é obrigatório.");
                }

                if (!dto.DescricaoDataNascimento.IsNullOrEmpty() && !DateTime.TryParse(dto.DescricaoDataNascimento, out DateTime dataNasc) && dataNasc >= DateTime.Now.Date)
                {
                    throw new ApplicationException("Responsável: O campo 'Data de nascimento' não foi informado corretamente.");
                }

                if (!dto.Telefone.IsNullOrEmpty() && dto.Telefone.Length < 14)
                {
                    throw new ApplicationException("Responsável: O campo 'Telefone' deve ter 14 caracteres.");
                }

                if (!dto.Telefone.IsNullOrEmpty() && dto.Celular.Length < 16)
                {
                    throw new ApplicationException("Responsável: O campo 'Celular' deve ter 16 caracteres.");
                }

                if (dto.IdTipoResponsavel == 0)
                {
                    throw new ApplicationException("Responsável: O campo 'Tipo' é obrigatório.");
                }

                if (new ResponsavelRepository().IsResponsavelRepetidoByCPF(dto.Id, dto.CPF))
                {
                    throw new ApplicationException("Responsável: Já existe um registro de responsável com o CPF informado.");
                }

                if (new ResponsavelRepository().IsUsuarioLoginRepetido(dto.Id, dto.Usuario))
                {
                    throw new ApplicationException("Responsável: Já existe um registro de usuário com o login informado.");
                }
            }
            else
            {
                if (new ResponsavelRepository().ResponsavelPossuiVinculos(dto.Id))
                {
                    throw new ApplicationException("Não é permitido excluir o registro pois o mesmo possui vínculos.");
                }
            }
        }