public void Post([FromBody] Odontologista value) { var conexao = new Connection(new System.Data.SqlClient.SqlConnection()); try { #region Validaçãoes if (!Validacoes.ValidaCpf(value.Cpf)) { throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.NotAcceptable) { Content = new StringContent("Cpf inválido."), ReasonPhrase = "Campo inválido" }); } else { value.Cpf = value.Cpf.Replace(".", "").Replace("-", ""); } if (!Validacoes.ValidaCep(value.Cep)) { throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.NotAcceptable) { Content = new StringContent("Cep inválido."), ReasonPhrase = "Campo inválido" }); } else { value.Cep = value.Cep.Replace("-", ""); } if (!Validacoes.ApenasNumeros(value.Cro)) { throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.NotAcceptable) { Content = new StringContent("Cro inválido."), ReasonPhrase = "Campo inválido" }); } if (!Enum.IsDefined(typeof(AgendaEnums.Uf), value.CroEstado)) { throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.NotAcceptable) { Content = new StringContent("Cro UF inválido."), ReasonPhrase = "Campo inválido" }); } if (string.IsNullOrWhiteSpace(value.Nome)) { throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.NotAcceptable) { Content = new StringContent("Nome inválido."), ReasonPhrase = "Campo inválido" }); } if (value.IdClinica <= 0) { throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.NotAcceptable) { Content = new StringContent("Clínica inválida."), ReasonPhrase = "Campo inválido" }); } if (!Validacoes.ValidaDataNascimento(value.DataNascimento)) { throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.NotAcceptable) { Content = new StringContent("Data de nascimento inválida."), ReasonPhrase = "Campo inválido" }); } #endregion using (var repositorio = new OdontologistaRepositorio(conexao)) { int id = repositorio.Criar(value); if (id > 0) { using (var repositorioAgenda = new AgendaRepositorio(conexao)) { repositorioAgenda.Criar(new Agenda(id, value.IdClinica, 30)); } } } } catch (Exception ex) { throw ex; } finally { conexao.Dispose(); } }
public void Put([FromBody] Odontologista value) { #region Validaçãoes if (value.Id <= 0) { throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.NotAcceptable) { Content = new StringContent("Objeto inválido."), ReasonPhrase = "Campo inválido" }); } if (!Validacoes.ValidaCpf(value.Cpf)) { throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.NotAcceptable) { Content = new StringContent("Cpf inválido."), ReasonPhrase = "Campo inválido" }); } else { value.Cpf = value.Cpf.Replace(".", "").Replace("-", ""); } if (!Validacoes.ValidaCep(value.Cep)) { throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.NotAcceptable) { Content = new StringContent("Cep inválido."), ReasonPhrase = "Campo inválido" }); } else { value.Cep = value.Cep.Replace("-", ""); } if (!Validacoes.ApenasNumeros(value.Cro)) { throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.NotAcceptable) { Content = new StringContent("Cro inválido."), ReasonPhrase = "Campo inválido" }); } if (!Enum.IsDefined(typeof(AgendaEnums.Uf), value.CroEstado)) { throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.NotAcceptable) { Content = new StringContent("Cro UF inválido."), ReasonPhrase = "Campo inválido" }); } if (string.IsNullOrWhiteSpace(value.Nome)) { throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.NotAcceptable) { Content = new StringContent("Nome inválido."), ReasonPhrase = "Campo inválido" }); } if (value.IdClinica <= 0) { throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.NotAcceptable) { Content = new StringContent("Clínica inválida."), ReasonPhrase = "Campo inválido" }); } if (!Validacoes.ValidaDataNascimento(value.DataNascimento)) { throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.NotAcceptable) { Content = new StringContent("Data de nascimento inválida."), ReasonPhrase = "Campo inválido" }); } #endregion using (var repositorio = new OdontologistaRepositorio(new Connection(new System.Data.SqlClient.SqlConnection()))) { repositorio.Atualizar(value); } }