public async void Delete(BalanceGeneral balanceGeneral) { var confirmacion = await dialogService.ShowMessageConfirmacion("Mensaje", "¿Desea borrar este elemento?"); if (confirmacion) { var balanceGeneralBorrar = ListaBalanceGeneral.Find(x => x.Mes.Equals(balanceGeneral.Mes) && x.Anio.Equals(balanceGeneral.Anio)); foreach (var IngresoParaBorrar in dataService.Get <Ingresos>(true).Where(x => x.Anio.Equals(balanceGeneral.Anio) && x.Mes.Equals(balanceGeneral.Mes)).ToList()) { dataService.Delete(IngresoParaBorrar); } foreach (var GastoParaBorrar in dataService.Get <Gastos>(true).Where(x => x.Anio.Equals(balanceGeneral.Anio) && x.Mes.Equals(balanceGeneral.Mes)).ToList()) { dataService.Delete(GastoParaBorrar); } ListaBalanceGeneral.Remove(balanceGeneralBorrar); CargarLaObservableCollection(); instanciarPaginasService.Instanciar(); } else { return; } }
private void CargarLaObservableCollection() { ListaBalanceGeneral.Clear(); //Agregado de objetos balanceGeneral a las observable collection en caso de que se encuentren el mes y el año pertenecientes a la fecha del día. En función de los ingresos foreach (var ListaIngresoPorAño in dataService.Get <Ingresos>(true).GroupBy(x => x.Anio).ToList()) { foreach (var ListaIngresoPorMes in ListaIngresoPorAño.GroupBy(x => x.Mes).ToList()) { ExisteObjeto = false; foreach (var CorroborarSiExisteObjeto in ListaBalanceGeneral) { if (CorroborarSiExisteObjeto.Mes.Equals(ListaIngresoPorMes.FirstOrDefault().Mes) && CorroborarSiExisteObjeto.Anio.Equals(ListaIngresoPorMes.FirstOrDefault().Anio)) { ExisteObjeto = true; } } if (ExisteObjeto) { var TotalDelMes = ListaIngresoPorMes.Sum(x => int.Parse(x.IngresoCantidad)).ToString(); var BalanceGeneralUpdate = ListaBalanceGeneral.Find(x => x.Mes.Equals(ListaIngresoPorMes.FirstOrDefault().Mes) && x.Anio.Equals(ListaIngresoPorMes.FirstOrDefault().Anio)); BalanceGeneralUpdate.CantidadIngreso = TotalDelMes; } else { var TotalDelMes = ListaIngresoPorMes.Sum(x => int.Parse(x.IngresoCantidad)).ToString(); BalanceGeneral = new BalanceGeneral { Mes = ListaIngresoPorMes.FirstOrDefault().Mes, Anio = ListaIngresoPorMes.FirstOrDefault().Anio, Fecha = string.Format("{0}/{1}", ListaIngresoPorMes.FirstOrDefault().Mes, ListaIngresoPorMes.FirstOrDefault().Anio), ImagenFecha = "date", CantidadIngreso = TotalDelMes, CantidadGasto = "0", ImagenMonto = "money" }; if (!double.TryParse(BalanceGeneral.CantidadIngreso, out double result)) { BalanceGeneral.CantidadIngreso = 0.ToString(); } ListaBalanceGeneral.Add(BalanceGeneral); } } } //Agregado de objetos balance a las observable collection en caso de que se encuentren el mes y el año pertenecientes a la fecha del día. En función de los gastos foreach (var ListaGastoPorAño in dataService.Get <Gastos>(true).GroupBy(x => x.Anio).ToList()) { foreach (var ListaGastoPorMes in ListaGastoPorAño.GroupBy(x => x.Mes).ToList()) { ExisteObjeto = false; foreach (var CorroborarSiExisteObjeto in ListaBalanceGeneral) { if (CorroborarSiExisteObjeto.Mes.Equals(ListaGastoPorMes.FirstOrDefault().Mes) && CorroborarSiExisteObjeto.Anio.Equals(ListaGastoPorMes.FirstOrDefault().Anio)) { ExisteObjeto = true; } } if (ExisteObjeto) { var TotalDelMes = ListaGastoPorMes.Sum(x => int.Parse(x.GastosCantidad)).ToString(); var BalanceGeneralUpdate = ListaBalanceGeneral.Find(x => x.Mes.Equals(ListaGastoPorMes.FirstOrDefault().Mes) && x.Anio.Equals(ListaGastoPorMes.FirstOrDefault().Anio)); BalanceGeneralUpdate.CantidadGasto = TotalDelMes; } else { var TotalDelMes = ListaGastoPorMes.Sum(x => int.Parse(x.GastosCantidad)).ToString(); BalanceGeneral = new BalanceGeneral { Mes = ListaGastoPorMes.FirstOrDefault().Mes, Anio = ListaGastoPorMes.FirstOrDefault().Anio, Fecha = string.Format("{0}/{1}", ListaGastoPorMes.FirstOrDefault().Mes, ListaGastoPorMes.FirstOrDefault().Anio), ImagenFecha = "date", CantidadGasto = string.Format("-{0}", TotalDelMes), CantidadIngreso = "0", ImagenMonto = "money" }; if (BalanceGeneral.CantidadGasto.Contains("--")) { BalanceGeneral.CantidadGasto = BalanceGeneral.CantidadGasto.Replace("--", "-"); } if (!double.TryParse(BalanceGeneral.CantidadGasto, out double result)) { BalanceGeneral.Cantidad = 0.ToString(); } ListaBalanceGeneral.Add(BalanceGeneral); } } } foreach (var balanceGeneral in ListaBalanceGeneral) { if (balanceGeneral.CantidadGasto.Equals(null)) { balanceGeneral.CantidadGasto = "0"; } if (balanceGeneral.CantidadIngreso.Equals(null)) { balanceGeneral.CantidadIngreso = "0"; } balanceGeneral.Cantidad = string.Format("{0}", (int.Parse(balanceGeneral.CantidadGasto) + int.Parse(balanceGeneral.CantidadIngreso))); if (double.Parse(balanceGeneral.Cantidad) < 0) { balanceGeneral.ColorGastoIngreso = Color.Red; } else if (double.Parse(balanceGeneral.Cantidad) > 0) { balanceGeneral.ColorGastoIngreso = Color.Green; } } CollectionBalance = new ObservableCollection <BalanceGeneral>(ListaBalanceGeneral.OrderByDescending(x => double.Parse(x.Anio)).ToList()); BalanceTotal = ListaBalanceGeneral.Sum(x => double.Parse(x.Cantidad)).ToString(); if (double.Parse(BalanceTotal) < 0) { ColorBalance = Color.Red; } else if (double.Parse(BalanceTotal) > 0) { ColorBalance = Color.Green; } }