static void Main(string[] args) { string path = Directory.GetCurrentDirectory() + @"\Document\TestConvention.docx"; if (!File.Exists(path)) { string pathCopy = Directory.GetCurrentDirectory() + @"\Document\Copy.docx"; File.Copy(path, pathCopy); //using (WordprocessingDocument doc = WordprocessingDocument.Open(path, true)) //{ //} if (!File.Exists(pathCopy)) { return; } using (WordprocessingDocument doc = WordprocessingDocument.Open(pathCopy, true)) { IEnumerable <FieldCode> docWorld = OpenXmlWordHelpers.GetMergeFields(doc); Entreprise ent = Program._context.Entreprises.First(); foreach (FieldCode item in docWorld) { if (item.InnerXml.Contains("Nom_Entreprise")) { item.ReplaceWithText(ent.RaisonSociale); } if (item.InnerXml.Contains("Adresse_entreprise")) { item.ReplaceWithText(ent.NumeroNomVoieEntreprise); } //if (item.InnerXml.Contains("Adresse_entreprise_suite")) //{ // if (ent.ComplementAdresseEntreprise == string.Empty) // item.ReplaceWithText("0"); // else // item.ReplaceWithText(ent.ComplementAdresseEntreprise); //} if (item.InnerXml.Contains("Code_postal_entreprise")) { item.ReplaceWithText(ent.CodePostalEntreprise); } if (item.InnerXml.Contains("Ville_entreprise")) { item.ReplaceWithText(ent.VilleEntreprise); } if (item.InnerXml.Contains("Téléphone_entreprise")) { item.ReplaceWithText(""); } } } } string toto = HashPassword("toto"); }
public static async Task <IActionResult> Run([HttpTrigger(AuthorizationLevel.Anonymous, "post", Route = null)] HttpRequest req, ILogger log) { log.LogInformation("Procesing template"); try { var data = await Helpers.GetModelFromBodyAsync <TemplateModel>(req.Body); if (data == null) { log.LogWarning("Posted data are not correct"); return(new BadRequestObjectResult("Posted data are not correct")); } var container = await Helpers.GetContainerAsync(Environment.GetEnvironmentVariable(Constants.TemplatesContainerName)); var blob = container.GetBlockBlobReference(data.BlobName); var fields = new List <string>(); using (var sourceStream = new MemoryStream()) { await blob.DownloadToStreamAsync(sourceStream); using (WordprocessingDocument doc = WordprocessingDocument.Open(sourceStream, false)) { foreach (var field in doc.GetMergeFields()) { string fieldName = OpenXmlWordHelpers.GetFieldNameFromMergeField(field.InnerText).Trim('\"'); if (!fields.Contains(fieldName) && fieldName.Trim() != "PAGE") { fields.Add(fieldName); } } } } blob.Metadata.Add("name", Uri.EscapeDataString(data.Name)); if (!string.IsNullOrEmpty(data.Description)) { blob.Metadata.Add("description", Uri.EscapeDataString(data.Description)); } string fieldsString = string.Join(";", fields); if (fields.Count > 0) { blob.Metadata.Add("fields", Uri.EscapeDataString(fieldsString)); } else { log.LogWarning("No fields were found"); } await blob.SetMetadataAsync(); log.LogInformation("Template processed"); return(new OkObjectResult(new TemplateModel() { Name = data.Name, BlobName = data.BlobName, Description = data.Description, Fields = Helpers.GetFieldsWithoutHiddenArray(fieldsString) })); } catch (Exception ex) { log.LogError(ex.Message); throw ex; } }