コード例 #1
0
        /// <summary>
        /// Verifica se existem campos obrigatórios não preenchidos, se o ID do atendimento e do paciente
        /// são válidos e se os campos respeitam os limites de caracteres especificados no Database.
        /// Antes de inserir uma clínica.
        /// </summary>
        /// <param name="entity">Objeto com os dados da consulta.</param>
        /// <returns>ID da consulta inserida no Databse ou gera uma exceção.</returns>
        public int Inserir(Consulta entity)
        {
            //Verifica se existem campos vazios.
            if (CamposVazios.Verificar(entity))
            {
                throw new DadoInvalidoException("Existem campos obrigatórios que não foram preenchidos!");
            }

            //Verifica se nenhum campo do objeto entity excede o limite de caracteres estipulado no Database.
            if (ExcedeLimiteDeCaracteres.Verificar(entity))
            {
                throw new DadoInvalidoException("Existem campos que excedem o limite de caracteres permitidos!");
            }

            //Verifica se o ID do atendimento é válido.
            var RepositorioMedico = new AtendimentoRepositorio();

            if (RepositorioMedico.SelecionarPorId(entity.IdAtendimento) == null)
            {
                throw new DadoInvalidoException($"Não foi encontrado nenhum antendimento " +
                                                $"com o ID: {entity.IdAtendimento}");
            }

            //Verifica se o ID do paciente é válido.
            var RepositorioPaciente = new PacienteRepositorio();

            if (RepositorioPaciente.SelecionarPorId(entity.IdPaciente) == null)
            {
                throw new DadoInvalidoException($"Não foi encontrado nenhum paciente " +
                                                $"com o ID: {entity.IdAtendimento}");
            }

            return(_consultaRepositorio.Inserir(entity));
        }
コード例 #2
0
        public ActionResult ObterPacientes()
        {
            _repositorio = new PacienteRepositorio();
            ModelState.Clear();

            return(View(_repositorio.ObterPacientes()));
        }
コード例 #3
0
        public JsonResult ExcluiDeNovo(int id)
        {
            _repositorio = new PacienteRepositorio();
            var retorno = _repositorio.DeletarPaciente(id);

            return(Json(retorno, JsonRequestBehavior.AllowGet));
        }
コード例 #4
0
        public JsonResult BuscaTodosDados()
        {
            _repositorio = new PacienteRepositorio();
            var retorno = _repositorio.ObterPacientes();

            return(Json(retorno, JsonRequestBehavior.AllowGet));
        }
コード例 #5
0
        public static PacienteRepositorio InstanciarRepositorioDePacientes()
        {
            if (pacienteRepositorio == null)
                pacienteRepositorio = new PacienteRepositorio();

            return pacienteRepositorio;
        }
コード例 #6
0
 public void Delete(int id)
 {
     using (var repositorio = new PacienteRepositorio(new Connection(new System.Data.SqlClient.SqlConnection())))
     {
         repositorio.Deletar(new Paciente()
         {
             Id = id
         });
     }
 }
コード例 #7
0
 public PacienteModel(int codigo, int?enderecoCodigo, string nome, string sobrenome, string cpf, string telefone, string email, string senha, DateTime?dataNascimento, PacienteRepositorio repositorio)
 {
     this.Codigo         = codigo;
     this.EnderecoCodigo = enderecoCodigo;
     this.Nome           = nome;
     this.Sobrenome      = sobrenome;
     this.Cpf            = cpf;
     this.Telefone       = telefone;
     this.Email          = email;
     this.Senha          = senha;
     this.DataNascimento = dataNascimento;
     this.repositorio    = new PacienteRepositorio();
 }
コード例 #8
0
 public ActionResult EditarPaciente(Paciente PacienteObj)
 {
     try
     {
         _repositorio = new PacienteRepositorio();
         if (_repositorio.AtualizarPaciente(PacienteObj))
         {
             ViewBag.Mensagem = "Dados do paciente alterados com sucesso";
         }
         return(View());
     }
     catch (Exception)
     {
         return(View("ObterPacientes"));
     }
 }
コード例 #9
0
 public Paciente Get(int idClinica, int id)
 {
     try
     {
         using (var repositorio = new PacienteRepositorio(new Connection(new System.Data.SqlClient.SqlConnection())))
         {
             return(repositorio.Obter(new Paciente()
             {
                 Id = id
             }));
         }
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
コード例 #10
0
 public IEnumerable <Paciente> Get(string cpf)
 {
     try
     {
         using (var repositorio = new PacienteRepositorio(new Connection(new System.Data.SqlClient.SqlConnection())))
         {
             return(repositorio.Buscar(new Paciente()
             {
                 Cpf = cpf
             }));
         }
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
コード例 #11
0
 public IEnumerable <Paciente> ComDependentes(int idClinica)
 {
     try
     {
         using (var repositorio = new PacienteRepositorio(new Connection(new System.Data.SqlClient.SqlConnection())))
         {
             return(repositorio.Buscar(new Paciente()
             {
                 IdClinicaDeCadastro = idClinica
             }, true));
         }
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
コード例 #12
0
        public ActionResult IncluirPaciente(Paciente PacienteObj)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    _repositorio = new PacienteRepositorio();
                    if (_repositorio.AdicionarPaciente(PacienteObj))
                    {
                        ViewBag.Mensagem = "Paciente cadastrado com sucesso";
                    }
                }

                return(View());
            }
            catch (Exception)
            {
                return(View("ObterPacientes"));
            }
        }
コード例 #13
0
        public ActionResult AgendasConsulta(Paciente PacienteObj)
        {
            try
            {
                _repositorio = new PacienteRepositorio();
                var retorno = _repositorio.AdicionarConsulta(PacienteObj);

                if (retorno)
                {
                    return(RedirectToAction("ObterPacientes"));
                }
                else
                {
                    return(RedirectToAction("ObterPacientes"));
                }
            }
            catch (Exception)
            {
                return(View("ObterPacientes"));
            }
        }
コード例 #14
0
        public void Put([FromBody] Paciente value)
        {
            #region Validaçãoes
            if (value.Id <= 0)
            {
                throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.NotAcceptable)
                {
                    Content      = new StringContent("Paciente inválido."),
                    ReasonPhrase = "Campo inválido"
                });
            }

            if (!string.IsNullOrEmpty(value.Cpf))
            {
                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 (!string.IsNullOrEmpty(value.Cep))
            {
                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 (string.IsNullOrWhiteSpace(value.Nome))
            {
                throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.NotAcceptable)
                {
                    Content      = new StringContent("Nome inválido."),
                    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"
                });
            }

            if (!Validacoes.ValidaCelular(value.Celular))
            {
                throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.NotAcceptable)
                {
                    Content      = new StringContent("Celular inválido."),
                    ReasonPhrase = "Campo inválido"
                });
            }

            if (!string.IsNullOrEmpty(value.Telefone))
            {
                if (!Validacoes.ValidaTelefone(value.Telefone))
                {
                    throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.NotAcceptable)
                    {
                        Content      = new StringContent("Telefone inválido."),
                        ReasonPhrase = "Campo inválido"
                    });
                }
            }
            #endregion

            using (var repositorio = new PacienteRepositorio(new Connection(new System.Data.SqlClient.SqlConnection())))
            {
                repositorio.Atualizar(value);
            }
        }
コード例 #15
0
 /// <summary>
 ///
 /// </summary>
 public PacienteNegocio()
 {
     _pacienteRepositorio = new PacienteRepositorio();
 }
コード例 #16
0
 public PacienteController()
 {
     repositorioPaciente = new PacienteRepositorio();
 }
コード例 #17
0
        public int Post([FromBody] Paciente value)
        {
            using (var transactionScope = new TransactionScope())
            {
                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 (!string.IsNullOrEmpty(value.Cep))
                    {
                        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 (string.IsNullOrWhiteSpace(value.Nome))
                    {
                        throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.NotAcceptable)
                        {
                            Content      = new StringContent("Nome inválido."),
                            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"
                        });
                    }

                    if (!string.IsNullOrEmpty(value.Celular))
                    {
                        if (!Validacoes.ValidaCelular(value.Celular))
                        {
                            throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.NotAcceptable)
                            {
                                Content      = new StringContent("Celular inválido."),
                                ReasonPhrase = "Campo inválido"
                            });
                        }
                    }

                    if (!string.IsNullOrEmpty(value.Telefone))
                    {
                        if (!Validacoes.ValidaTelefone(value.Telefone))
                        {
                            throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.NotAcceptable)
                            {
                                Content      = new StringContent("Telefone inválido."),
                                ReasonPhrase = "Campo inválido"
                            });
                        }
                    }
                    #endregion

                    var conexao = new Connection(new System.Data.SqlClient.SqlConnection());
                    using (var repositorio = new PacienteRepositorio(conexao))
                    {
                        int idPaciente = repositorio.Criar(value);

                        if (value.Usuario != null)
                        {
                            if (!string.IsNullOrEmpty(value.Usuario.Senha))
                            {
                                using (var repositorioUsuario = new UsuarioRepositorio(conexao))
                                {
                                    value.Usuario.Login      = value.Email;
                                    value.Usuario.idPaciente = idPaciente;
                                    repositorioUsuario.Criar(value.Usuario);
                                }
                            }
                        }

                        transactionScope.Complete();
                        return(idPaciente);
                    }
                }
                catch (Exception ex)
                {
                    throw ex;
                }
            }
        }
コード例 #18
0
 public PacienteController()
 {
     ViewBag.Title = "Agenda - Cadastro de Pacientes";
     pacienteRepositorio = (PacienteRepositorio)System.Web.HttpContext.Current.Application["pacienteRepositorio"];
 }
コード例 #19
0
        public void Editar(PacienteTO paciente)
        {
            PacienteRepositorio repPaciente = new PacienteRepositorio();

            repPaciente.Atualiza(paciente);
        }
コード例 #20
0
        public void Adicionar(PacienteTO paciente)
        {
            PacienteRepositorio repPaciente = new PacienteRepositorio();

            repPaciente.Novo(paciente);
        }
コード例 #21
0
        public List <PacienteTO> GetMeusPacientes()
        {
            PacienteRepositorio repPaciente = new PacienteRepositorio();

            return(repPaciente.GetTodos());
        }
コード例 #22
0
        public PacienteTO GetPacientePorId(int id)
        {
            PacienteRepositorio repPaciente = new PacienteRepositorio();

            return(repPaciente.GetPacientePorId(id));
        }
コード例 #23
0
 public PacienteModel()
 {
     this.repositorio = new PacienteRepositorio();
     base.repositorio = this.repositorio;
 }
コード例 #24
0
 public ActionResult AgendasConsulta(int id)
 {
     _repositorio = new PacienteRepositorio();
     return(View(_repositorio.ObterConsulta().Find(t => t.IdPaciente == id)));
 }
コード例 #25
0
 public ActionResult EditarPaciente(int id)
 {
     _repositorio = new PacienteRepositorio();
     return(View(_repositorio.ObterPacientes().Find(t => t.IdPaciente == id)));
 }