public async Task <List <Project> > GetProjects()
 {
     try
     {
         return(await ProjectManagementServiceHelper.GetProjects(ProjectManagementSettings.Instance.Token));
     }
     catch (Exception e)
     {
         throw e;
         //Add better error handling
     }
 }
        public async Task DeleteProject(Project p)
        {
            try
            {
                ShowProgress();
                await ProjectManagementServiceHelper.DeleteProject(p.ProjectID, ProjectManagementSettings.Instance.Token);

                HideProgress();
            }
            catch (Exception e)
            {
                HideProgress();
                throw e;
                //Add better error handling
            }
        }
        public async Task SignIn(string username, string password)
        {
            try
            {
                if (string.IsNullOrEmpty(username))
                {
                    throw new Exception("Username can not be empty.");
                }
                ShowProgress();
                string token = await ProjectManagementServiceHelper.Authenticate(username, password);

                ProjectManagementSettings.Instance.Token = token;
                HideProgress();
            }
            catch (Exception)
            {
                HideProgress();
                throw;
            }
        }