public static ConverterData StartCreationFileAsync(Invoice data) { using (var docxStream = GetStreamDocx(data)) { var documentService = new DocumentService(StudioKeySettings.GetKey(), StudioKeySettings.GetSKey(), TenantStatisticsProvider.GetUsersCount()); var revisionId = DocumentService.GenerateRevisionId(Guid.NewGuid().ToString()); var crmStorageUrl = WebConfigurationManager.AppSettings["crm.invoice.url.storage"]; if (string.IsNullOrEmpty(crmStorageUrl)) { crmStorageUrl = FilesLinkUtility.DocServiceStorageUrl; } var crmConverterUrl = WebConfigurationManager.AppSettings["crm.invoice.url.converter"]; if (string.IsNullOrEmpty(crmConverterUrl)) { crmConverterUrl = FilesLinkUtility.DocServiceConverterUrl; } var externalUri = documentService.GetExternalUri(crmStorageUrl, docxStream, "text/plain", revisionId); string urlToFile; documentService.GetConvertedUri(crmConverterUrl, externalUri, FormatDocx, FormatPdf, revisionId, true, out urlToFile); return new ConverterData { ConverterUrl = crmConverterUrl, StorageUrl = externalUri, RevisionId = revisionId, InvoiceId = data.ID, UrlToFile = urlToFile }; } }
public void GetTrial() { if (CoreContext.Configuration.Standalone && string.IsNullOrEmpty(StudioKeySettings.GetSKey())) { TenantExtra.TrialRequest(); } }
public static string GetExternalUri(Stream fileStream, string contentType, string documentRevisionId) { int timeout; Int32.TryParse(WebConfigurationManager.AppSettings["files.docservice.timeout"], out timeout); var docServiceConnector = new Web.Core.Files.DocumentService( StudioKeySettings.GetKey(), StudioKeySettings.GetSKey(), TenantStatisticsProvider.GetUsersCount()); if (timeout > 0) { docServiceConnector.Timeout = timeout; } try { return(docServiceConnector.GetExternalUri( FilesLinkUtility.DocServiceStorageUrl, fileStream, contentType, documentRevisionId)); } catch (Exception ex) { throw CustomizeError(ex); } }
private static string GetUrlToFile(Stream docxStream) { var documentService = new DocumentService(StudioKeySettings.GetKey(), StudioKeySettings.GetSKey(), TenantStatisticsProvider.GetUsersCount()); var revisionId = DocumentService.GenerateRevisionId(Guid.NewGuid().ToString()); var crmStorageUrl = WebConfigurationManager.AppSettings["crm.invoice.url.storage"]; if (string.IsNullOrEmpty(crmStorageUrl)) { crmStorageUrl = FilesLinkUtility.DocServiceStorageUrl; } var crmConverterUrl = WebConfigurationManager.AppSettings["crm.invoice.url.converter"]; if (string.IsNullOrEmpty(crmConverterUrl)) { crmConverterUrl = FilesLinkUtility.DocServiceConverterUrl; } var externalUri = documentService.GetExternalUri(crmStorageUrl, docxStream, "text/plain", revisionId); log4net.LogManager.GetLogger("ASC.CRM").DebugFormat("PdfCreator. GetUrlToFile. externalUri = {0}", externalUri); string urlToFile; documentService.GetConvertedUri(crmConverterUrl, externalUri, FormatDocx, FormatPdf, revisionId, false, out urlToFile); log4net.LogManager.GetLogger("ASC.CRM").DebugFormat("PdfCreator. GetUrlToFile. urlToFile = {0}", urlToFile); return urlToFile; }
public static string CommandRequest(string method, string documentRevisionId, string callbackUrl, string userId, string status) { int timeout; Int32.TryParse(WebConfigurationManager.AppSettings["files.docservice.timeout"], out timeout); var docServiceConnector = new Web.Core.Files.DocumentService( StudioKeySettings.GetKey(), StudioKeySettings.GetSKey(), TenantStatisticsProvider.GetUsersCount()); if (timeout > 0) { docServiceConnector.Timeout = timeout; } try { return(docServiceConnector.CommandRequest( FilesLinkUtility.DocServiceCommandUrl, method, documentRevisionId, callbackUrl, userId, status)); } catch (Exception e) { throw CustomizeError(e); } }
public static int GetConvertedUri(string documentUri, string fromExtension, string toExtension, string documentRevisionId, bool isAsync, out string convertedDocumentUri) { var docServiceConnector = new DocumentService( StudioKeySettings.GetKey(), StudioKeySettings.GetSKey(), TenantStatisticsProvider.GetUsersCount()) { ConvertTimeout = ConvertTimeout }; try { return(docServiceConnector.GetConvertedUri( DocumentConverterUrl, documentUri, fromExtension, toExtension, documentRevisionId, isAsync, out convertedDocumentUri)); } catch (Exception e) { throw CustomizeError(e.Message); } }
private static string GetUrlToFile(Stream docxStream) { var documentService = new DocumentService(StudioKeySettings.GetKey(), StudioKeySettings.GetSKey(), TenantStatisticsProvider.GetUsersCount()); var revisionId = DocumentService.GenerateRevisionId(Guid.NewGuid().ToString()); var externalUri = documentService.GetExternalUri(FilesLinkUtility.DocServiceStorageUrl, docxStream, "text/plain", revisionId); log4net.LogManager.GetLogger("ASC.CRM").DebugFormat("PdfCreator. GetUrlToFile. externalUri = {0}", externalUri); string urlToFile; documentService.GetConvertedUri(FilesLinkUtility.DocServiceConverterUrl, externalUri, FormatDocx, FormatPdf, revisionId, false, out urlToFile); log4net.LogManager.GetLogger("ASC.CRM").DebugFormat("PdfCreator. GetUrlToFile. urlToFile = {0}", urlToFile); return(urlToFile); }
private static Web.Core.Files.DocumentService GetDocumentService() { int timeout; Int32.TryParse(WebConfigurationManager.AppSettings["files.docservice.timeout"], out timeout); var documentService = new Web.Core.Files.DocumentService( StudioKeySettings.GetKey(), StudioKeySettings.GetSKey(), TenantStatisticsProvider.GetUsersCount()); if (timeout > 0) { documentService.Timeout = timeout; } return(documentService); }
private static void TrackFile(HttpContext context) { var vkey = context.Request["vkey"]; var fileId = Common.Utils.Signature.Read <string>(vkey, StudioKeySettings.GetSKey()); if (fileId == null) { Global.Logger.ErrorFormat("DocService track vkey error"); throw new HttpException((int)HttpStatusCode.Forbidden, FilesCommonResource.ErrorMassage_SecurityException); } var isNew = (context.Request["new"] ?? "") == "true"; Global.Logger.Debug("DocService track fileid: " + fileId); string body; try { using (var receiveStream = context.Request.InputStream) using (var readStream = new StreamReader(receiveStream)) { body = readStream.ReadToEnd(); } } catch (Exception e) { Global.Logger.Error("DocService track error read body", e); throw new HttpException((int)HttpStatusCode.BadRequest, e.Message); } string error; try { Global.Logger.Debug("DocService track body: " + body); error = DocumentServiceTracker.ProcessData(fileId, isNew, body); } catch (Exception e) { Global.Logger.Error("DocService track:", e); throw new HttpException((int)HttpStatusCode.BadRequest, e.Message); } context.Response.Write(string.Format("{{\"error\":{0}}}", (error ?? "0"))); }
public static ASC.Files.Core.File GetConvertedFile(ConverterData data) { if (string.IsNullOrEmpty(data.ConverterUrl) || string.IsNullOrEmpty(data.StorageUrl) || string.IsNullOrEmpty(data.RevisionId)) { return null; } var documentService = new DocumentService(StudioKeySettings.GetKey(), StudioKeySettings.GetSKey(), TenantStatisticsProvider.GetUsersCount()); string urlToFile; documentService.GetConvertedUri(data.ConverterUrl, data.StorageUrl, FormatDocx, FormatPdf, data.RevisionId, true, out urlToFile); if (string.IsNullOrEmpty(urlToFile)) { return null; } var invoice = Global.DaoFactory.GetInvoiceDao().GetByID(data.InvoiceId); return SaveFile(invoice, urlToFile); }
public static ConverterData StartCreationFileAsync(Invoice data) { using (var docxStream = GetStreamDocx(data)) { var documentService = new DocumentService(StudioKeySettings.GetKey(), StudioKeySettings.GetSKey(), TenantStatisticsProvider.GetUsersCount()); var revisionId = DocumentService.GenerateRevisionId(Guid.NewGuid().ToString()); var externalUri = documentService.GetExternalUri(FilesLinkUtility.DocServiceStorageUrl, docxStream, "text/plain", revisionId); string urlToFile; documentService.GetConvertedUri(FilesLinkUtility.DocServiceConverterUrl, externalUri, FormatDocx, FormatPdf, revisionId, true, out urlToFile); return(new ConverterData { ConverterUrl = FilesLinkUtility.DocServiceConverterUrl, StorageUrl = externalUri, RevisionId = revisionId, InvoiceId = data.ID, UrlToFile = urlToFile }); } }
public static string GenerateValidateKey(string documentRevisionId) { var docServiceConnector = new Web.Core.Files.DocumentService( StudioKeySettings.GetKey(), StudioKeySettings.GetSKey(), TenantStatisticsProvider.GetUsersCount()); string userIp = null; try { if (HttpContext.Current != null) { userIp = HttpContext.Current.Request.UserHostAddress; } } catch { userIp = string.Empty; } return(docServiceConnector.GenerateValidateKey(GenerateRevisionId(documentRevisionId), userIp)); }
public static string GetExternalUri(Stream fileStream, string contentType, string documentRevisionId) { var docServiceConnector = new DocumentService( StudioKeySettings.GetKey(), StudioKeySettings.GetSKey(), TenantStatisticsProvider.GetUsersCount()) { ConvertTimeout = ConvertTimeout }; try { return(docServiceConnector.GetExternalUri( DocumentStorageUrl, fileStream, contentType, documentRevisionId)); } catch (Exception e) { throw CustomizeError(e.Message); } }
public static int GetConvertedUri(string documentUri, string fromExtension, string toExtension, string documentRevisionId, bool isAsync, out string convertedDocumentUri) { int timeout; Int32.TryParse(WebConfigurationManager.AppSettings["files.docservice.timeout"], out timeout); var docServiceConnector = new Web.Core.Files.DocumentService( StudioKeySettings.GetKey(), StudioKeySettings.GetSKey(), TenantStatisticsProvider.GetUsersCount()); if (timeout > 0) { docServiceConnector.Timeout = timeout; } try { return(docServiceConnector.GetConvertedUri( FilesLinkUtility.DocServiceConverterUrl, documentUri, fromExtension, toExtension, documentRevisionId, isAsync, out convertedDocumentUri)); } catch (Exception ex) { throw CustomizeError(ex); } }
public static bool StartTrack(string fileId, string docKeyForTrack, bool isNew) { var callbackUrl = CommonLinkUtility.GetFullAbsolutePath(FilesLinkUtility.FileHandlerPath + "?" + FilesLinkUtility.Action + "=track" + "&vkey=" + HttpUtility.UrlEncode(Signature.Create(fileId, StudioKeySettings.GetSKey())) + "&new=" + isNew.ToString().ToLower()); callbackUrl = DocumentServiceConnector.ReplaceCommunityAdress(callbackUrl); return(DocumentServiceConnector.Command(CommandMethod.Info, docKeyForTrack, fileId, callbackUrl)); }