public FileContentResult Registro(M_FiltroReporte filtroReporte, int idTipoReporte = 1) { #region [Región: Obtener Reporte] var registroBusiness = new RegistroBusiness(); int idUsuario = Convert.ToInt32(ClaimsPrincipal.Current.FindFirst(ClaimTypes.Sid).Value); var reporte = registroBusiness.Listar(idUsuario, filtroReporte.FechaDesde ?? DateTime.Now.AddYears(-10), filtroReporte.FechaHasta ?? DateTime.Now.AddYears(10)); #endregion #region [Región: Parsear Registro - Excel] List <M_RegistroExcel> listaRegistroExcel = new List <M_RegistroExcel>(); foreach (var item in reporte) { M_RegistroExcel registroExcel = new M_RegistroExcel { TipoRegistro = item.TipoRegistro?.Descripcion ?? "-", Categoria = item.Categoria?.Descripcion ?? "-", SubCategoria = item.SubCategoria?.Descripcion ?? "-", Moneda = item.Moneda?.Descripcion ?? "-", Importe = string.Format(new System.Globalization.CultureInfo("es-AR"), "{0:N2}", item.Importe), Fecha = item.Fecha.ToShortDateString(), Descripcion = !string.IsNullOrEmpty(item.Descripcion) ? item.Descripcion : "-" }; listaRegistroExcel.Add(registroExcel); } #endregion #region [Región: Exportar Excel] byte[] filecontent = ReporteRegistro(listaRegistroExcel); return(File(filecontent, ExcelExportHelper.ExcelContentType, string.Format("{0}.xlsx", "MisCuentasReporte_Registros"))); #endregion }
public JsonResult RefrescarGraficoFlujoDinero() { try { var registroBusiness = new RegistroBusiness(); int idUsuario = Convert.ToInt32(ClaimsPrincipal.Current.FindFirst(ClaimTypes.Sid).Value); #region [Región: Declaraciones] decimal ingresos = 0; decimal gastos = 0; decimal ahorros = 0; bool estadoGrafico = false; List <string> data = new List <string>(); List <string> labels = new List <string>(); #endregion #region [Región: Labels] labels.Add("Ingresos"); labels.Add("Gastos"); //labels.Add("Ahorros"); #endregion #region [Región: Data] M_FiltroMisCuentas filtroMisCuentas = Session["FiltroMisCuentas"] as M_FiltroMisCuentas; var listaRegistros = registroBusiness.Listar(idUsuario, filtroMisCuentas.FechaDesde, filtroMisCuentas.FechaHasta); ingresos = listaRegistros.Where(x => x.idTipoRegistro == eTipoRegistro.Ingreso && x.idCategoria != eCategoria.Ahorros).Sum(x => x.Importe); gastos = listaRegistros.Where(x => x.idTipoRegistro == eTipoRegistro.Gasto).Sum(x => x.Importe); ahorros = listaRegistros.Where(x => x.idCategoria == eCategoria.Ahorros).Sum(x => x.Importe); data.Add(ingresos.ToString().Replace(',', '.')); data.Add(gastos.ToString().Replace(',', '.')); //data.Add(ahorros.ToString().Replace(',', '.')); estadoGrafico = (ingresos + gastos + ahorros) != 0 ? true : false; #endregion return(new JsonCamelCaseResult(new AppResponse <object> { Data = new { Success = estadoGrafico, labels = labels, data = data } })); } catch (Exception ex) { return(new JsonCamelCaseResult(new AppResponse <object> { Data = new { Success = false, Message = ex.Message.ToString() } })); } }
public JsonResult RefrescarGraficoGastosCategoria() { try { var registroBusiness = new RegistroBusiness(); int idUsuario = Convert.ToInt32(ClaimsPrincipal.Current.FindFirst(ClaimTypes.Sid).Value); #region [Región: Declaraciones] decimal gastosCategoria = 0; bool estadoGrafico = false; List <string> data = new List <string>(); List <string> labels = new List <string>(); #endregion #region [Región: Data] M_FiltroMisCuentas filtroMisCuentas = Session["FiltroMisCuentas"] as M_FiltroMisCuentas; var listaRegistros = registroBusiness.Listar(idUsuario, filtroMisCuentas.FechaDesde, filtroMisCuentas.FechaHasta).Where(x => x.idCategoria != eCategoria.Ahorros); #region [Región: Labels y Data] Dictionary <int, string> listaCategoriasPesos = new Dictionary <int, string>(); Dictionary <int, string> listaCategoriasDolares = new Dictionary <int, string>(); //Gastos en Pesos foreach (var item in listaRegistros) { if (item.idMoneda == eMoneda.Pesos) { if (!listaCategoriasPesos.Any(x => x.Key == item.idCategoria)) { listaCategoriasPesos.Add(item.idCategoria, item.Categoria.Descripcion); } } else { if (!listaCategoriasDolares.Any(x => x.Key == item.idCategoria)) { listaCategoriasDolares.Add(item.idCategoria, item.Categoria.Descripcion); } } } foreach (var categoria in listaCategoriasPesos) { labels.Add(string.Format("{0} ARS", categoria.Value)); gastosCategoria = listaRegistros.Where(x => x.idCategoria == categoria.Key).Sum(x => x.Importe); data.Add(gastosCategoria.ToString().Replace(',', '.')); } foreach (var categoria in listaCategoriasDolares) { labels.Add(string.Format("{0} USD", categoria.Value)); gastosCategoria = listaRegistros.Where(x => x.idCategoria == categoria.Key).Sum(x => x.Importe); data.Add(gastosCategoria.ToString().Replace(',', '.')); } estadoGrafico = listaRegistros.Count() > 0 ? true : false; #endregion #endregion return(new JsonCamelCaseResult(new AppResponse <object> { Data = new { Success = estadoGrafico, labels = labels, data = data } })); } catch (Exception ex) { return(new JsonCamelCaseResult(new AppResponse <object> { Data = new { Success = false, Message = ex.Message.ToString() } })); } }
public JsonResult RefrescarGraficoBalance() { try { var registroBusiness = new RegistroBusiness(); int idUsuario = Convert.ToInt32(ClaimsPrincipal.Current.FindFirst(ClaimTypes.Sid).Value); #region [Región: Declaraciones] decimal ingresos = 0; decimal gastos = 0; decimal neto = 0; bool estadoGrafico = false; List <string> data = new List <string>(); List <string> labels = new List <string>(); #endregion #region [Región: Data] M_FiltroMisCuentas filtroMisCuentas = Session["FiltroMisCuentas"] as M_FiltroMisCuentas; var fechaDesde = filtroMisCuentas.FechaDesde; var listaRegistros = registroBusiness.Listar(idUsuario, Convert.ToDateTime("01/01/2010"), filtroMisCuentas.FechaHasta).OrderBy(x => x.Fecha).ToList(); #region [Región: Labels y Date] List <DateTime> listaDias = new List <DateTime>(); while (fechaDesde <= filtroMisCuentas.FechaHasta) { listaDias.Add(fechaDesde); fechaDesde = fechaDesde.AddDays(1); } foreach (var diaMes in listaDias) { labels.Add(diaMes.ToString("dd/MM")); ingresos = listaRegistros.Where(x => x.idTipoRegistro == eTipoRegistro.Ingreso && x.idMoneda == eMoneda.Pesos && x.idCategoria != eCategoria.Ahorros && x.Fecha <= diaMes).Sum(x => x.Importe); gastos = listaRegistros.Where(x => x.idTipoRegistro == eTipoRegistro.Gasto && x.idMoneda == eMoneda.Pesos && x.idCategoria != eCategoria.Ahorros && x.Fecha <= diaMes).Sum(x => x.Importe); neto = ingresos - gastos; data.Add(neto.ToString().Replace(',', '.')); } estadoGrafico = listaRegistros.Count > 0 ? true : false; #endregion #endregion return(new JsonCamelCaseResult(new AppResponse <object> { Data = new { Success = estadoGrafico, labels = labels, data = data } })); } catch (Exception ex) { return(new JsonCamelCaseResult(new AppResponse <object> { Data = new { Success = false, Message = ex.Message.ToString() } })); } }