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); }
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); }
/// <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; }