コード例 #1
0
        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;
            }
        }
コード例 #2
0
        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;
            }
        }