private static void Main(string[] args) { GetCredentials(); var authApiClient = new AuthApiClient(userIdentifier, userSecret); var auth = new OAuthAuthenticationStrategy(authApiClient); var fileApiClient = new FileApiClient(auth, projectId, string.Empty); var projectApiClient = new ProjectApiClient(auth, projectId); fileApiClient.ApiGatewayUrl = "https://api.smartling.com"; string fileName = "ApiSample_" + Guid.NewGuid(); string fileUri = "/master/" + fileName; Upload(fileApiClient, fileUri, fileName, "xml"); Download(fileApiClient, fileUri); Submissions(auth); Audit(auth); Jobs(auth); Published(auth); GetProjectData(projectApiClient); List(fileApiClient); Status(fileApiClient, fileUri, "ru-RU"); LastModified(fileApiClient, fileUri); Authorization(fileApiClient); Deletion(fileApiClient, fileUri); CloudLog(); Console.WriteLine("All done, press any key to exit"); Console.ReadKey(); }
private static void Download(FileApiClient fileClient, string fileUri) { Console.WriteLine("Download..."); var downloadedFile = fileClient.GetFile(fileUri, "ru-RU", "pseudo"); var fileStream = fileClient.GetFileStream(fileUri, "ru-RU"); Console.WriteLine(downloadedFile); }
/// <summary> /// It is also possible to upload file content directly: /// var fileContents = File.ReadAllText(@"C:\Sample.xml"); /// var status = client.UploadFileContents(fileContents, fileUri, fileType, "ru-RU,fr-FR", true); /// </summary> /// <param name="client"></param> /// <param name="fileUri"></param> /// <param name="fileType"></param> private static void Upload(FileApiClient client, string fileUri, string filePath, string fileType) { Console.WriteLine(string.Empty); Console.WriteLine("Uploading file..."); var status = client.UploadFile(@"C:\Sample.xml", fileUri, fileType, "ru-RU,es", true, filePath); Console.WriteLine(status.stringCount); }
private static void LastModified(FileApiClient fileClient, string fileUri) { var lastModified = fileClient.GetLastModified(fileUri); var lastModifiedDetail = fileClient.GetLastModified(fileUri, "ru-RU"); Console.WriteLine("Last modified..."); Console.WriteLine(lastModified.totalCount); Console.WriteLine(lastModifiedDetail.lastModified); }
private static void Status(FileApiClient client, string fileUri, string locale) { Console.WriteLine(string.Empty); Console.WriteLine("Retrieving file..."); var status = client.GetFileStatus(fileUri, locale); var fileStatusDetail = client.GetFileStatus(fileUri, "ru-RU"); Console.WriteLine(status.fileUri); Console.WriteLine(fileStatusDetail.totalWordCount); }
public void ShouldSetUserAgent() { // Arrange var auth = GetAuth(); var client = new FileApiClient(auth, "test", "test"); // Act var request = (HttpWebRequest)client.PrepareGetRequest("http://smartling.com", "test"); // Assert var version = Assembly.GetAssembly(typeof(FileApiClient)).GetName().Version.ToString(); var userAgent = string.Format("smartling-api-sdk-net/{0}", version); Assert.AreEqual(userAgent, request.UserAgent); }
private static void List(FileApiClient client) { Console.WriteLine(string.Empty); Console.WriteLine("Listing files..."); var list = client.GetFilesList().ToList(); foreach (var file in list) { Console.WriteLine(file.fileUri + " " + file.hasInstructions + " " + file.lastUploaded); } foreach (var file in list.Take(10)) { Status(client, file.fileUri, "ru-RU"); } }
private void DeleteAllFiles(FileApiClient client) { Console.WriteLine("Done. Press 'd' to delete all files before exiting. Press any other key to just exit."); var key = Console.ReadKey(); if (key.KeyChar == 'd') { var files = client.GetFilesList(); foreach (var file in files) { client.DeleteFile(file.fileUri); Console.WriteLine("Deleted file: " + file.fileUri); } Console.WriteLine("All files were deleted. Press any key to exit."); Console.ReadKey(); } }
private static void Authorization(FileApiClient fileClient) { fileClient.Authorize("Sample.xml", "de-DE,fr-FR"); fileClient.Unauthorize("Sample.xml", "fr-FR"); }
private static void Deletion(FileApiClient fileClient, string fileUri) { Console.WriteLine("Deleting file..."); fileClient.DeleteFile(fileUri); }