Пример #1
0
        public async Task <ClientDashboard> GetDashboard(string clientId)
        {
            EstadisticaDiario dia = await _estadisticasService.GetDiario(clientId);

            EstadisticaSemanal semana = await _estadisticasService.GetSemanal(clientId);

            EstadisticaMensual mensual = await _estadisticasService.GetMensual(clientId);

            Cuenta cnt = await _financieroService.GetCuenta(clientId);

            ClienteOpciones opt = await _opcionesService.GetOpciones(clientId);

            DateTime utcCuba = DateTime.Now.ToUtcCuba();

            double costoAnuncio = await _financieroService.CostoAnuncio(clientId);

            double gastoEsperado = await GetGastoEsperadoByClient(clientId, utcCuba);


            PrediccionIndicadores prediccion = new PrediccionIndicadores(cnt.Saldo, gastoEsperado);

            ClientDashboard dashboard = new ClientDashboard(cnt, dia, semana, mensual, opt, prediccion);

            return(dashboard);
        }
Пример #2
0
        private async Task <ClientDetalles> BuildDetallesModel(string ClientId)
        {
            Cuenta cuenta = await _financieroService.GetCuentaIncludeAll(ClientId);

            IdentityUser clientUser = cuenta.User;
            IEnumerable <RecargaDetail> recargas = await _financieroService.GetRecargasByClient(ClientId);

            DateTime date = DateTime.Now.ToUtcCuba();
            double   GastoEsperadoActual = await _userControlService.GetGastoEsperadoByClient(ClientId, date);

            PrediccionIndicadores prediccion = new PrediccionIndicadores(cuenta.Saldo, GastoEsperadoActual);

            date = date.AddMonths(1);
            date = new DateTime(date.Year, date.Month, 1);
            double GastoEsperadoProximo = await _userControlService.GetGastoEsperadoByClient(ClientId, date);;

            EstadisticaDiario dia = await _estadisticasService.GetDiario(ClientId);

            EstadisticaSemanal semana = await _estadisticasService.GetSemanal(ClientId);

            EstadisticaMensual mensual = await _estadisticasService.GetMensual(ClientId);

            ClientDetalles model = new ClientDetalles(clientUser, recargas, cuenta,
                                                      prediccion, GastoEsperadoProximo,
                                                      dia, semana, mensual);

            return(model);
        }
        public async Task <EstadisticaMensual> GetMensual(string clientId)
        {
            DateTime UtcCuba = DateTime.Now.ToUtcCuba();
            List <EstadisticaDiario> days = new List <EstadisticaDiario>();

            while (UtcCuba.Day > 1)
            {
                days.Add(await GetDiarioDetail(clientId, UtcCuba));
                UtcCuba = UtcCuba.AddDays(-1);
            }
            days.Add(await GetDiarioDetail(clientId, UtcCuba));

            int                tot   = days.Sum(r => r.Total);
            double             gasto = Math.Round(days.Sum(r => r.Gasto), 3);
            EstadisticaMensual mes   = new EstadisticaMensual(days, tot, gasto);

            return(mes);
        }
Пример #4
0
 /// <summary>
 /// Constructor
 /// </summary>
 /// <param name="client">IdentityUser del cliente en cuestion</param>
 /// <param name="Recargas">Lista de ultimas recargas recibidas</param>
 /// <param name="cuenta">Cuenta actual</param>
 /// <param name="GastoEsperadoActual">Gasto esperado en lo que resta de mes</param>
 /// <param name="GastoEsperadoProximo">Gasto esperado para el mes próximo</param>
 public ClientDetalles(IdentityUser client,
                       IEnumerable <RecargaDetail> Recargas,
                       Cuenta cuenta,
                       PrediccionIndicadores prediccionIndicadores,
                       double GastoEsperadoProximo,
                       EstadisticaDiario Diario,
                       EstadisticaSemanal Semanal,
                       EstadisticaMensual Mensual)
 {
     Id            = client.Id;
     UserName      = client.UserName;
     Phone         = client.PhoneNumber;
     this.Recargas = Recargas;
     Cuenta        = new CuentaDTO(cuenta);
     this.PrediccionIndicadores = prediccionIndicadores;
     this.GastoEsperadoProximo  = GastoEsperadoProximo;
     this.Diario  = Diario;
     this.Semanal = Semanal;
     this.Mensual = Mensual;
 }