Exemplo n.º 1
0
    IEnumerator UpdateClients(ProjectListElement element, Client previous)
    {
        LoadAlert.Instance.StartLoad("Updating Clients...", null, -1);

        List <Client> updates = new List <Client>();

        previous.ProjectCount--;
        element.Project.Client.ProjectCount++;

        updates.Add(previous);
        updates.Add(element.Project.Client);

        Task updateClient = updates.SaveAllAsync();

        while (!updateClient.IsCompleted)
        {
            yield return(null);
        }

        LoadAlert.Instance.Done();

        if (updateClient.Exception == null)
        {
            ProjectList.RemoveListElement(element);
        }
    }
Exemplo n.º 2
0
    void AddProject(Project project)
    {
        ProjectListElement element = (ProjectListElement)
                                     GameObject.Instantiate(ProjectPrefab, Vector3.zero, Quaternion.identity);

        element.Setup(project);

        ProjectList.AddListElement(element);
    }
Exemplo n.º 3
0
    IEnumerator DeleteCoroutine(ProjectListElement element)
    {
        LoadAlert.Instance.StartLoad("Removing Project...", null, -1);

        Client client = element.Project.Client;

        Database.Instance.RemoveProject(element.Project);

        Task task = element.Project.DeleteAsync();

        while (!task.IsCompleted)
        {
            yield return(null);
        }

        if (task.Exception != null)
        {
            LoadAlert.Instance.Done();
            //display alert here?
        }
        else
        {
            ProjectList.RemoveListElement(element);

            client.ProjectCount--;

            task = client.SaveAsync();

            while (!task.IsCompleted)
            {
                yield return(null);
            }

            LoadAlert.Instance.Done();
        }
    }
Exemplo n.º 4
0
 void DeleteProject(ProjectListElement element)
 {
     StartCoroutine(DeleteCoroutine(element));
 }
Exemplo n.º 5
0
 void ProjectSwitchedClients(ProjectListElement element, Client previous)
 {
     StartCoroutine(UpdateClients(element, previous));
 }