Ejemplo n.º 1
0
        protected virtual ContextMenu AddOwnMenu(ContextMenu menu)
        {
            toDBDocItem.MenuItems.Clear();

            var faxID = (int)grid.GetCurValue(Environment.FaxData.IDField);

            // есть ли у факса изображения, сохраненные в архив?
            List <int> ids = Environment.FaxData.GetFaxDBDocs(faxID);

            if (ids != null)
            {
                foreach (var item in from t in ids where t >= 1 select new IDMenuItem(t)
                {
                    Text = DBDocString.Format(t)
                })
                {
                    item.Click += toDBDoc_Click;
                    toDBDocItem.MenuItems.Add(item);
                }
            }
            toDBDocItem.Enabled = (toDBDocItem.MenuItems.Count > 0);
            menu.MenuItems.Add(toDBDocItem);

            return(menu);
        }
        private bool AddDoc(int docID, bool main, bool fix)
        {
            var item = listDocs.Items.Cast <BoolListItem>().FirstOrDefault(old => old.ID == docID);

            if (item != null)
            {
                if (!item.Check)
                {
                    item.Check = true;
                }
                return(false);
            }

            string docString = DBDocString.Format(docID);

            listDocs.Items.Add(new BoolListItem(docID,
                                                new[] { docString, main.ToString() }, false)
            {
                ForeColor = main ? Color.Violet : Color.RoyalBlue, ToolTipText = docString
            });
            docBlock.UsedDocsIDs.Add(docID);
            docBlock.Text = "";
            UpdateControl();

            if (Added != null)
            {
                Added(this, new BlockEventArgs(docID, docString));
            }

            return(true);
        }
Ejemplo n.º 3
0
        /// <summary>
        ///   Диалог создания связи между двумя документами. Используется для связования с еще не созданным документом.
        /// </summary>
        /// <param name="docString"> строка докумета для связи </param>
        /// <param name="docID"> Код документа для связи </param>
        /// <param name="docData"> дата создаваемого документа для блокировки ошибочной по времени связи </param>
        public LinkTypeDialog(string docString, int docID, DateTime docData)
        {
            InitializeComponent();

            keyLocker = new SynchronizedCollection <Keys>();

            TwoID = docID;

            labelOne.Text = docString;
            labelTwo.Text = DBDocString.Format(TwoID);

            if (docData.Equals(DateTime.MinValue))
            {
                return;
            }
            object date = Environment.DocData.GetField(Environment.DocData.DateField, TwoID);

            if (date != DBNull.Value)
            {
                var secondDate = (DateTime)date;
                if (docData < secondDate)
                {
                    SetToolTip(labelLink, buttonLink);
                }
                else if (docData > secondDate)
                {
                    SetToolTip(labelBase, buttonBase);
                }
            }
        }
Ejemplo n.º 4
0
        /// <summary>
        ///   Диалог создания связи между двумя документами.
        /// </summary>
        /// <param name="firstID"> код документа отображаемого сверху </param>
        /// <param name="secondID"> код документа отображаемого снизу </param>
        public LinkTypeDialog(int firstID, int secondID)
        {
            InitializeComponent();

            keyLocker = new SynchronizedCollection <Keys>();

            this.OneID = firstID;
            this.TwoID = secondID;
            if (firstID == secondID)
            {
                Logger.WriteEx(new LogicalException("Ошибочное создание связи\nСовпадают коды документов",
                                                    "Код документа: " + firstID.ToString(),
                                                    Assembly.GetExecutingAssembly().GetName()));
                Close();
                return;
            }

            Console.WriteLine("{0}: Loading properteis first linked: {1}", DateTime.Now.ToString("HH:mm:ss fff"), firstID);
            labelOne.Text = DBDocString.Format(firstID);
            Console.WriteLine("{0}: Loading properteis second linked: {1}", DateTime.Now.ToString("HH:mm:ss fff"), secondID);
            labelTwo.Text = DBDocString.Format(secondID);

            bool     needCheck  = false;
            DateTime firstDate  = DateTime.MinValue;
            DateTime secondDate = DateTime.MinValue;

            object date = Environment.DocData.GetField(Environment.DocData.DateField, this.OneID);

            if (date != DBNull.Value)
            {
                firstDate = (DateTime)date;
                needCheck = true;
            }

            if (needCheck)
            {
                date = Environment.DocData.GetField(Environment.DocData.DateField, this.TwoID);
                if (date != DBNull.Value)
                {
                    secondDate = (DateTime)date;
                }
                else
                {
                    needCheck = false;
                }
            }

            if (needCheck)
            {
                if (firstDate < secondDate)
                {
                    SetToolTip(labelLink, buttonLink);
                }
                else if (firstDate > secondDate)
                {
                    SetToolTip(labelBase, buttonBase);
                }
            }
        }
Ejemplo n.º 5
0
 public void Set(int[] docID)
 {
     foreach (int t in docID.Where(t => t > 0))
     {
         docIDs.Add(new KeyValuePair <int, string>(t, DBDocString.Format(t)));
     }
     Verify();
 }
Ejemplo n.º 6
0
 public void Set(int docID, DataRow row)
 {
     if (docID > 0)
     {
         docIDs.Add(new KeyValuePair <int, string>(docID, DBDocString.Format(row)));
         Verify();
     }
 }
        public MergeDocsDialog(int firstDocID, int secondDocID)
        {
            InitializeComponent();

            this.firstDocID  = firstDocID;
            this.secondDocID = secondDocID;

            radioFirstDoc.Text  = DBDocString.Format(firstDocID);
            radioSecondDoc.Text = DBDocString.Format(secondDocID);
        }
Ejemplo n.º 8
0
        public DocumentNode(int docID, string path, bool root, bool main, bool links)
            : base(path)
        {
            this.docID = docID;

            isRoot = root;
            isMain = main;

            string text = !string.IsNullOrEmpty(Text) ? Text : DBDocString.Format(docID);

            if (text.Length == 0)
            {
                text = "#" + path;
            }
            if (root)
            {
                name           = text;
                Text           = text;
                delItem        = new MenuItem(Environment.StringResources.GetString("FolderTree.FolderNodes.DocumentNode.Message1"));
                delItem.Click += delItem_Click;
            }
            else
            {
                if (main)
                {
                    name = text;
                    Text = Environment.StringResources.GetString("MainDocuments");
                }
                else
                {
                    name = text;
                    Text = Environment.StringResources.GetString("SubsequentDocuments");
                }
            }

            InitializeComponent();

            if (links && main)
            {
                Nodes.Add("");
            }

            SetImages();
            UpdateImages();
        }
        protected override void FillForm()
        {
            base.FillForm();
            var opt = (—в¤зан—ƒокументом)option;

            cbOsnovaniya.Checked    = opt.Osnovaniya;
            rbOsnovaniyaVse.Checked = opt.OsnovaniyaAll;
            rbOsnovaniyaNeposredstvennye.Checked = !opt.OsnovaniyaAll;

            cbVytekayuschie.Checked    = opt.Vytekayuschie;
            rbVytekayuschieVse.Checked = opt.VytekayuschieAll;
            rbVytekayuschieNeposredstvennye.Checked = !opt.VytekayuschieAll;

            docID      = opt.DocumentID;
            block.Text = (docID > 0 ? DBDocString.Format(docID) : "");
            rbVytekayuschieNeposredstvennye.Enabled = rbVytekayuschieVse.Enabled = cbVytekayuschie.Checked;
            rbOsnovaniyaNeposredstvennye.Enabled    = rbOsnovaniyaVse.Enabled = cbOsnovaniya.Checked;
        }
Ejemplo n.º 10
0
        private void contextMenuOpenDoc_Popup(object sender, EventArgs e)
        {
            contextMenuOpenDoc.MenuItems.Clear();
            try
            {
                foreach (var item in from t in Environment.OpenDocs where !docBlock.UsedDocsIDs.Contains(t.Key) select new MenuItem {
                    Text = DBDocString.Format(t.Key)
                })
                {
                    item.Click += item_Click;

                    contextMenuOpenDoc.MenuItems.Add(item);
                }
            }
            catch
            {
            }
        }
        private void buttonOK_Click(object sender, EventArgs e)
        {
            var node = tree.SelectedNode as FolderTree.FolderNodes.WorkNodes.WorkNode;

            if (node != null)
            {
                Enabled = false;
                int[] result = Environment.WorkDocData.AddDocToWorkFolder(docIDs, node.ID, node.Emp.ID);
                for (int i = 0; i < result.Length; i++)
                {
                    if (result[i] != 1)
                    {
                        string docStr = DBDocString.Format(docIDs[i]);
                        Environment.UndoredoStack.Add("AddDocToWork", Environment.StringResources.GetString("AddDocToWork"),
                                                      string.Format(Environment.StringResources.GetString("UndoAddDocToWork"), docStr),
                                                      string.Format(Environment.StringResources.GetString("RedoAddDocToWork"), docStr),
                                                      UndoRedoCommands.UndoAddToWork, new object[] { docIDs[i], node.ID, node.Emp.ID }, node.Emp.ID);
                    }
                }
                End(DialogResult.OK);
            }
        }
Ejemplo n.º 12
0
        private void ProceedNode(TreeNode tNode)
        {
            var wNode = tNode as FolderTree.FolderNodes.WorkNodes.WorkNode;

            if (wNode == null)
            {
                return;
            }
            if (wNode.Checked)
            {
                if (!selected.Contains(wNode) ||
                    (grayed.Contains(wNode) && wNode.ForeColor == Color.FromKnownColor(KnownColor.ControlText)))
                {
                    Environment.WorkDocData.AddDocToWorkFolder(docIDs, wNode.ID, wNode.Emp.ID);


                    string docStr = DBDocString.Format(docIDs[0]);

                    Environment.UndoredoStack.Add("AddDocToWork", Environment.StringResources.GetString("AddDocToWork"),
                                                  string.Format(Environment.StringResources.GetString("UndoAddDocToWork"), docStr),
                                                  string.Format(Environment.StringResources.GetString("RedoAddDocToWork"), docStr),
                                                  UndoRedoCommands.UndoAddToWork,
                                                  new object[] { docIDs[0], wNode.ID, wNode.Emp.ID }, wNode.Emp.ID);
                }
            }
            else
            {
                if (selected.Contains(wNode) ||
                    (grayed.Contains(wNode) && wNode.ForeColor == Color.FromKnownColor(KnownColor.ControlText)))
                {
                    Environment.WorkDocData.RemoveDocFromWorkFolder(docIDs, wNode.ID, wNode.Emp.ID);
                }
            }

            foreach (TreeNode subNode in wNode.Nodes)
            {
                ProceedNode(subNode);
            }
        }
Ejemplo n.º 13
0
        public ProcessingDocs(int docID)
        {
            this.docID = docID;
            DataRow dr = Environment.DocData.GetDocProperties(docID, Environment.CurCultureInfo.TwoLetterISOLanguageName);

            docString = DBDocString.Format(dr, true);
            DataTable dt = Environment.DocImageData.GetDocImages(docID, true);

            if (imageToSends == null)
            {
                imageToSends = new List <ImageToSend>();
            }

            for (int i = 0; i < dt.Rows.Count; i++)
            {
                if (!Environment.DocSignatureData.IsDocSignedAnnuled((int)dt.Rows[i]["КодИзображенияДокумента"]))
                {
                    imageToSends.Add(new ImageToSend(docID, dt.Rows[i]["КодИзображенияДокумента"])
                    {
                        CanBeSended = true, Printed = !dt.Rows[i]["КодПечатнойФормы"].Equals(DBNull.Value)
                    });
                }
            }
        }
Ejemplo n.º 14
0
 private void ThrowEvent(int id)
 {
     ThrowEvent(id, DBDocString.Format(id));
 }
        private void ChooseDocDialog_Load(object sender, EventArgs e)
        {
            if (table == null || table.Rows.Count == 0)
            {
                return;
            }

            labelMsg.Text =
                string.Format(Environment.StringResources.GetString("LoopLinkDialog.ChooseDocDialog_Load.Message1"),
                              new object[]
            {
                DBDocString.Format(mainDocID),
                DBDocString.Format(secDocID)
            });

            list.Columns.Add(Environment.StringResources.GetString("ID"), 60, HorizontalAlignment.Left);
            list.Columns.Add(Environment.StringResources.GetString("DocumentType"), 120, HorizontalAlignment.Left);
            list.Columns.Add(Environment.StringResources.GetString("DocumentNumber"), 80, HorizontalAlignment.Left);
            list.Columns.Add(Environment.StringResources.GetString("Description"), 180, HorizontalAlignment.Left);
            list.Columns.Add(Environment.StringResources.GetString("LoopLinkDialog.ChooseDocDialog_Load.Message2"), 130,
                             HorizontalAlignment.Center);

            foreach (DataRow dr in table.Rows)
            {
                var docID = (int)dr[Environment.DocData.IDField];

                var values = new string[5];

                // код документа
                values[0] = docID.ToString();

                // название документа
                values[1] = dr[Environment.DocData.NameField].ToString();

                // номер
                object obj = dr[Environment.DocData.NumberField];
                if (!obj.Equals(DBNull.Value))
                {
                    values[2] = obj.ToString();
                }

                // описание
                obj = dr[Environment.DocData.DescriptionField];
                if (!obj.Equals(DBNull.Value))
                {
                    values[3] = obj.ToString();
                }

                // доступен?
                var  avail  = (int)dr[Environment.DocData.RightsField];
                bool rights = (avail == 1);
                if (rights)
                {
                    values[4] = Environment.StringResources.GetString("Available");
                }
                else
                {
                    values[4] = Environment.StringResources.GetString("NotAvailable");
                }

                var item = new Items.DocListItem(docID, rights, values);
                item.ToolTipText = item.Text;
                if (!item.Rights)
                {
                    item.ForeColor = Color.Gray;
                }

                list.Items.Add(item);
            }
        }
        private void PropertiesDocImageDialog_Load(object sender, EventArgs e)
        {
            date             = DateTime.Now;
            archive.ReadOnly = true;

            if (ImageID != 0)
            {
                Text += (Environment.CurCultureInfo.TwoLetterISOLanguageName.Equals("ru") ? " (код " : " ( image ID ") + ImageID + ")";

                labelDoc.Text = DBDocString.Format(docID);

                DataRow docImageRow = Environment.DocImageData.GetDocImage(ImageID);
                if (docImageRow == null)
                {
                    MessageBox.Show(Environment.StringResources.GetString("Properties_PropertiesDocImageDialog_PropertiesDocImageDialog_Load_Message1") + " " +
                                    ImageID + " " + Environment.StringResources.GetString("Properties_PropertiesDocImageDialog_PropertiesDocImageDialog_Load_Message2"));
                    Close();
                }
                else
                {
                    docID = (int)docImageRow[Environment.DocImageData.DocIDField];
                    date  = (DateTime)docImageRow[Environment.DocImageData.CreateDateField];

                    labelDate.Text += " " + date.ToLocalTime().ToString("dd.MM.yyyy HH:mm:ss");

                    labelEdit.Text    += " " + ((DateTime)docImageRow[Environment.DocImageData.EditedField]).ToLocalTime().ToString("dd.MM.yyyy HH:mm:ss");
                    linkEditor.Url     = Environment.UsersURL + (int)docImageRow[Environment.DocImageData.EditorField];
                    linkEditor.Text    = Environment.EmpData.GetEmployee((int)docImageRow[Environment.DocImageData.EditorField], false);
                    linkEditor.Caption = string.Format("№{0} {1}", (int)docImageRow[Environment.DocImageData.EditorField], linkEditor.Text);

                    linkCreator.Url     = Environment.UsersURL + (int)docImageRow[Environment.DocImageData.CreatorField];
                    linkCreator.Text    = Environment.EmpData.GetEmployee((int)docImageRow[Environment.DocImageData.CreatorField], false);
                    linkCreator.Caption = string.Format("№{0} {1}", (int)docImageRow[Environment.DocImageData.CreatorField], linkCreator.Text);

                    printedID = 0;
                    if (docImageRow[Environment.DocImageData.PrintedField] is int)
                    {
                        printedID = (int)docImageRow[Environment.DocImageData.PrintedField];
                    }
                    if (printedID > 0)
                    {
                        object a1 = Environment.PrintData.GetField(Environment.PrintData.NameField, printedID);
                        Text = Environment.StringResources.GetString("PrintedImageProperties") + ((a1 != null) ? " \"" + a1 + "\"" : "") + (Environment.CurCultureInfo.TwoLetterISOLanguageName.Equals("ru") ? " (код " : " ( image ID ") + ImageID + ")";
                        groupBoxMainImage.Text = Environment.StringResources.GetString("Properties_PropertiesDocImageDialog_PropertiesDocImageDialog_Load_Message7");
                    }

                    archiveID = (int)docImageRow[Environment.DocImageData.ArchiveIDField];

                    _originalArchiveId = archiveID;

                    if (archiveID != 0)
                    {
                        archive.Text     = Environment.ArchiveData.GetArchive(archiveID);
                        original.Checked = true;
                    }

                    var eId = (int)docImageRow[Environment.DocImageData.ArchiveEditorField];
                    if (eId > 0)
                    {
                        archiveEditLabel.Text    += " " + ((DateTime)docImageRow[Environment.DocImageData.ArchiveEditField]).ToLocalTime().ToString("dd.MM.yyyy HH:mm:ss");
                        linkArchiveEditor.Url     = Environment.UsersURL + eId;
                        linkArchiveEditor.Text    = Environment.EmpData.GetEmployee(eId, false);
                        linkArchiveEditor.Caption = string.Format("№{0} {1}", eId, linkArchiveEditor.Text);
                    }

                    // основное ли изображение
                    mainImage = (Environment.DocData.GetDocIntField(Environment.DocData.MainImageIDField, docID) == ImageID);

                    imageType = docImageRow[Environment.DocImageData.ImageTypeField].ToString();

                    labelDoc.Text += System.Environment.NewLine + Environment.StringResources.GetString("Properties_PropertiesDocImageDialog_ImageType_Title") +
                                     (imageType.ToUpper() == "PDF" ? "Adobe Acrobat Document" : "Microsoft Office Document Imaging File") + " (" + imageType.ToUpper() + ")";
                    labelDoc.Text += System.Environment.NewLine + Environment.StringResources.GetString("FileSize") + ": " + ((int)docImageRow[Environment.DocImageData.FileSizeField]).ToString("N0") + " " + Environment.StringResources.GetString("Byte")
                                     + "      " + Environment.StringResources.GetString("Pages") + ": " + docImageRow[Environment.DocImageData.PageCountField].ToString();
                }

                // loading servers
                servers.Columns.Add(Environment.StringResources.GetString("Archive"), servers.Width - 80, HorizontalAlignment.Left);
                servers.Columns.Add(Environment.StringResources.GetString("Place"), 70, HorizontalAlignment.Left);

                using (DataTable dt = Environment.DocImageData.GetDocImageServers(ImageID))
                    using (DataTableReader dr = dt.CreateDataReader())
                    {
                        var      fields = new string[3];
                        FileInfo fi     = null;

                        while (dr.Read())
                        {
                            fields[0] = (string)dr[Environment.DocImageData.ServerField];
                            var local = (int)dr[Environment.DocImageData.LocalField];

                            if (local != 0)
                            {
                                if (string.IsNullOrEmpty(fileName))
                                {
                                    fileName = dr[Environment.DocImageData.NetworkPathField] + "\\" + Environment.GetFileNameFromID(ImageID) +
                                               "." + imageType.ToLower();
                                }

                                fields[1] = Environment.StringResources.GetString("Local");
                                fi        = new FileInfo(dr[Environment.DocImageData.NetworkPathField] + "\\" + Environment.GetFileNameFromID(ImageID) + "." + imageType.ToLower());
                            }
                            else
                            {
                                fields[1] = Environment.StringResources.GetString("External");
                                fi        = new FileInfo(dr[Environment.DocImageData.NetworkPathField] + "\\" + Environment.GetFileNameFromID(ImageID) + "." + imageType.ToLower());
                            }
                            var item = new ListViewItem(fields);
                            item.ToolTipText = item.Text;
                            servers.Items.Add(item);
                        }
                        dr.Close(); dr.Dispose(); dt.Dispose();
                    }

                sended.Columns.Add(Environment.StringResources.GetString("Sender"), 110, HorizontalAlignment.Left);
                sended.Columns.Add(Environment.StringResources.GetString("Receiver"), 110, HorizontalAlignment.Left);
                sended.Columns.Add(Environment.StringResources.GetString("Contact"), sended.Width - 350, HorizontalAlignment.Left);
                sended.Columns.Add(Environment.StringResources.GetString("SendTime"), 110, HorizontalAlignment.Left);

                using (DataTable dt = Environment.DocImageData.GetLogForImage(ImageID))
                    using (DataTableReader dr = dt.CreateDataReader())
                    {
                        while (dr.Read())
                        {
                            var direction = (int)dr[Environment.DocImageData.DirectionField];

                            if (direction == 1)
                            {
                                var    sb      = new StringBuilder();
                                string testStr = dr[Environment.DocImageData.SenderField].ToString();
                                if (testStr.Length > 0)
                                {
                                    sb.Append(System.Environment.NewLine);
                                    sb.Append(Environment.StringResources.GetString("Properties_PropertiesDocImageDialog_PropertiesDocImageDialog_Load_Message3"));
                                    sb.Append(" ");
                                    sb.Append(testStr);
                                }
                                sb.Append(System.Environment.NewLine);
                                testStr = dr[Environment.DocImageData.SenderAddressField].ToString();
                                if (testStr.Length > 0)
                                {
                                    sb.Append(Environment.StringResources.GetString("Properties_PropertiesDocImageDialog_PropertiesDocImageDialog_Load_Message4"));
                                    sb.Append(" ");
                                    sb.Append(testStr);
                                    sb.Append("      ");
                                }
                                testStr = dr[Environment.DocImageData.RecipientField].ToString();
                                if (testStr.Length > 0)
                                {
                                    sb.Append(Environment.StringResources.GetString("Properties_PropertiesDocImageDialog_PropertiesDocImageDialog_Load_Message5"));
                                    sb.Append(" ");
                                    sb.Append(testStr);
                                    testStr = dr[Environment.DocImageData.RecipientAddressField].ToString();
                                    if (testStr.Length > 0)
                                    {
                                        sb.Append(" (");
                                        sb.Append(testStr);
                                        sb.Append(")");
                                    }
                                }
                                else
                                {
                                    testStr = dr[Environment.DocImageData.RecipientAddressField].ToString();
                                    if (testStr.Length > 0)
                                    {
                                        sb.Append(testStr);
                                    }
                                }
                                labelDate.AutoSize = true;
                                int oldheight = labelDate.Height;
                                labelDate.Text += sb.ToString();
                                if (labelDate.Height - oldheight > 0)
                                {
                                    Height += labelDate.Height - oldheight;
                                }
                            }
                            else
                            {
                                var fields = new string[4];
                                fields[0] = dr[Environment.DocImageData.SenderField].ToString();
                                fields[1] = dr[Environment.DocImageData.RecipientField].ToString();
                                fields[2] = dr[Environment.DocImageData.RecipientAddressField].ToString();
                                fields[3] = (dr[Environment.DocImageData.SendTimeField] == null) ? "" : ((DateTime)dr[Environment.DocImageData.SendTimeField]).ToLocalTime().ToString("dd.MM.yyyy HH:mm:ss");

                                sended.Items.Add(new ListViewItem(fields)
                                {
                                    ToolTipText = fields[2]
                                });
                            }
                        }
                        dr.Close(); dr.Dispose(); dt.Dispose();
                    }
            }
            else
            {
                if (docID == 0)
                {
                    MessageBox.Show("Properties.PropertiesDocImageDialog.PropertiesDocImageDialog_Load.Error1");
                    Close();
                }
                else
                {
                    Text = Environment.StringResources.GetString("Properties_PropertiesDocImageDialog_PropertiesDocImageDialog_Load_Title1");

                    if (!string.IsNullOrEmpty(fileName))
                    {
                        var      f    = new FileInfo(fileName);
                        ScanInfo info = TextProcessor.ParseScanInfo(f);
                        if (info != null)
                        {
                            date            = info.Date;
                            labelDate.Text += date.ToString();
                        }
                    }
                    else
                    {
                        MessageBox.Show(Environment.StringResources.GetString("Properties_PropertiesDocImageDialog_PropertiesDocImageDialog_Load_Message6"));
                        Close();
                    }
                }
            }
            UpdateControls();
        }