public Paciente SalvarPaciente(Paciente paciente)
        {
            try
            {
                if (paciente == null)
                {
                    throw new Exception("Não é possivel salvar um Paciente vazio");
                }

                //Vendo se a idade do paciente e maior que 18
                int idade = DateTime.Now.Year - paciente.DataDeNascimento.Year;
                if (paciente.DataDeNascimento.AddYears(18) > DateTime.Now)
                {
                    idade = idade - 1;
                }

                //Chamando a classe ValidaCpf, passando uma string digitada pelo usuario
                bool valido = ValidarCpf.IsCpf(paciente.CPF);


                if (idade > 18 && paciente.Codigo != 0 && valido == true)
                {
                    //Verificando se existe algum codigo cadastrado no banco de dados
                    var codigo = repository.Get(x => x.Codigo == paciente.Codigo).FirstOrDefault();

                    //Verificando se existe algum cpf cadastrado no banco de dados
                    var cpf = repository.Get(x => x.CPF == paciente.CPF).FirstOrDefault();

                    if (codigo != null)
                    {
                        throw new Exception("Não é possivel salvar o Paciente com um código duplicado!");
                    }
                    else if (cpf != null)
                    {
                        throw new Exception("Não é possivel salvar o Paciente com um CPF duplicado!");
                    }
                    else
                    {
                        //Transformar string para Enum para salvar
                        //if(paciente.Planos == EnumPlanos.)
                        //var minhaString = "Segundo";
                        //MinhaEnum foo = (MinhaEnum)Enum.Parse(typeof(MinhaEnum), minhaString);
                        repository.Save(paciente);

                        return(paciente);
                    }
                }
                return(null);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Esempio n. 2
0
        public Paciente Get(string login, string senha)
        {
            try
            {
                var paciente = new Paciente();

                _dataContext.BeginTransaction();

                paciente = _pacienteRepository.Get(_dataContext, login, senha);

                ResponseService = new ResponseService()
                {
                    Type    = ResponseTypeEnum.Success,
                    Message = "Usuário consultado com sucesso."
                };

                return(paciente);
            }
            catch (Exception e)
            {
                ResponseService = new ResponseService()
                {
                    Type    = ResponseTypeEnum.Error,
                    Message = "Houve uma falha ao consultar o usuário."
                };

                return(new Paciente());
            }
            finally
            {
                _dataContext.Finally();
            }
        }
        public void Save(Agenda agenda)
        {
            try
            {
                _dataContext.BeginTransaction();

                agenda.Medico   = _medicoRepository.Get(_dataContext, agenda.Medico.Crm);
                agenda.Paciente = _pacienteRepository.Get(_dataContext, agenda.Paciente.Cpf);

                if (ValidaAgenda(agenda))
                {
                    if (agenda.Id > 0)
                    {
                        _agendaRepository.Update(_dataContext, agenda);
                    }
                    else
                    {
                        _agendaRepository.Add(_dataContext, agenda);
                    }

                    _dataContext.Commit();

                    ResponseService = new ResponseService()
                    {
                        Type    = ResponseTypeEnum.Success,
                        Message = "Agenda cadastrada com sucesso."
                    };
                }
            }
            catch (Exception e)
            {
                ResponseService = new ResponseService()
                {
                    Type    = ResponseTypeEnum.Error,
                    Message = "Houve uma falha ao cadastrar a agenda."
                };
                _dataContext.Rollback();
            }
            finally
            {
                _dataContext.Finally();
            }
        }