public AdicionarMedicoResponse Executar(AdicionarMedicoRequest request) { var response = new AdicionarMedicoResponse(); var validacao = new AdicionarMedicoRequestValidator(); try { response = validacao.ValidarCamposAdicionarMedico(request); if (response.erros.Count > 0) { response.msg.Add("Erro ao adicionar o medico"); return(response); } var medicoAdicionar = _adapter.converterRequestParaMedico(request); _repositorioMedicos.Add(medicoAdicionar); response.msg.Add("Adicionado com sucesso"); response.id = medicoAdicionar.id; return(response); } catch (Exception) { response.msg.Add("Erro ao adicionar o medico"); return(response); } }
public AdicionarMedicoRequestBuilder() { _adicionarMedicoRequest = new AdicionarMedicoRequest(); _adicionarMedicoRequest.nome = _faker.Random.String(40); _adicionarMedicoRequest.especialidade = _faker.Random.String(40); _adicionarMedicoRequest.telefone = _faker.Phone.PhoneNumber("####-####"); _adicionarMedicoRequest.especialidade = _faker.Random.String(40); _adicionarMedicoRequest.crm = _faker.Random.String(10); }
public Medico converterRequestParaMedico(AdicionarMedicoRequest 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); }
public IActionResult Post([FromBody] AdicionarMedicoRequest novoMedico) { if (!ModelState.IsValid) { return(BadRequest(novoMedico)); } var response = _adicionarMedicoUseCase.Executar(novoMedico); if (response.erros.Count > 0) { return(BadRequest(response)); } return(Ok(response)); }
public AdicionarMedicoResponse ValidarCamposAdicionarMedico(AdicionarMedicoRequest request) { var response = new AdicionarMedicoResponse(); 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); }