IEnumerator SwitchCoroutine(ExpenseListElement element, Project prevProject) { ExpenseList.RemoveListElement(element); prevProject.ItemCount--; element.Item.Project.ItemCount++; List <Project> projects = new List <Project>(); projects.Add(prevProject); projects.Add(element.Item.Project); Task task = projects.SaveAllAsync(); while (!task.IsCompleted) { yield return(null); } if (task.Exception != null) { DefaultAlert.Present("Sorry!", "An error occured and we " + "could not update the projects' item count"); } }
void AddExpense(Expense expense) { ExpenseListElement element = (ExpenseListElement) GameObject.Instantiate(ExpensePrefab, Vector3.zero, Quaternion.identity); element.Setup(expense); element.SetEditable(_project.Closed); ExpenseList.AddListElement(element); }
void ExpenseSwitchProject(ExpenseListElement element, Project prevProject) { StartCoroutine(SwitchCoroutine(element, prevProject)); }
void ExpenseRemoved(ExpenseListElement element) { ExpenseList.RemoveListElement(element); }