public AtualizarMedicoRequestBuilder()
        {
            _atualizarMedicoRequest = new AtualizarMedicoRequest();


            _atualizarMedicoRequest.nome          = _faker.Random.String(40);
            _atualizarMedicoRequest.especialidade = _faker.Random.String(40);
            _atualizarMedicoRequest.telefone      = _faker.Phone.PhoneNumber("####-####");
            _atualizarMedicoRequest.especialidade = _faker.Random.String(40);
            _atualizarMedicoRequest.crm           = _faker.Random.String(10);
        }
Exemplo n.º 2
0
        public Medico converterRequestParaMedico(AtualizarMedicoRequest request)
        {
            var novoMedico = new Medico();

            novoMedico.nome          = request.nome;
            novoMedico.especialidade = request.especialidade;
            novoMedico.telefone      = request.telefone;
            novoMedico.crm           = request.crm;
            novoMedico.situacao      = request.situacao;

            return(novoMedico);
        }
Exemplo n.º 3
0
        public IActionResult Put([FromBody] AtualizarMedicoRequest medicoAtualizar, int id)
        {
            if (id <= 0)
            {
                return(BadRequest("Id não encontrado"));
            }

            if (!ModelState.IsValid)
            {
                return(BadRequest(medicoAtualizar));
            }
            var response = _atualizarMedicoUseCases.Executar(medicoAtualizar, id);

            if (response.erros.Count > 0)
            {
                return(BadRequest(response));
            }

            return(Ok(response));
        }
        public AtualizarMedicoResponse ValidarCamposAtualizarMedico(AtualizarMedicoRequest request)
        {
            var           response = new AtualizarMedicoResponse();
            List <string> erros    = new List <string>();


            if (request.nome.Length < 20 && request.nome.Length > 3)
            {
                erros.Add("Nome deve conter de 3 a 20 caracteres");
            }



            Regex expressao = new Regex(@"(\([0-9]{2}\)|)[0-9]{4,5}-[0-9]{4}");

            //Match(request.telefone, expressao);
            //request.telefone.Length <= 10 ||
            if (!expressao.IsMatch(request.telefone.ToString()))
            {
                erros.Add("Telefone numero de digitos incorretos. Ex. 12345-1234 ");
            }

            if (request.crm.Length != 10)
            {
                erros.Add("CRM deve conter 10 digitos.");
            }

            if (request.especialidade.Length > 40 || request.especialidade.Length < 3)
            {
                erros.Add("Especialidade deve conter 3 a 40 digitos.");
            }

            foreach (var item in erros)
            {
                response.erros.Add(item);
            }


            return(response);
        }
Exemplo n.º 5
0
        public AtualizarMedicoResponse Executar(AtualizarMedicoRequest request, int id)
        {
            var response  = new AtualizarMedicoResponse();
            var validacao = new AtualizarMedicoRequestValidator();

            try
            {
                var medico = _repositorioMedicos.GetId(id);
                if (medico == null)
                {
                    response.msg.Add("Erro ao atualizar o médico");
                    return(response);
                }

                response = validacao.ValidarCamposAtualizarMedico(request);

                if (response.erros.Count > 0)
                {
                    response.msg.Add("Erro ao atualizar o médico");
                    return(response);
                }


                var medicoAtualizar = _adapter.converterRequestParaMedico(request);

                medicoAtualizar.id = id;
                _repositorioMedicos.Update(medicoAtualizar);
                response.msg.Add("Atualizado com sucesso");
                response.id = medicoAtualizar.id;
                return(response);
            }
            catch (Exception)
            {
                response.msg.Add("Erro ao atualizar o médico");
                return(response);
            }
        }