Пример #1
0
    void SaveDocument(IDocumentInfo documentInfo, bool checkModificationTime)
    {
        long itemId  = ParseDocumentIdFromEditor(documentInfo.DocumentId);
        Item docItem = DataService.FindItemById(itemId);

        if (docItem == null || checkModificationTime && documentInfo.LastModifyTime < docItem.LastWriteTime)
        {
            return;
        }

        byte[] content = null;
        if (IsRichEditDocument(docItem))
        {
            RichEditDocumentInfo richEditDocument = (RichEditDocumentInfo)documentInfo;
            content = richEditDocument.SaveCopy(RichEditDocumentManager.GetFormat(docItem));
        }
        else if (IsSpreadsheetDocument(docItem))
        {
            SpreadsheetDocumentInfo spreadsheetDocument = (SpreadsheetDocumentInfo)documentInfo;
            content = spreadsheetDocument.SaveCopy(SpreadsheetDocumentManager.GetFormat(docItem));
        }
        else
        {
            throw new Exception("Incorrect document format.");
        }

        docItem.UpdateContent(content);
        DataService.SaveChanges();
    }
Пример #2
0
    public DocumentService(DocumentsApp app)
        : base(app)
    {
        RichEditDocumentManager    = new RichEditDocumentManager(app);
        SpreadsheetDocumentManager = new SpreadsheetDocumentManager(app);

        Managers = new List <DocumentManagerBase>();
        Managers.Add(RichEditDocumentManager);
        Managers.Add(SpreadsheetDocumentManager);
        Managers.Add(new UnsupportedDocumentManager(app));

        LockedDocumentRegistry = new ConcurrentDictionary <long, User>();
    }
Пример #3
0
 public DevExpress.XtraRichEdit.DocumentFormat GetRichEditDocumentFormat(Item document)
 {
     return(RichEditDocumentManager.GetFormat(document));
 }
Пример #4
0
 public bool IsRichEditDocument(Item documentItem)
 {
     return(RichEditDocumentManager.CanProcess(documentItem));
 }