예제 #1
0
        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();
            }
        }
예제 #2
0
        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);
            }
        }