Ejemplo n.º 1
0
        private void Clone()
        {
            if (CurrentRow() == null)
            {
                MessageBox.Show("No current template on binding source.");
                return;
            }

            appDB.TemplateRow trCurrent = CurrentRow();
            appDB.TemplateRow trCopy    = (appDB.TemplateRow)AtMng.GetTemplate().Add(null);
            trCopy.LetterName    = trCurrent.LetterName + "COPY";
            trCopy.LetterDescEng = "(Copy of) " + trCurrent.LetterDescEng;
            trCopy.LetterDescFre = "(Copie de) " + trCurrent.LetterDescFre;

            docDB.DocumentRow   docCurrent        = AtMng.GetTemplate().GetTemplateDoc(trCurrent);
            docDB.DocContentRow docContentCurrent = docCurrent.DocContentRow;

            docDB.DocumentRow   docCopy        = AtMng.GetTemplate().GetTemplateDoc(trCopy);
            docDB.DocContentRow docContentCopy = docCopy.DocContentRow;

            docCopy.CommMode  = docCurrent.CommMode;
            docCopy.efSubject = docCurrent.efSubject;
            docCopy.efType    = docCurrent.efType;

            docContentCopy.Contents = docContentCurrent.Contents;
            docContentCopy.Ext      = docContentCurrent.Ext;

            CurrentDocRow = docCopy;
            templateBindingSource.Position = templateBindingSource.Find("TemplateId", trCopy.TemplateId);
        }
Ejemplo n.º 2
0
        protected override void BeforeUpdate(DataRow r)
        {
            docDB.DocContentRow dr = (docDB.DocContentRow)r;
            if (!dr.IsVersionNull())
            {
                if (dr.RowState != DataRowState.Added)
                {
                    object o       = myA.AtMng.AppMan.ExecuteScalar("DocumentMaxVersion", dr.DocId);
                    int    version = Convert.ToInt32(o);
                    version   += 1;
                    dr.Version = version.ToString();
                }
                if (dr.RowState == DataRowState.Modified && dr.DocumentRow.RowState == DataRowState.Added)
                {
                    dr.forceInsert = true;
                }
                else
                {
                    dr.forceInsert = false;
                }

                dr.DocumentRow.CurrentVersion = dr.Version;
            }
            else
            {
                dr.Version = "1";
            }
        }
Ejemplo n.º 3
0
 public bool IsLatest(docDB.DocContentRow dr)
 {
     if (dr == null)
     {
         return(true);
     }
     if (dr.IstsNull())
     {
         return(true);
     }
     else
     {
         if (myA.AtMng.AppMan.UseService)
         {
             return(myA.AtMng.AppMan.AtriumX().DocContentIsLatest(dr.DocId, dr.ts, myA.AtMng.AppMan.AtriumXCon));
         }
         else
         {
             try
             {
                 return(myDAL.IsLatest(dr.DocId, dr.ts));
             }
             catch (System.Runtime.Serialization.SerializationException x)
             {
                 RecoverDAL();
                 return(myDAL.IsLatest(dr.DocId, dr.ts));
             }
         }
     }
 }
Ejemplo n.º 4
0
        protected override void AfterChange(DataColumn dc, DataRow r)
        {
            docDB.DocContentRow dr = (docDB.DocContentRow)r;

            switch (dc.ColumnName)
            {
            case "Ext":
                //if (!dr.DocumentRow.IsefSubjectNull())
                //    dr.DocumentRow.Name =DocumentBE.StripInvalidVarChar( dr.DocumentRow.efSubject) + dr.Ext;
                ////else if (!dr.DocumentRow.IsNameNull())
                ////    dr.DocumentRow.Name = dr.DocumentRow.Name.Substring(0, dr.DocumentRow.Name.LastIndexOf(".")) + dr.Ext;
                //else
                //    dr.DocumentRow.Name = "New Document" + dr.Ext;

                if (dr.Ext.ToLower() == ".rtf" && dr.IsContentsNull())
                {
                    dr.ContentsAsText = RTF;
                }

                dr.DocumentRow.ext = dr.Ext;
                break;

            case "Contents":
                dr.Size    = dr.Contents.Length;
                dr.ModDate = DateTime.Now;
                break;
                // 2013-06-12 JLL: update to use isDraft only
                //case "ReadOnly":
                //    dr.DocumentRow.IsDraft = !dr.ReadOnly;
                //    break;
            }
        }
Ejemplo n.º 5
0
        //public DataRow Add(DataRow parentRow, string fileName)
        //{
        //    docDB.DocumentRow newDoc = (docDB.DocumentRow)this.Add(parentRow);
        //    LoadFile(newDoc, fileName);
        //    return newDoc;
        //}

        //public void LoadFile(docDB.DocumentRow newDoc, string f)
        //{
        //    newDoc.Name = Path.GetFileName(f);

        //    docDB.DocContentRow newContent = null;
        //    newContent.Ext = Path.GetExtension(newDoc.Name);
        //    if (newContent.FileFormatRow == null || !newContent.FileFormatRow.AllowUpload)
        //    {
        //        newDoc.RejectChanges();
        //        newContent.RejectChanges();
        //        throw new AtriumException(Properties.Resources.YouCanTAddThisTypeOfDocumentToLawMate);
        //    }
        //    newContent.Contents = File.ReadAllBytes(f);

        //    FileInfo fi = new FileInfo(f);
        //    newContent.CreateDate = fi.CreationTime;
        //    newContent.ModDate = fi.LastWriteTime;
        //    newContent.Size = (int)fi.Length;

        //    newDoc.efDate = DateTime.Today;
        //    newDoc.efSubject = Path.GetFileNameWithoutExtension(newDoc.Name);

        //}

        protected override void AfterAdd(DataRow dr)
        {
            docDB.DocContentRow doc = (docDB.DocContentRow)dr;

            doc.CreateDate = DateTime.Now;
            doc.ReadOnly   = false;
            doc.Ext        = ".txt";
            doc.ModDate    = doc.CreateDate;
            doc.Size       = 0;
        }
Ejemplo n.º 6
0
        public override bool CanEdit(DataRow ddr)
        {
            try
            {
                docDB.DocContentRow dr = (docDB.DocContentRow)ddr;
                if (dr == null)
                {
                    return(false);
                }
                if (dr.RowState == DataRowState.Modified || dr.RowState == DataRowState.Unchanged)
                {
                    //make read-only if the document does not relate to the current file
                    if (myA.FM.IsVirtualFM || dr.DocumentRow.IsNull("FileId") || dr.DocumentRow.FileId != myA.FM.CurrentFile.FileId)
                    {
                        return(false | AllowEdit);
                    }

                    if (!dr.DocumentRow.IsCheckedOutByNull() && dr.DocumentRow.CheckedOutBy != myA.AtMng.OfficerLoggedOn.OfficerId)
                    {
                        return(false | AllowEdit);
                    }

                    // 2013-06-12 JLL: update to use isDraft only
                    //bool ok =!(bool)dr["ReadOnly", DataRowVersion.Original];
                    bool ok = true;
                    if (dr.DocumentRow.HasVersion(DataRowVersion.Original))
                    {
                        ok = (bool)dr.DocumentRow["isDraft", DataRowVersion.Original];
                    }
                    else if (dr.DocumentRow.RowState == DataRowState.Added)
                    {
                        ok = true;
                    }
                    else
                    {
                        ok = (bool)dr.DocumentRow.IsDraft;
                    }

                    return(ok | AllowEdit);
                }
                else
                {
                    return(true);
                }
            }
            catch
            {
                return(false);
            }
        }
Ejemplo n.º 7
0
        //public void WriteDoc(docDB.DocContentRow ddr, bool CreateAsReadOnly, string temp)
        //{
        //    WriteDoc(ddr, CreateAsReadOnly, temp, false);
        //    //if (ddr.IsContentsNull())
        //    //{
        //    //    StreamWriter sw = File.CreateText(temp);
        //    //    sw.Close();
        //    //}
        //    //else
        //    //    File.WriteAllBytes(temp, ddr.Contents);

        //    //if (CreateAsReadOnly)
        //    //    File.SetAttributes(temp, FileAttributes.ReadOnly);
        //}

        public void WriteDoc(docDB.DocContentRow ddr, bool CreateAsReadOnly, string temp)
        {
            if (ddr.IsContentsNull())
            {
                StreamWriter sw = File.CreateText(temp);
                sw.Close();
            }
            else
            {
                File.WriteAllBytes(temp, ddr.Contents);
            }

            if (CreateAsReadOnly)
            {
                File.SetAttributes(temp, FileAttributes.ReadOnly);
            }
        }
Ejemplo n.º 8
0
        protected override void BeforeChange(DataColumn dc, DataRow r)
        {
            docDB.DocContentRow dr = (docDB.DocContentRow)r;

            switch (dc.ColumnName)
            {
            case "Ext":
                if (dr.IsExtNull())
                {
                    throw new RequiredException("Extension");
                }
                else if (dr.FileFormatRow == null || !dr.FileFormatRow.AllowUpload)
                {
                    throw new AtriumException(Properties.Resources.YouCanTAddThisTypeOfDocumentToLawMate, dr.Ext);
                }

                break;
                //case "ReadOnly":
                //    if (dr.HasVersion(DataRowVersion.Original) && (bool)dr[dc, DataRowVersion.Original] == true && dr.DocumentRow.IsDraft == true)
                //        throw new ReadOnlyException();
                //    break;
            }
        }
Ejemplo n.º 9
0
        private void Export()
        {
            templateGridEX.CurrentRow.EndEdit();
            templateGridEX.UpdateData();

            appDB.TemplateRow[] selectedTemplates = (appDB.TemplateRow[])AtMng.DB.Template.Select("Export=True");
            if (selectedTemplates.Length == 0)
            {
                MessageBox.Show("You have not selected any templates to export.");
                return;
            }

            fTemplateVersionTag fVT = new fTemplateVersionTag(selectedTemplates);
            DialogResult        dr  = fVT.ShowDialog(this);

            if (dr != System.Windows.Forms.DialogResult.OK)
            {
                MessageBox.Show("The Template Export was cancelled.", "Export Cancelled", MessageBoxButtons.OK);
                return;
            }


            saveFileDialog1.Filter   = "XML files (*.xml)|*.xml|All files (*.*)|*.*";
            saveFileDialog1.FileName = "{0}_templates" + DateTime.Today.ToString("yyyyMMdd") + ".xml";
            if (saveFileDialog1.ShowDialog() == System.Windows.Forms.DialogResult.OK)
            {
                string saveas = saveFileDialog1.FileName;

                using (fWait fw = new fWait("Exporting templates, please wait."))
                {
                    int iPart            = 1;
                    int iMax             = 30000000;
                    int iCount           = 0;
                    TemplateExchange tex = new TemplateExchange();
                    foreach (appDB.TemplateRow tr in selectedTemplates)
                    {
                        tr.ExportedDate = fVT.ExportDate;
                        tr.Tag          = fVT.TagVersion;
                        if (fVT.ClearFlag)
                        {
                            tr.FlagForExport = false;
                        }

                        tex.trs.ImportRow(tr);
                        if (tex.dcrs.FindByDocId(tr.DocID) == null)
                        {
                            docDB.DocumentRow dr1 = myDM.DB.Document.FindByDocId(tr.DocID);
                            tex.drs.ImportRow(dr1);

                            docDB.DocContentRow dcr1 = myDM.DB.DocContent.FindByDocId(dr1.DocRefId);

                            if (dcr1 == null)
                            {
                                myDM.GetDocContent().Load(dr1.DocRefId, dr1.CurrentVersion); //WI 73696 - added current version
                            }
                            dcr1    = myDM.DB.DocContent.FindByDocId(dr1.DocRefId);
                            iCount += dcr1.Size;
                            tex.dcrs.ImportRow(dcr1);
                        }
                        if (iCount >= iMax)
                        {
                            System.Xml.Serialization.XmlSerializer mySerializer = new System.Xml.Serialization.XmlSerializer(typeof(TemplateExchange));
                            // To write to a file, create a StreamWriter object.
                            System.IO.StreamWriter myWriter = new System.IO.StreamWriter(String.Format(saveas, iPart));
                            mySerializer.Serialize(myWriter, tex);
                            myWriter.Close();
                            Save();

                            iCount = 0;
                            iPart++;
                            tex = new TemplateExchange();
                        }
                    }


                    System.Xml.Serialization.XmlSerializer mySerializer1 = new System.Xml.Serialization.XmlSerializer(typeof(TemplateExchange));
                    // To write to a file, create a StreamWriter object.
                    System.IO.StreamWriter myWriter1 = new System.IO.StreamWriter(String.Format(saveas, iPart));
                    mySerializer1.Serialize(myWriter1, tex);
                    myWriter1.Close();
                    Save();
                }
            }
            else
            {
                MessageBox.Show("The Template Export was cancelled.", "Export Cancelled", MessageBoxButtons.OK);
            }
        }
Ejemplo n.º 10
0
        //public void LoadByFileId(int FileId)
        //{
        //    Fill(myDAL.LoadByFileId(FileId));
        //}

        //public void LoadByCheckedOutBy(int officerId)
        //{
        //    Fill(myDAL.LoadByCheckedOutBy(officerId));
        //}

        public override DataRow Add(DataRow parentRow)
        {
            docDB.DocContentRow dr = (docDB.DocContentRow)base.Add(parentRow);

            return(dr);
        }