public bool Execute(Guid fileId) { var fileUri = importService.ConstructFilePath(fileId); Task.Factory .StartNew(() => { }) .ContinueWith(task => { try { storageService.RemoveObject(fileUri); } catch (Exception exc) { LogManager.GetCurrentClassLogger().Error("Failed to delete blog posts import file.", exc); } }) .ContinueWith(task => { try { storageService.RemoveFolder(fileUri); } catch (Exception exc) { LogManager.GetCurrentClassLogger().Error("Failed to delete blog posts import folder.", exc); } }); return(true); }
public UploadBlogsImportFileResponse Execute(UploadImportFileViewModel request) { var fileId = Guid.NewGuid(); var fileUri = importService.ConstructFilePath(fileId); using (var stream = new MemoryStream()) { request.FileStream.CopyTo(stream); try { var upload = new UploadRequest(); upload.CreateDirectory = true; upload.Uri = fileUri; upload.InputStream = request.FileStream; upload.IgnoreAccessControl = true; storageService.UploadObject(upload); } catch (Exception exc) { throw new ValidationException(() => BlogGlobalization.ImportBlogPosts_FailedToSaveFileToStorage_Message, "Failed to save blog posts import file to storage.", exc); } stream.Position = 0; var blogs = importService.DeserializeXMLStream(stream); var results = importService.ValidateImport(blogs); return(new UploadBlogsImportFileResponse { Results = results, FileId = fileId }); } }
public ImportBlogPostsResponse Execute(ImportBlogPostsViewModel request) { var fileUri = importService.ConstructFilePath(request.FileId); DownloadResponse downloadResponse; try { downloadResponse = storageService.DownloadObject(fileUri); } catch (Exception exc) { throw new ValidationException(() => BlogGlobalization.ImportBlogPosts_FailedToRetrieveFileFileStorage_Message, "Failed to retrieve blog posts import file from storage.", exc); } List <BlogPostImportResult> results; if (request.BlogPosts != null && request.BlogPosts.Count > 0) { downloadResponse.ResponseStream.Position = 0; var blogs = importService.DeserializeXMLStream(downloadResponse.ResponseStream); results = importService.ImportBlogs(blogs, request.BlogPosts, Context.Principal, request.CreateRedirects, request.RecreateCategoryTree, request.ReuseExistingCategories); } else { results = new List <BlogPostImportResult>(); } Task.Factory .StartNew(() => { }) .ContinueWith(task => { try { storageService.RemoveObject(fileUri); } catch (Exception exc) { LogManager.GetCurrentClassLogger().Error("Failed to delete blog posts import file.", exc); } }) .ContinueWith(task => { try { storageService.RemoveFolder(fileUri); } catch (Exception exc) { LogManager.GetCurrentClassLogger().Error("Failed to delete blog posts import folder.", exc); } }); return(new ImportBlogPostsResponse { Results = results }); }