Advertisement
Guest User

Untitled

a guest
Jan 19th, 2018
59
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.24 KB | None | 0 0
  1. using Tessi.Bmd.BosMailFormatter.Export.BmdZip.Builders;
  2. using Tessi.Bmd.BosMailFormatter.Export.BmdZip.Image;
  3. using Tessi.Bmd.BosMailFormatter.MessageModels.Files;
  4. using Tessi.Bmd.BosMailFormatter.MessageModels.MetaDatas;
  5. using Tessi.Bmd.BosMailFormatter.PluginModels.Contracts.Export;
  6.  
  7. namespace Tessi.Bmd.BosMailFormatter.Export.MailBmdZip.Behaviors.Standard
  8. {
  9. /// <summary>
  10. /// Définit les actions lors de la création du séparateur de doc
  11. /// </summary>
  12. public class CreatingDocumentTicketBehaviors
  13. {
  14. protected static readonly string DefaultMetaType = "OTHER";
  15.  
  16. /// <summary>
  17. /// Crée un séparateur de document et retourne le séparateur créé
  18. /// </summary>
  19. public static BmdSheet CreateDocumentTicket(BmdExportContract contract, BmdSeparator bmdSeparator, IBmdBatch scanBatch, MetaFile fileRoot, MetaFile document)
  20. {
  21. var documentSeparator = bmdSeparator.GetSeparator(fileRoot, 2);
  22. var separatorSheet = scanBatch.AddSeparatorSheet(BmdSheetType.DocumentSeparator, document);
  23. separatorSheet.AddImg(documentSeparator);
  24. separatorSheet.AddBarcode(contract.BarcodeDocumentSeparatorFormat);
  25. separatorSheet.AddMeta(GetFileNameMeta("fileName", documentSeparator), DefaultMetaType);
  26. return separatorSheet;
  27. }
  28.  
  29. /// <summary>
  30. /// Ajoute les metadonnées du document dans la bmdSheet
  31. /// </summary>
  32. public static void AddCustomMetadata<T>(MetaFile document, BmdSheet bmdSheet) where T : MetaData
  33. {
  34. T metadata = null;
  35. if (document.MetaDatas.TryGet(out metadata))
  36. {
  37. foreach (var metaDataValue in metadata.GetValues())
  38. {
  39. bmdSheet.AddMeta(metaDataValue, GenericBmdDirector.HeaderMetaType);
  40. }
  41. }
  42. }
  43.  
  44. /// <summary>
  45. /// Retourne une MetaDataValue créée à partir de la clé passé en paramètre et du nom du métafile passé en paramètre
  46. /// </summary>
  47. private static MetaDataValue GetFileNameMeta(string key, MetaFile file)
  48. {
  49. return new MetaDataValue(key, file.Name);
  50. }
  51. }
  52. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement