public static async Task <List <UserGroup> > GetUserGroupsAsync(string ticket) { if (string.IsNullOrWhiteSpace(ticket)) { throw new ArgumentNullException("ticket"); } var restServiceUrl = ConfigurationManager.GetValue(Resources.RestServiceUrlKey); var request = string.Format("ticket={0}", ticket); var response = await new RestServiceAgent().SendPostRequestAsync(string.Format("{0}/{1}", restServiceUrl, "getUserGroups"), request); //Deserialize json response var jsonReader = new JsonTextReader(new StringReader(response)); var jObject = JObject.Load(jsonReader); var jsonSerializer = new JsonSerializer(); var responseObject = (GetUserGroupsResponse)jsonSerializer.Deserialize(new JTokenReader(jObject), typeof(GetUserGroupsResponse)); if (responseObject.res == "ok") { return(responseObject.groups); } else { throw new RestResponseException(responseObject.errorDesc); } }
public static async Task <string> LoginAsync(Credentials credentials) { if (!credentials.ContainCredententials()) { throw new ArgumentException("Invalid credentials"); } var restServiceUrl = ConfigurationManager.GetValue(Resources.RestServiceUrlKey); var request = string.Format("emailAddress={0}&password={1}", credentials.UserName, credentials.Password); var response = await new RestServiceAgent().SendPostRequestAsync(string.Format("{0}/{1}", restServiceUrl, "login"), request); //Deserialize json response var jsonReader = new JsonTextReader(new StringReader(response)); var jObject = JObject.Load(jsonReader); var jsonSerializer = new JsonSerializer(); var responseObject = (LoginResponse)jsonSerializer.Deserialize(new JTokenReader(jObject), typeof(LoginResponse)); if (responseObject.res == "ok") { return(responseObject.ticket); } else { //throw new RestResponseException(responseObject.errorDesc); return(String.Empty); } }
public static async Task <string> GetTicketAsync() { var credentials = new Credentials(); credentials.UserName = ConfigurationManager.GetValue(Resources.LoginEmailAddressKey); credentials.SetEncryptedPassword(ConfigurationManager.GetValue(Resources.LoginPasswordKey)); return(await DokuFlexService.LoginAsync(credentials)); }
public static FileUpload UploadFile(string ticket, string groupId, string folderId, string fileId, FileInfo fileInfo, bool saveAsNewVersion) { if (string.IsNullOrWhiteSpace(ticket)) { throw new ArgumentNullException("ticket"); } if (string.IsNullOrWhiteSpace(groupId)) { throw new ArgumentNullException("groupId"); } if (string.IsNullOrWhiteSpace(folderId)) { throw new ArgumentNullException("folderId"); } if (IsFileLocked(fileInfo)) { throw new ArgumentException("fileInfo"); } var requestParams = new Dictionary <string, string>(); requestParams.Add("ticket", ticket); requestParams.Add("groupId", groupId); requestParams.Add("folderId", folderId); requestParams.Add("versionId", fileId); requestParams.Add("filename", fileInfo.Name); requestParams.Add("newVersion", saveAsNewVersion.ToString()); var restServiceUrl = ConfigurationManager.GetValue(Resources.RestServiceUrlKey); var response = new RestServiceAgent().SendPostRequest(string.Format("{0}/{1}", restServiceUrl, "fileUpload"), requestParams, fileInfo, "file"); //Deserialize json response var jsonReader = new JsonTextReader(new StringReader(response)); var jObject = JObject.Load(jsonReader); var jsonSerializer = new JsonSerializer(); var fileUploadResponse = (FileUploadResponse)jsonSerializer.Deserialize(new JTokenReader(jObject), typeof(FileUploadResponse)); if (fileUploadResponse.res == "ok") { var fileUpload = new FileUpload() { nodeId = fileUploadResponse.nodeId, modifiedTime = fileUploadResponse.modifiedTime }; return(fileUpload); } else { throw new RestResponseException(fileUploadResponse.errorDesc); } }
private void LoadConfiguration() { _credentials.UserName = ConfigurationManager.GetValue(Resources.LoginEmailAddressKey); _credentials.SetEncryptedPassword(ConfigurationManager.GetValue(Resources.LoginPasswordKey)); if (!bool.TryParse(ConfigurationManager.GetValue(Resources.LoginRemenberMyIdAndPasswordKey), out _RememberMyIdAndPassword)) { _RememberMyIdAndPassword = false; } }
public static List <FileFolder> GetFilesFolders(string ticket, string groupId, string parentFolderId) { if (string.IsNullOrWhiteSpace(ticket)) { throw new ArgumentNullException("ticket"); } if (string.IsNullOrWhiteSpace(groupId)) { throw new ArgumentNullException("groupId"); } var folders = new List <FileFolder>(); var firstResult = 0; var maxResults = 99; var responseComplete = false; var response = string.Empty; var jsonSerializer = new JsonSerializer(); var jsonReader = (JsonTextReader)null; var jObject = (JObject)null; var responseObject = (GetFilesFoldersResponse)null; var restServiceUrl = ConfigurationManager.GetValue(Resources.RestServiceUrlKey); var request = string.Format("ticket={0}&groupId={1}&parentNodeId={2}&includeFolders=true&includeFiles=true", ticket, groupId, parentFolderId); do { response = new RestServiceAgent().SendPostRequest(string.Format("{0}/{1}", restServiceUrl, "getFilesFolders"), string.Format("{0}&firstResult={1}&maxResults={2}", request, firstResult, maxResults)); jsonReader = new JsonTextReader(new StringReader(response)); jObject = JObject.Load(jsonReader); responseObject = (GetFilesFoldersResponse)jsonSerializer.Deserialize(new JTokenReader(jObject), typeof(GetFilesFoldersResponse)); if (responseObject.res == "ok") { if (responseObject.filesfolders.Count > 0) { folders.AddRange(responseObject.filesfolders); } else { responseComplete = true; } } else { throw new RestResponseException(responseObject.errorDesc); } firstResult += maxResults++; maxResults += 99; }while (!responseComplete); return(folders); }
private void LoadConfiguration() { UILanguage = ConfigurationManager.GetValue(Resources.UILanguageKey); RestServiceUrl = ConfigurationManager.GetValue(Resources.RestServiceUrlKey); AutoSync = bool.Parse(ConfigurationManager.GetValue(Resources.AutoSync)); SyncInterval = int.Parse(ConfigurationManager.GetValue(Resources.SyncInterval)); SyncHour = ConfigurationManager.GetValue(Resources.SyncHour); Credentials.UserName = ConfigurationManager.GetValue(Resources.ProxyUserNameKey); Credentials.Password = ConfigurationManager.GetValue(Resources.ProxyPasswordKey); Credentials.Domain = ConfigurationManager.GetValue(Resources.ProxyDomainKey); UseProxyServer = bool.Parse(ConfigurationManager.GetValue(Resources.ProxyUseProxyKey)); }
public static async Task <bool> DownloadFileAsync(string ticket, string fileId, string filePath) { if (string.IsNullOrWhiteSpace(ticket)) { throw new ArgumentNullException("ticket"); } if (string.IsNullOrWhiteSpace(fileId)) { throw new ArgumentNullException("fileId"); } if (string.IsNullOrWhiteSpace(filePath)) { throw new ArgumentNullException("filePath"); } var restServiceUrl = ConfigurationManager.GetValue(Resources.RestServiceUrlKey); var request = string.Format("{0}/{1}", ticket, fileId); var response = await new RestServiceAgent().SendGetRequestAsync(string.Format("{0}/{1}/{2}", restServiceUrl, "viewDocument", request)); if (response == null || response.Length == 0) { return(false); } try { var responseFile = new FileStream(filePath, FileMode.OpenOrCreate, FileAccess.ReadWrite); response.Position = 0; response.CopyTo(responseFile); response.Close(); responseFile.Flush(); responseFile.Close(); } catch { return(false); } return(true); }
public static async Task <bool> RenameFileFolderAsync(string ticket, string groupId, string fileFolderId, string title) { if (string.IsNullOrWhiteSpace(ticket)) { throw new ArgumentNullException("ticket"); } if (string.IsNullOrWhiteSpace(groupId)) { throw new ArgumentNullException("groupId"); } if (string.IsNullOrWhiteSpace(fileFolderId)) { throw new ArgumentNullException("fileFolderId"); } if (string.IsNullOrWhiteSpace(title)) { throw new ArgumentNullException("title"); } var restServiceUrl = ConfigurationManager.GetValue(Resources.RestServiceUrlKey); var request = string.Format("ticket={0}&groupId={1}&itemId={2}&title={3}", ticket, groupId, fileFolderId, title); var response = await new RestServiceAgent().SendPostRequestAsync(string.Format("{0}/{1}", restServiceUrl, "renameFileFolder"), request); //Deserialize response var jsonReader = new JsonTextReader(new StringReader(response)); var jObject = JObject.Load(jsonReader); var jsonSerializer = new JsonSerializer(); var responseObject = (CreateFolderResponse)jsonSerializer.Deserialize(new JTokenReader(jObject), typeof(CreateFolderResponse)); if (responseObject.res == "ok") { return(true); } else { throw new RestResponseException(responseObject.errorDesc); } }
public static string CreateFolder(string ticket, string groupId, string parentNodeId, string folderName) { if (string.IsNullOrWhiteSpace(ticket)) { throw new ArgumentNullException("ticket"); } if (string.IsNullOrWhiteSpace(groupId)) { throw new ArgumentNullException("groupId"); } if (string.IsNullOrWhiteSpace(folderName)) { throw new ArgumentNullException("folderName"); } var restServiceUrl = ConfigurationManager.GetValue(Resources.RestServiceUrlKey); var request = string.Format("ticket={0}&groupId={1}&parentNodeId={2}&folderName={3}", ticket, groupId, parentNodeId, folderName); var response = new RestServiceAgent().SendPostRequest(string.Format("{0}/{1}", restServiceUrl, "createFolder"), request); //Deserialize response var jsonReader = new JsonTextReader(new StringReader(response)); var jObject = JObject.Load(jsonReader); var jsonSerializer = new JsonSerializer(); var responseObject = (CreateFolderResponse)jsonSerializer.Deserialize(new JTokenReader(jObject), typeof(CreateFolderResponse)); if (responseObject.res == "ok") { return(responseObject.id); } else { throw new RestResponseException(responseObject.errorDesc); } }