private static async Task Run(AppConfiguration configuration) { var validator = new ConfigurationValidator(configuration); if (!validator.Validate()) { return; } using (var httpClient = new HttpClient()) { LogicTokenProviderOptions tokenProviderOptions = new LogicTokenProviderOptions() { AuthorizationScope = configuration.TokenProvider.AuthorizationScope, // "https://logicidentityprod.onmicrosoft.com/ac1d197a-0e7c-4add-83c5-e1b30a08efd6/.default", AuthorizationTokenIssuer = new Uri(configuration.TokenProvider.AuthorizationTokenIssuer.ToString()), //new Uri("https://login.microsoftonline.com/logicidentityprod.onmicrosoft.com/oauth2/v2.0/token"), ClientId = configuration.TokenProvider.ClientId, //"085d3847-1b71-4203-aa52-bbb98d5ce57c", ClientSecret = configuration.TokenProvider.ClientSecret // "Ox30ERiezE+gbat7k9jtCmnfKGISFoA8AVjnJo8IgH8=" }; configuration.Citizen.SubscriptionId = configuration.SubscriptionId; configuration.Citizen.Serviceuri = configuration.Serviceuri; var tokenProviderFactory = new LogicTokenProviderFactory(tokenProviderOptions); var citizenDocumentClient = new CitizenDocumentsClient(httpClient, tokenProviderFactory, configuration.Citizen); var uploadDocument = await citizenDocumentClient.UploadAttachmentWithHttpMessagesAsync(configuration.ConfiguartionId, configuration.RetentionPeriodInDays, configuration.Cpr, configuration.DocumentType, configuration.Document, configuration.DocumentName).ConfigureAwait(false); if (uploadDocument == null) { Log.Error("There is error occured in upload"); return; } Log.Information($"Document uploaded successfully and details are :- DocumentId : {uploadDocument.DocumentId} ; DocumentType : {uploadDocument.DocumentType} ; FileAccessPageUrl : {uploadDocument.FileAccessPageUrl} "); var sendDocument = await citizenDocumentClient.SendDocumentWithHttpMessagesAsync(new SendCitizenDocumentRequest { ConfigurationId = new Guid(configuration.ConfiguartionId), SendingSystem = configuration.SendingSystem, Cpr = configuration.Cpr, DocumentType = configuration.SendDocumentType, CitizenDocumentId = uploadDocument.DocumentId, Title = configuration.title, DigitalPostCoverLetterId = uploadDocument.DocumentId, SnailMailCoverLetterId = uploadDocument.DocumentId }); if (sendDocument == null) { Log.Error("There is error occured in send document"); return; } Log.Information("Document was sent and got doc2mail messageId {MessageId}", sendDocument.MessageId); } }
private static async Task <string> Run(AppConfiguration configuration) { var validator = new ConfigurationValidator(configuration); if (!validator.Validate()) { return("The validation of provider configuration details failed"); } var tokenProviderOptions = new LogicTokenProviderOptions { AuthorizationScope = configuration.TokenProvider.AuthorizationScope, ClientId = configuration.TokenProvider.ClientId, ClientSecret = configuration.TokenProvider.ClientSecret, }; if (configuration.TokenProvider.AuthorizationTokenIssuer != null) { tokenProviderOptions.AuthorizationTokenIssuer = configuration.TokenProvider.AuthorizationTokenIssuer; } using (var httpClient = new HttpClient()) using (var tokenProviderFactory = new LogicTokenProviderFactory(tokenProviderOptions)) { configuration.Citizen.SubscriptionId = configuration.SubscriptionId; configuration.Citizen.Serviceuri = configuration.Serviceuri; var citizenDocumentClient = new CitizenDocumentsClient(httpClient, tokenProviderFactory, configuration.Citizen); var uploadDocument = await citizenDocumentClient.UploadAttachmentWithHttpMessagesAsync(configuration.ConfigurationId, configuration.RetentionPeriodInDays, configuration.Cpr, configuration.DocumentType, configuration.Document, configuration.DocumentName).ConfigureAwait(false); Log.Information("The {DocumentType} document with id {DocumentId} and file access page url {FileAccessPageUrl} is uploaded successfully", uploadDocument.DocumentType, uploadDocument.DocumentId, uploadDocument.FileAccessPageUrl); var sendDocument = await citizenDocumentClient.SendDocumentWithHttpMessagesAsync(new SendCitizenDocumentRequest { ConfigurationId = new Guid(configuration.ConfigurationId), SendingSystem = configuration.SendingSystem, Cpr = configuration.Cpr, DocumentType = configuration.SendDocumentType, CitizenDocumentId = uploadDocument.DocumentId, Title = configuration.Title, DigitalPostCoverLetterId = uploadDocument.DocumentId, SnailMailCoverLetterId = uploadDocument.DocumentId, }).ConfigureAwait(false); Log.Information("The document is sent successfully and doc2mail provider response message id is {MessageId}", sendDocument.MessageId); return("The citizen document was uploaded and sent successfully"); } }
private static async Task <string> Run(AppConfiguration configuration) { var validator = new ConfigurationValidator(configuration); if (!validator.Validate()) { return("The validation of provider configuration details failed"); } var tokenProviderOptions = new LogicTokenProviderOptions { AuthorizationScope = configuration.TokenProvider.AuthorizationScope, ClientId = configuration.TokenProvider.ClientId, ClientSecret = configuration.TokenProvider.ClientSecret, }; if (configuration.TokenProvider.AuthorizationTokenIssuer != null) { tokenProviderOptions.AuthorizationTokenIssuer = configuration.TokenProvider.AuthorizationTokenIssuer; } using var httpClient = new HttpClient(); using var tokenProviderFactory = new LogicTokenProviderFactory(tokenProviderOptions); var options = new CitizenDocumentsOptions(configuration.SubscriptionId, configuration.ServiceUri); using var citizenDocumentClient = new CitizenDocumentsClient(httpClient, tokenProviderFactory, options); using Stream stream = File.OpenRead(configuration.DocumentName); var uploadWithLargeSizeDocument = await citizenDocumentClient.UploadFileAsync(stream, new UploadFileParameters( new Guid(configuration.ConfigurationId), new Guid(configuration.SubscriptionId), cpr : configuration.Cpr, documentName : configuration.DocumentName, documentType : configuration.DocumentType, retentionPeriodInDays : configuration.RetentionPeriodInDays)) .ConfigureAwait(false); Log.Information("The {DocumentType} document with id {DocumentId} and file access page url {FileAccessPageUrl} is uploaded successfully", uploadWithLargeSizeDocument.DocumentType, uploadWithLargeSizeDocument.DocumentId, uploadWithLargeSizeDocument.FileAccessPageUrl); return("The citizen document was uploaded successfully"); }