예제 #1
0
        public void Editar(Balance balance)
        {
            //Encuentro el balance a actualizar
            var balanceAntiguo = ListaBalance.Find(x => x.GastoIngreso == balance.GastoIngreso && x.BalanceId == balance.BalanceId);

            //Encuentro el gasto o ingreso  a actualizar en la base de datos y cambio uno a uno los valores
            if (balance.GastoIngreso == "Ingreso")
            {
                var IngresoAntiguo = dataService.Get <Ingresos>(true).Find(x => x.IngresoId.ToString() == balance.BalanceId);
                IngresoAntiguo.Dia             = balance.Dia;
                IngresoAntiguo.Mes             = balance.Mes;
                IngresoAntiguo.Anio            = balance.Anio;
                IngresoAntiguo.IngresoNombre   = balance.Origen;
                IngresoAntiguo.IngresoCantidad = balance.Cantidad;
                dataService.Update(IngresoAntiguo, true);
            }
            else
            {
                var GastoAntiguo = dataService.Get <Gastos>(true).Find(x => x.GastosId.ToString() == balance.BalanceId);
                GastoAntiguo.Dia            = balance.Dia;
                GastoAntiguo.Mes            = balance.Mes;
                GastoAntiguo.Anio           = balance.Anio;
                GastoAntiguo.GastoNombre    = balance.Origen;
                GastoAntiguo.GastosCantidad = balance.Cantidad;
                dataService.Update(GastoAntiguo, true);
            }
            balanceAntiguo    = balance;
            CollectionBalance = new ObservableCollection <Balance>(ListaBalance.OrderBy(x => double.Parse(x.Fecha.Substring(0, 2))).ToList());
            instanciarPaginasService.Instanciar();
        }
예제 #2
0
        private void CargarLaObservableCollection(string selectedItemMes, string selectedItemAño)
        {
            ListaBalance.Clear();

            //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 ingresos
            if (dataService.Get <Ingresos>(true).Exists(x => x.Mes == selectedItemMes && x.Anio == selectedItemAño))
            {
                foreach (var ListadeBalanceIngreso in dataService.Get <Ingresos>(true).Where(x => x.Mes == selectedItemMes && x.Anio == selectedItemAño).ToList())
                {
                    Balance = new Balance
                    {
                        BalanceId         = ListadeBalanceIngreso.IngresoId.ToString(),
                        Dia               = ListadeBalanceIngreso.Dia,
                        Mes               = ListadeBalanceIngreso.Mes,
                        Anio              = ListadeBalanceIngreso.Anio,
                        Fecha             = string.Format("{0}/{1}/{2}", ListadeBalanceIngreso.Dia, ListadeBalanceIngreso.Mes, ListadeBalanceIngreso.Anio),
                        ImagenFecha       = "date",
                        GastoIngreso      = "Ingreso",
                        Cantidad          = ListadeBalanceIngreso.IngresoCantidad,
                        ImagenMonto       = "money",
                        ColorGastoIngreso = Color.Green,
                        Origen            = ListadeBalanceIngreso.IngresoNombre,
                        ImagenOrigen      = "income"
                    };
                    if (!double.TryParse((string)Balance.Cantidad, out double result))
                    {
                        Balance.Cantidad = 0.ToString();
                    }
                    ListaBalance.Add(Balance);
                }
            }
            //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
            if (dataService.Get <Gastos>(true).Exists(x => x.Mes == selectedItemMes && x.Anio == selectedItemAño))
            {
                foreach (var ListadeBalanceGastos in dataService.Get <Gastos>(true).Where(x => x.Mes == selectedItemMes && x.Anio == selectedItemAño).ToList())
                {
                    Balance = new Balance
                    {
                        BalanceId         = ListadeBalanceGastos.GastosId.ToString(),
                        Dia               = ListadeBalanceGastos.Dia,
                        Mes               = ListadeBalanceGastos.Mes,
                        Anio              = ListadeBalanceGastos.Anio,
                        Fecha             = string.Format("{0}/{1}/{2}", ListadeBalanceGastos.Dia, ListadeBalanceGastos.Mes, ListadeBalanceGastos.Anio),
                        ImagenFecha       = "date",
                        GastoIngreso      = ListadeBalanceGastos.Categoria,
                        Cantidad          = string.Format("-{0}", ListadeBalanceGastos.GastosCantidad),
                        ImagenMonto       = "money",
                        ColorGastoIngreso = Color.Red,
                        Origen            = ListadeBalanceGastos.GastoNombre
                    };
                    if (Balance.Cantidad.Contains("--"))
                    {
                        Balance.Cantidad = Balance.Cantidad.Replace("--", "-");
                    }
                    if (!double.TryParse((string)Balance.Cantidad, out double result))
                    {
                        Balance.Cantidad = 0.ToString();
                    }
                    switch (Balance.GastoIngreso)
                    {
                    case "Servicios":
                        Balance.ImagenOrigen = "servicios";
                        break;

                    case "Ocio":
                        Balance.ImagenOrigen = "ocio";
                        break;

                    case "Provisiones":
                        Balance.ImagenOrigen = "provisiones";
                        break;

                    case "Impuestos":
                        Balance.ImagenOrigen = "impuestos";
                        break;

                    default:
                        Balance.ImagenOrigen = "Sin Imagen Disponible";
                        break;
                    }
                    ListaBalance.Add(Balance);
                }
            }

            CollectionBalance = new ObservableCollection <Balance>(ListaBalance.OrderByDescending(x => double.Parse(x.Dia)).ToList());

            BalanceTotal = ListaBalance.Sum(x => double.Parse(x.Cantidad)).ToString();
            if (double.Parse(BalanceTotal) < 0)
            {
                ColorBalance = Color.Red;
            }
            else if (double.Parse(BalanceTotal) > 0)
            {
                ColorBalance = Color.Green;
            }
        }