private SP.ListItem GetLinkedProject() { // get all linked projects SP.ListItemCollection linkedProjects = GetItemsFromSharepointList( SharepointConstants.Links.linkedProjectList, SharepointConstants.Views.allItems ); if (linkedProjects.Count == 0) { //return null; } // see if the current project is linked SP.ListItem linkedProject = SharepointMethods.GetItem( linkedProjects, SharepointConstants.ColumnHeaders.Title, _doc.Title ); return(linkedProject); }
private void HandleState() { // check user credentials CheckLogin(); if (_isLoggedIn) { using (ProgressDialog pd = new ProgressDialog("Loading data.", 4)) { pd.Show(); // get current user from sharepoint pd.StartTask("Looking up user."); SP.ListItem user = GetCurrentUser(); if (user == null) { // disable the form if the user doesn't exist SharepointConstants.Cache.user = null; DisableForm(); pd.Close(); return; } SharepointConstants.Cache.user = user; // CheckUser(); pd.Increment(); // get all available projects from sharepoint pd.StartTask("Fetching sharepoint projects."); SP.ListItemCollection projects = GetProjects(); if (projects == null) { SharepointConstants.Cache.projects = null; pd.Close(); return; } SharepointConstants.Cache.projects = projects; pd.Increment(); // check if the project is linked pd.StartTask("Checking Revit model link status."); SP.ListItem linkedProject = GetLinkedProject(); if (linkedProject == null) { // display the available projects in the dropdown box SharepointConstants.Cache.project = null; DisplayProjects(projects); ReloadForm(); pd.Close(); return; } pd.Increment(); // get the sharepoint project associated with the linked project pd.StartTask("Establishing Revit model to Sharepoint link."); SP.ListItem spProject = SharepointMethods.GetItem( projects, SharepointConstants.ColumnHeaders.ID, linkedProject[SharepointConstants.ColumnHeaders.project_id].ToString() ); SharepointConstants.Cache.project = spProject; pd.Increment(); } } // refresh the form ReloadForm(); }