public PaperModel GetPaperIds() { PaperModel objectModel = new PaperModel(); foreach (var selectedObject in objectListView_PaperMembers.Objects) { if (((PaperListViewItemModel)selectedObject).IsChecked) { string paperName = ((PaperListViewItemModel)selectedObject).PaperName; string paperId = ((PaperListViewItemModel)selectedObject).PaperId; // update model PaperListViewItemModel lvItem = new PaperListViewItemModel() { PaperName = paperName, PaperId = paperId }; objectModel.Paper.Add(lvItem); } } return(objectModel); }
private IList <PaperListViewItemModel> GetPaperDocs(IPaperModel model, IMainPresenter presenter, TeamListViewItemModel memberitem) { IMemberServices service = new MemberServices(ApplicationResource.BaseUrl, ApplicationResource.ApiVersion); service.ListPaperDocsUrl = ApplicationResource.ActionListPaperDocs; service.UserAgentVersion = ApplicationResource.UserAgent; string paperAccessToken = ApplicationResource.DefaultAccessToken; string memberId = string.Empty; IList <PaperListViewItemModel> docIds = new List <PaperListViewItemModel>(); //foreach (var memberitem in members) //{ if (!string.IsNullOrEmpty(memberitem.TeamId)) { memberId = memberitem.TeamId; } IDataResponse response = service.ListPaperDocs(new MemberData() { MemberId = memberId }, paperAccessToken); if (response.StatusCode == HttpStatusCode.OK) { if (response.Data != null) { string data = response.Data.ToString(); dynamic jsonData = JsonConvert.DeserializeObject <dynamic>(data); int resultCount = jsonData["doc_ids"].Count; for (int i = 0; i < resultCount; i++) { dynamic paperDocId = jsonData["doc_ids"][i]; // update model PaperListViewItemModel lvItem = new PaperListViewItemModel() { PaperId = paperDocId, MemberId = memberId, IsChecked = true }; docIds.Add(lvItem); } //if the group count is above limit - default 1000 we need to grab the cursor and call continue string cursor = jsonData["cursor"]["value"]; bool hasMore = jsonData["has_more"]; while (hasMore) { service.ListPaperDocsUrl = ApplicationResource.ActionListContinuationPaperDocs; IDataResponse responseCont = service.ListPaperDocs(new MemberData() { Cursor = cursor }, paperAccessToken); string dataCont = responseCont.Data.ToString(); dynamic jsonDataCont = JsonConvert.DeserializeObject <dynamic>(dataCont); int resultContCount = jsonDataCont["doc_ids"].Count; for (int i = 0; i < resultContCount; i++) { dynamic paperDocId = jsonDataCont["doc_ids"][i]; // update model PaperListViewItemModel lvItem = new PaperListViewItemModel() { PaperId = paperDocId, MemberId = memberId, IsChecked = true }; docIds.Add(lvItem); } hasMore = jsonDataCont["has_more"]; cursor = jsonDataCont["cursor"]["value"]; } } } return(docIds); //} }
private void GetPaperMetadata(IPaperModel model, IMainPresenter presenter, string docId, string memberId) { IMemberServices service = new MemberServices(ApplicationResource.BaseUrl, ApplicationResource.ApiVersion); service.GetPaperMetadataUrl = ApplicationResource.ActionGetPaperDocMetadata; service.UserAgentVersion = ApplicationResource.UserAgent; string paperAccessToken = ApplicationResource.DefaultAccessToken; IMemberServices serviceFolderInfo = new MemberServices(ApplicationResource.BaseUrl, ApplicationResource.ApiVersion); serviceFolderInfo.PaperDocFolderInfoUrl = ApplicationResource.ActionPaperDocFolderInfo; serviceFolderInfo.UserAgentVersion = ApplicationResource.UserAgent; string folderPath = @"/"; try { if (SyncContext != null) { SyncContext.Post(delegate { presenter.UpdateProgressInfo(string.Format("Retrieving Paper doc metadata for id: {0}", docId)); }, null); } //get paper doc folder info to add to listview object IDataResponse responseFolderInfo = serviceFolderInfo.GetPaperDocFolderInfo(docId, paperAccessToken, memberId); if (responseFolderInfo.StatusCode == HttpStatusCode.OK) { if (responseFolderInfo.Data != null) { string data = responseFolderInfo.Data.ToString(); dynamic jsonData = JsonConvert.DeserializeObject <dynamic>(data); int resultCount = 0; if (data != "{}") { resultCount = jsonData["folders"].Count; for (int i = 0; i < resultCount; i++) { dynamic folders = jsonData["folders"][i]; dynamic folderPathobj = folders["name"]; string folderPathNext = folderPathobj.Value as string; folderPath = folderPath + folderPathNext + "/"; } } } } //now get remainder of metadata IDataResponse response = service.GetPaperMetadata(docId, paperAccessToken, memberId); if (response.StatusCode == HttpStatusCode.OK) { if (response.Data != null) { string data = response.Data.ToString(); dynamic jsonData = JsonConvert.DeserializeObject <dynamic>(data); dynamic paperDocIdobj = jsonData["doc_id"]; dynamic ownerobj = jsonData["owner"]; dynamic paperNameobj = jsonData["title"]; dynamic createdDateobj = jsonData["created_date"]; dynamic statusobj = jsonData["status"][".tag"]; dynamic revisionobj = jsonData["revision"]; dynamic lastUpdatedDateobj = jsonData["last_updated_date"]; dynamic lastEditorobj = jsonData["last_editor"]; string paperDocId = paperDocIdobj.Value as string; string owner = ownerobj.Value as string; string paperName = paperNameobj.Value as string; DateTime createdDate = DateTime.MinValue; if (createdDateobj != null) { createdDate = createdDateobj; } string status = statusobj.Value as string; UInt64 revision = 0; if (revisionobj != null) { revision = revisionobj; } DateTime lastUpdatedDate = DateTime.MinValue; if (lastUpdatedDateobj != null) { lastUpdatedDate = lastUpdatedDateobj; } string lastEditor = lastEditorobj.Value as string; // update model PaperListViewItemModel lvItem = new PaperListViewItemModel() { PaperId = paperDocId, Owner = owner, PaperName = paperName, FolderPath = folderPath, CreatedDate = createdDate, Status = status, Revision = revision, LastUpdatedDate = lastUpdatedDate, LastEditor = lastEditor, MemberId = memberId, IsChecked = true }; model.Paper.Add(lvItem); } } } catch (Exception) { // error message. SyncContext.Post(delegate { presenter.ShowErrorMessage(ErrorMessages.FAILED_TO_GET_PAPER_METADATA, ErrorMessages.DLG_DEFAULT_TITLE); presenter.UpdateProgressInfo(""); presenter.ActivateSpinner(false); presenter.EnableControl(true); }, null); } }