Beispiel #1
0
        public async Task <KpiCliente> Kpi()
        {
            var response = await client.Child("Cliente").OnceAsync <Cliente>();

            var edades = response.Select(x => x.Object.Edad).ToList();

            double promedio = 0;

            double desviacion = 0;

            if (edades.Count > 0)
            {
                promedio = edades.Sum(x => x) / edades.Count;

                edades.ForEach(x => desviacion += Math.Pow(x - promedio, 2));

                desviacion = Math.Sqrt(desviacion / (edades.Count - 1));
            }

            KpiCliente kpi = new KpiCliente()
            {
                Promedio   = promedio,
                Desviacion = desviacion
            };

            return(kpi);
        }
        public IEnumerable <KpiCliente> GetKpi()
        {
            List <Cliente> Clientes = context.Clientes.ToList();
            KpiCliente     Kpi      = new KpiCliente();

            var promedioEdad       = (from cliente in Clientes select cliente.Edad).Average();
            var desviacionEstandar = CarlulaDesvEstandar(Clientes.Select(x => (double)x.Edad));

            Kpi.PromedioEdad       = promedioEdad;
            Kpi.DesviacionEstandar = desviacionEstandar;
            Kpi.TotalClientes      = Clientes.Count();

            yield return(Kpi);
        }