示例#1
0
        public Dieta CriarDieta(ConsultaNutricional consulta, decimal metaDeConsumoCalorica)
        {
            var dieta = new Dieta(_servicoDeDieta, metaDeConsumoCalorica);

            consulta.EspecificarDieta(dieta);

            return(dieta);
        }
示例#2
0
        public ConsultaNutricional CriarConsultaNutricional(Cliente paciente, DateTime dataDaConsulta, decimal peso, decimal porcentagemDeGordura, string restricoes, string sensacoesFisicas)
        {
            var consulta = new ConsultaNutricional(paciente, dataDaConsulta, peso, porcentagemDeGordura, restricoes, sensacoesFisicas);

            consulta = _repositorioDeConsultasNutricionais.Gravar(consulta);

            return(consulta);
        }
        public void DeveRetornarErroAoInformarPorcentagemDeGorduraMenorQueZero()
        {
            DateTime dataDaConsulta = DateTime.Today.AddDays(1);
            var paciente = RetornarUmClienteValido(); //Poderia ser mockado, ou movido para uma classe especializada
            decimal pesoDoPaciente = 70;
            decimal porcentagemGordura = -10;
            var restricoes = "";
            var sensacaoFisica = "";

            var consulta = new ConsultaNutricional(paciente, dataDaConsulta, pesoDoPaciente, porcentagemGordura, restricoes, sensacaoFisica);
        }
        private void ExibirDetalhesDaConsulta(ConsultaNutricional consulta)
        {
            string texto = "\n===========================================================";

            texto += $"\n";
            texto += $"\n----- Cliente";
            texto += $"\nCodigo do Paciente: {consulta.Paciente.Id}";
            texto += $"\nNome do Paciente {consulta.Paciente.Nome}";
            texto += $"\n\n----- Consulta";
            texto += $"\nCodigo da Consulta: {consulta.Id}";
            texto += $"\nHorário: {consulta.DataDaConsuta:dd/MM/yyyy HH:mm}";
            texto += $"\nPeso do Paciente: {consulta.PesoDoPaciente}";
            texto += $"\n % de gordura do Paciente: {consulta.PorcentagemDeGorduraDoPaciente}";
            texto += $"\nRestrições alimentares: {consulta.RestricoesAlimentares}";
            texto += $"\nSensação física do Paciente: {consulta.SensacaoFisicaDoPaciente}";
            texto += "\n===========================================================";
            ConsoleUtil.Escrever(texto);
        }
        private void RealizarNovaConsulta()
        {
            decimal  peso = 0;
            decimal  porcentagemDeGordura = 0;
            decimal  metaCalorica         = 0;
            string   restricoes           = "";
            string   sensacoesFisicas     = "";
            DateTime dataDaConsulta       = DateTime.Now;
            string   texto = ObterCabecalhoDeMenu("Nova Consulta Nutricional");

            ConsoleUtil.Escrever(texto);

            Cliente paciente = PesquisarClientePeloCodigo();

            if (paciente is null || paciente.Id <= 0)
            {
                ConsoleUtil.LimparConsole();
                IrParaMenuDeConsultasNutricionais();
                return;
            }

            peso = SolicitarPesoDoPaciente();
            porcentagemDeGordura = SolicitarPorcentagemDeGorduraDoPaciente();
            restricoes           = SolicitarRestricoesAlimentaresDoPaciente();
            sensacoesFisicas     = SolicitarSensacaoFisicaDoPaciente();

            ConsultaNutricional consulta = _consultaNutricionalApp.CriarConsultaNutricional(paciente, dataDaConsulta, peso, porcentagemDeGordura, restricoes, sensacoesFisicas);

            if (consulta != null)
            {
                ConsoleUtil.LimparConsole();
                texto = "\n==============Nova consulta criada com sucesso!===============";
                ConsoleUtil.Escrever(texto);

                ExibirDetalhesDaConsulta(consulta);

                CriarDietaDaConsulta(consulta);
                ConsoleUtil.LimparConsole();
                IrParaMenuDeConsultasNutricionais();
                return;
            }
        }
        private void CriarDietaDaConsulta(ConsultaNutricional consulta)
        {
            string texto = "\n\nDeseja criar uma nova Dieta para esta consulta? [S/N]: ";

            ConsoleUtil.Escrever(texto);
            string entrada = ConsoleUtil.LerEntradaDoUsuario();
            IEnumerable <CombinacaoDeAlimentosDeDieta> combinacoes = new List <CombinacaoDeAlimentosDeDieta>();
            decimal metaCalorica = 0;

            if (entrada.ToUpper().Equals("S"))
            {
                string refazer = "";
                do
                {
                    refazer      = "N";
                    metaCalorica = SolicitarMetaCaloricaParaOPaciente();

                    var dieta = _consultaNutricionalApp.CriarDieta(consulta, metaCalorica);
                    combinacoes = dieta.ObterCombinacaoDeAlimentos(maximoDeAlimentosPorGrupo: 1);

                    if (!combinacoes.Any())
                    {
                        texto = "\n\nNão foram encontrados combinações de alimentos para meta." +
                                "\nDeseja Refazer?[S/N]: ";
                        ConsoleUtil.Escrever(texto);
                        refazer = ConsoleUtil.LerEntradaDoUsuario();
                    }
                    else
                    {
                        ExibirCombinacoesDeAlimentos(combinacoes, metaCalorica);
                    }
                } while (refazer.ToUpper().Equals("S"));


                System.Console.ReadKey();
            }
        }
示例#7
0
 public ConsultaNutricional Gravar(ConsultaNutricional consulta)
 {
     _baseDeConsultaNutricionais.Add(consulta);
     return(consulta);
 }