コード例 #1
0
ファイル: InegiBL.cs プロジェクト: carlosfletes/API_better
        public AnioDTO GetAnio(List <InegiDTO> inegiList)
        {
            int menor = inegiList.Min(item => item.Nacimiento);
            int mayor = inegiList.Max(item => item.Muerte);

            int cuantos = 0;

            for (int anio = menor; anio <= mayor; anio++)
            {
                //Busco cuantas personas vivieron entre ese año
                cuantos = inegiList.Count(item => item.Nacimiento <= anio && item.Muerte >= anio);

                //Genero el elemento con el resultado
                AnioDTO anioDTO = new AnioDTO
                {
                    Anio          = anio,
                    PersonasVivas = cuantos
                };

                _anioDTOList.Add(anioDTO);
            }

            //esta es la cantidad mayor de personas vivas
            mayor = _anioDTOList.Max(item => item.PersonasVivas);

            AnioDTO anioResultado = _anioDTOList.Where(item => item.PersonasVivas.Equals(mayor)).FirstOrDefault();

            return(anioResultado);
        }
コード例 #2
0
        public IActionResult Post([FromBody] List <InegiDTO> inegiList)
        {
            try
            {
                AnioDTO anio = _inegiBL.GetAnio(inegiList);

                return(Ok($"El resultado es {anio.Anio} con {anio.PersonasVivas} personas vivas"));
            }
            catch (Exception ex)
            {
                return(BadRequest(ex.Message));
            }
        }