public Document CreateDocument(int?userID = null, int?classID = null, int?workspaceID = null) { if (userID == null || classID == null || workspaceID == null) { userID = storage.userID; classID = storage.classID; classID_g = storage.classID; workspaceID = storage.currentWorkspaceID; studentName_g = storage.displayName; } else { if (userID < 1 || classID < 0 || workspaceID < 0) { throw new Exception("The userID, classID and workspaceID parameters have to be greater than 0. No document was generated."); } else { userResponse = JsonConvert.DeserializeObject <userServerResponse>(func.APIRequest("GET", null, "user/" + userID)); if (userResponse.status) { classID_g = userResponse.contents[0].classID; studentName_g = userResponse.contents[0].displayName; } else { throw new Exception(GlobalStrings.Error + ": " + userResponse.errors); } } } try { summariesResponse = JsonConvert.DeserializeObject <summariesServerResponse>(func.APIRequest("GET", null, "user/" + userID + "/workspace/" + workspaceID + "/summary")); if (summariesResponse.status) { classResponse = JsonConvert.DeserializeObject <classServerResponse>(func.APIRequest("GET", null, "class/" + classID)); if (classResponse.status) { workspaceResponse = JsonConvert.DeserializeObject <workspaceServerResponse>(func.APIRequest("GET", null, "workspace/" + workspaceID)); if (workspaceResponse.status) { // Create a new MigraDoc document. _document = new Document(); _document.Info.Title = GenerateSummaryExportStrings.DocumentType + " - " + studentName_g; _document.Info.Author = storage.displayName + " (Summaries)"; DefineStyles(); CreatePage(); FillContent(); return(_document); } else { throw new Exception(GlobalStrings.Error + ": " + workspaceResponse.errors); } } else { throw new Exception(GlobalStrings.Error + ": " + classResponse.errors); } } else { throw new Exception(GlobalStrings.Error + ": " + summariesResponse.errors); } } catch (Exception ex) { throw new Exception(ex.Message, ex.InnerException); } }
public Document CreateDocument(int workspaceID) { try { workspaceResponse = JsonConvert.DeserializeObject <workspaceServerResponse>(func.APIRequest("GET", null, "workspace/" + workspaceID)); if (workspaceResponse.status) { if (workspaceResponse.contents[0].hours != null) { userResponse = JsonConvert.DeserializeObject <userServerResponse>(func.APIRequest("GET", null, "user")); if (userResponse.status) { classResponse = JsonConvert.DeserializeObject <classServerResponse>(func.APIRequest("GET", null, "class")); if (classResponse.status) { workspaceHoursResponse = JsonConvert.DeserializeObject <workspaceHoursServerResponse>(func.APIRequest("GET", null, "workspace/" + workspaceID + "/summarizedHours")); if (workspaceHoursResponse.status) { // Create a new MigraDoc document. _document = new Document(); _document.Info.Title = GenerateReportStrings.DocumentType + " - " + workspaceResponse.contents[0].workspaceName; _document.Info.Author = storage.displayName + " (Summaries)"; DefineStyles(); foreach (hours item in workspaceResponse.contents[0].hours) { CreatePage(classResponse.contents[classResponse.contents.FindIndex(x => x.classID == item.classID)].className); FillContent(item.classID); } return(_document); } else { throw new Exception(GlobalStrings.Error + ": " + workspaceHoursResponse.errors); } } else { throw new Exception(GlobalStrings.Error + ": " + classResponse.errors); } } else { throw new Exception(GlobalStrings.Error + ": " + userResponse.errors); } } else { throw new Exception(GlobalStrings.Error + ": " + GenerateReportStrings.NoClassesAssociated); } } else { throw new Exception(GlobalStrings.Error + ": " + workspaceResponse.errors); } } catch (Exception ex) { throw new Exception(ex.Message + "\n" + ex.StackTrace, ex.InnerException); } }