Exemple #1
0
 /// <summary>
 /// Fires the event BeforeCheckin
 /// </summary>
 /// <param name="e">Event arguments</param>
 protected virtual void OnBeforeCheckin(CheckinEventArgs e)
 {
     if (BeforeCheckin != null)
     {
         BeforeCheckin(e);
     }
 }
Exemple #2
0
 /// <summary>
 /// Fires the event AfterCheckin
 /// </summary>
 /// <param name="e">Event arguments</param>
 protected virtual void OnAfterCheckin(CheckinEventArgs e)
 {
     if (AfterCheckin != null)
     {
         AfterCheckin(e);
     }
 }
Exemple #3
0
        /// <summary>
        /// Checkin one document
        /// </summary>
        /// <param name="parentId">Parent ID</param>
        /// <param name="fname">File path</param>
        /// <param name="index">Index-th. document</param>
        /// <param name="count">Number of documents</param>
        /// <returns></returns>
        protected virtual bool checkinNewDocument(string parentId, string fname, int index, int count)
        {
            FWDocument doc = Conn.Content.CreateDocument(parentId, MaskId);

            doc.Version.File = fname;

            CheckinEventArgs e = new CheckinEventArgs();

            e.Cancel    = false;
            e.CancelAll = false;
            e.Sord      = doc;
            e.Index     = index;
            e.Count     = count;
            e.ParentId  = parentId;
            e.File      = fname;

            OnBeforeCheckin(e);
            if (!e.Cancel && !e.CancelAll)
            {
                doc.Checkin();
                OnAfterCheckin(e);
            }

            return(e.CancelAll);
        }
Exemple #4
0
        /// <summary>
        /// Checkin all documents contained in the given DataObject
        /// </summary>
        /// <param name="parentId">Parent ID</param>
        /// <param name="dataObjectCOM">COM DataObject</param>
        protected virtual void checkinDataObject(String parentId, IDataObject dataObjectCOM)
        {
            if (dataObjectCOM != null)
            {
                CheckinEventArgs e = new CheckinEventArgs();
                e.ParentId = parentId;

                if (dataObjectCOM.GetDataPresent("FileGroupDescriptorW"))
                {
                    //wrap standard IDataObject in OutlookDataObject
                    OutlookDataObject dataObject = new OutlookDataObject(dataObjectCOM);

                    //get the names and data streams of the files dropped
                    string[]       filenames   = (string[])dataObject.GetData("FileGroupDescriptorW");
                    MemoryStream[] filestreams = (MemoryStream[])dataObject.GetData("FileContents");

                    for (int fileIndex = 0; fileIndex < filenames.Length; fileIndex++)
                    {
                        //use the fileindex to get the name and data stream
                        string       fname      = Conn.Content.TempDir + "\\" + filenames[fileIndex];
                        MemoryStream filestream = filestreams[fileIndex];

                        //save the file stream using its name
                        FileStream outputStream = File.Create(fname);
                        filestream.WriteTo(outputStream);
                        outputStream.Close();
                        File.SetAttributes(fname, FileAttributes.ReadOnly);

                        // checkin
                        if (checkinNewDocument(parentId, fname, fileIndex, filenames.Length))
                        {
                            break;
                        }
                    }
                }
                else if (dataObjectCOM.GetDataPresent(DataFormats.FileDrop))
                {
                    string[] filePaths = (string[])dataObjectCOM.GetData(DataFormats.FileDrop, false);
                    for (int fileIndex = 0; fileIndex < filePaths.Length; fileIndex++)
                    {
                        string fname = filePaths[fileIndex];
                        if (checkinNewDocument(parentId, fname, fileIndex, filePaths.Length))
                        {
                            break;
                        }
                    }
                }
            }
        }