// MARK: Flush public void doFlush(Objectives.FlushRequest request) { const int FLUSH_COST = 100; LocalMoneyWorker.Instance.Buy(FLUSH_COST, delegate(int amount) { var response = new Objectives.FlushResponse(); if (amount >= 0) { //since we are flushing, we should reset progress dans status for (int obj = 0; obj < numberOfObjectives; obj++) { ObjectivesWorker.Update(obj, fetchedSet, 0); ObjectivesWorker.UpdateStatus(obj, fetchedSet, false); } response.objectives = ObjectivesWorker.Flush(numberOfObjectives); //since we flushed data we fetch objectives again var fetchRequest = new Objectives.FetchRequest(); fetchRequest.numberOfObjectives = numberOfObjectives; fetchRequest.set = fetchedSet; doFetch(fetchRequest); } else //Flush failed { response.objectives = new Objectives.ObjectivesModel[] { }; } this.presenter.presentFlush(response); }); }
// MARK: Flush public void presentFlush(Objectives.FlushResponse response) { if (response.objectives.Length > 0) { NotifierPresenter.Instance.PerformInstantaneousRequest("Flushed Objectives !"); } else { NotifierPresenter.Instance.PerformInstantaneousRequest("You need more Money !"); } }
void IObjectivesPresenter.presentFlush(Objectives.FlushResponse response) { presentFlushCalled = true; lastFlushResponse = response; }