Exemplo n.º 1
0
 public void SaveItemInList(string n, float v, int ms, int ys, bool exavg, bool merge)
 {
     if (merge)
     {
         int index = CheckForDuplicateName(n);
         if (index != -1)
         {
             //merge
             float previousValue = curList[index].value;
             curList[index] = lvlOne.NewMoneyEntry(n, v + previousValue, ms, ys, exavg);
         }
         //TODO its the same as below we might be better off with just one
         else
         {
             //there is no other item with the same name on the list just save it.
             Structs.MoneyEntry newEntry = lvlOne.NewMoneyEntry(n, v, ms, ys, exavg);
             curList.Add(newEntry);
         }
     }
     else
     {
         //not on list
         Structs.MoneyEntry newEntry = lvlOne.NewMoneyEntry(n, v, ms, ys, exavg);
         curList.Add(newEntry);
     }
     ClearList();
     nav.PickListClick(curListName);
     lvlOne.SaveData();
 }
Exemplo n.º 2
0
    void SaveQuickExpense()
    {
        if (String.IsNullOrEmpty(nField))
        {
            return;
        }

        if (hideMoneyButtons)
        {
            //new tag
            if (String.IsNullOrEmpty(lvlOne.tagList.Find(i => i.name == nField).name))
            {
                Structs.Tag newTag = new Structs.Tag()
                {
                    name  = nField + "-tag",
                    value = totalValue
                };
                lvlOne.AddToList("tagList", new Structs.MoneyEntry(), newTag);
                //if (totalValue > 0) {
                Structs.MoneyEntry newRand = lvlOne.NewMoneyEntry(nField + "-tag", totalValue, -1, 0, false);
                lvlOne.AddToList("randomExpenses", newRand, new Structs.Tag());
                //}
            }
            //tag exists
            else
            {
                Structs.MoneyEntry newRand = lvlOne.selectedMonth.randomExpenses.Find(i => i.name == nField);
                newRand.value += totalValue;
                lvlOne.selectedMonth.randomExpenses.Remove(lvlOne.selectedMonth.randomExpenses.Find(i => i.name == nField));
                lvlOne.selectedMonth.randomExpenses.Add(newRand);

                lvlOne.tagList.Remove(lvlOne.tagList.Find(i => i.name == nField));
                Structs.Tag newTag = new Structs.Tag()
                {
                    name  = newRand.name,
                    value = newRand.value
                };
                lvlOne.tagList.Add(newTag);
                lvlOne.SaveData();
                Debug.Log(lvlOne.selectedMonth);
            }
        }
        else
        {
            if (nameField.transform.Find("Text").gameObject.GetComponent <Text>().text == "")
            {
                nField = nameField.GetComponent <InputField>().text = DateTime.Now.ToString();
            }
            if (moneyField.GetComponent <InputField>().text == "")
            {
                totalValue = 0;
            }
            Structs.MoneyEntry newRand = lvlOne.NewMoneyEntry(nField, totalValue, -1, 0, false);
            lvlOne.AddToList("randomExpenses", newRand, new Structs.Tag());
        }
        lvlOne.SaveData();
        ResetQuickExpenses();
    }
Exemplo n.º 3
0
    public Structs.MoneyEntry NewMoneyEntry(string n, float v, int ms, int ys, bool exavg)
    {
        Structs.MoneyEntry newEntry = new Structs.MoneyEntry()
        {
            date   = DateTime.Now,
            name   = n,
            value  = v,
            months = (ms + 12 * ys) < -1 ? -1 : ms + 12 * ys,
            excludeFromAvenrage = exavg
        };

        return(newEntry);
    }
Exemplo n.º 4
0
    public void AddToList(string where, Structs.MoneyEntry what, Structs.Tag what_tag)
    {
        switch (where)
        {
        case "income":
            selectedMonth.income.Add(what);
            break;

        case "standarExpenses":
            selectedMonth.standarExpenses.Add(what);
            break;

        case "randomExpenses":
            selectedMonth.randomExpenses.Add(what);
            break;

        case "tagList":
            tagList.Add(what_tag);
            break;
        }
    }
Exemplo n.º 5
0
    public void PopulateEditPanel(Structs.MoneyEntry item)
    {
        nameText.GetComponent <InputField>().text  = item.name;
        valueText.GetComponent <InputField>().text = item.value.ToString();

        nameField  = nameText.GetComponent <InputField>().text;
        valueField = float.Parse(valueText.GetComponent <InputField>().text);
        excludeAverageButtonText.GetComponent <Text>().text = item.excludeFromAvenrage ? "Yes" : "No";

        if (item.months > 0)
        {
            Awake();
            perm      = false;
            populated = true;
            HandlePermanentBound();
            int ys = item.months / 12;
            permanentBound[0].GetComponent <InputField>().text = (item.months - ys * 12).ToString();
            permanentBound[1].GetComponent <InputField>().text = ys.ToString();
            monthsField = int.Parse(permanentBound[0].GetComponent <InputField>().text);
            yearsField  = int.Parse(permanentBound[1].GetComponent <InputField>().text);
        }
    }
Exemplo n.º 6
0
    public void UpdateSavedEntry(string n, float v, int ms, int ys, bool exavg = true)
    {
        Button b = openListItem.transform.GetChild(0).gameObject.GetComponent <Button>();

        //if (n!=curListItem.name && listMngr.CheckForDuplicateName(n) != -1) {
        //    nav.editing = true;
        //    nav.OpenMergePanel();
        //    return;
        //}
        b.transform.Find("Name").GetComponent <Text>().text  = n;
        b.transform.Find("Value").GetComponent <Text>().text = v.ToString();
        if (listMngr.curList.Count == 0)
        {
            Structs.MoneyEntry me = new Structs.MoneyEntry()
            {
                date   = DateTime.Now,
                name   = n,
                value  = v,
                months = (ms + 12 * ys) < -1 ? -1 : ms + 12 * ys,
                excludeFromAvenrage = exavg
            };

            listMngr.curList.Add(me);
        }
        else
        {
            if (int.Parse(openListItem.name) >= listMngr.curList.Count)
            {
                listMngr.curList.Add(new Structs.MoneyEntry()
                {
                    date   = DateTime.Now,
                    name   = n,
                    value  = v,
                    months = (ms + 12 * ys) < -1 ? -1 : ms + 12 * ys,
                    excludeFromAvenrage = exavg
                });
            }
            else
            {
                listMngr.curList[int.Parse(openListItem.name)] = new Structs.MoneyEntry()
                {
                    date   = DateTime.Now,
                    name   = n,
                    value  = v,
                    months = (ms + 12 * ys) < -1 ? -1 : ms + 12 * ys,
                    excludeFromAvenrage = exavg
                }
            };
        }
        UpdateBalance();
        //update month average data by sending the month
        GetComponent <Predictions>().GetMonthAverage(loadedData, curMonth);
    }

    void UpdateBalance()
    {
        selectedMonth.balance    = SumListItems(selectedMonth.income) - SumListItems(selectedMonth.standarExpenses) - SumListItems(selectedMonth.randomExpenses);
        selectedMonth.avgBalance = SumListItems(selectedMonth.income) - SumListItems(selectedMonth.standarExpenses) - SumListItems(selectedMonth.randomExpenses, true);
        int index = loadedData.Data.FindIndex(a => a.month == selectedMonth.month && a.year == selectedMonth.year);

        loadedData.Data[index] = new Structs.MonthStats()
        {
            income          = loadedData.Data[index].income,
            standarExpenses = loadedData.Data[index].standarExpenses,
            randomExpenses  = loadedData.Data[index].randomExpenses,
            month           = loadedData.Data[index].month,
            year            = loadedData.Data[index].year,
            balance         = selectedMonth.balance,
            avgBalance      = selectedMonth.avgBalance
        };

        hackTxt.text = "\n balance :" + selectedMonth.balance.ToString() + "\n avgBalance :" + selectedMonth.avgBalance.ToString();
    }