private void textEmp_KeyUp(object sender, KeyEventArgs e)
 {
     if (!keyLocker.Contains(e.KeyData))
     {
         keyLocker.Add(e.KeyData);
         try
         {
             lastKeyData = e.KeyData;
             if (lastEmployeeText != textEmp.Text &&
                 !(textEmp.Text.Length == 1 && Regex.IsMatch(textEmp.Text, "[A-Za-z]")))
             {
                 buttonSelect.Text = label + "...";
                 if ((lastKeyData != Keys.Delete) && (lastKeyData != Keys.Back) && lastKeyData != Keys.Down &&
                     lastKeyData != Keys.Up)
                 {
                     ParseEmployee(false);
                 }
             }
             else if ((textEmp.Text.Length == 1 && Regex.IsMatch(textEmp.Text, "[A-Za-z]")) ||
                      (textEmp.Text.Length == 0))
             {
                 buttonSelect.Text = label + "...";
             }
             lastEmployeeText = textEmp.Text;
         }
         catch (Exception ex)
         {
             ErrorShower.OnShowError(null, ex.Message, "");
         }
         finally
         {
             keyLocker.Remove(e.KeyData);
         }
     }
 }
 private void StartInstall(object sender, DoWorkEventArgs args)
 {
     try
     {
         Installer installer = new Installer(gccPath, projectPath);
         installer.OnProgressChangeEvent += ProgressChangeSend;
         installer.StartInstall();
     }
     catch (Exception e)
     {
         ErrorShower.Show(e);
     }
 }
Ejemplo n.º 3
0
        private void btnOK_Click(object sender, EventArgs e)
        {
            CheckNew(false);
            if (_stampId <= 0)
            {
                return;
            }
            if (edited)
            {
                string name   = textName.Text.Trim();
                string nameEn = textNameEn.Text.Trim();
                if (name.Length < 1 || nameEn.Length < 1)
                {
                    ErrorShower.OnShowError(null,
                                            Environment.StringResources.GetString(
                                                "StampEditDialog.CheckNew.ErrorMessage1"),
                                            Environment.StringResources.GetString("Warning"));
                    return;
                }

                if (
                    !Environment.StampData.SetField(Environment.StampData.NameField, SqlDbType.NVarChar,
                                                    _stampId, name))
                {
                    return;
                }

                if (
                    !Environment.StampData.SetField(Environment.StampData.NameEnField, SqlDbType.VarChar,
                                                    _stampId, nameEn))
                {
                    return;
                }
            }
            End(DialogResult);
        }
Ejemplo n.º 4
0
        private void Parse()
        {
            string txt = text.Text.Trim();

            try
            {
                ID = 0;

                if (PersonIDs == null || PersonIDs.Length == 0)
                {
                    SelectDialog(FormXml(false, false).OuterXml);
                }
                else
                {
                    if (txt.Length == 0)
                    {
                        SelectDialog(FormXml(true, true).OuterXml);
                    }
                    else
                    {
                        var findForm = FindForm();
                        if (findForm != null)
                        {
                            findForm.Cursor = Cursors.WaitCursor;
                        }

                        var filter = new DsoDoc();
                        filter.SearchText.Text    = txt;
                        filter.SearchText.Enabled = true;
                        if (PersonIDs != null)
                        {
                            for (int i = 0; i < PersonIDs.Length; i++)
                            {
                                filter.Person.Add(PersonIDs[i]);
                            }
                            filter.Person.MatchAnyItem = true;
                            filter.Person.Enabled      = true;
                        }
                        int result     = 0;
                        int maxRecords = 0;                         //поскольку не надо ничего возвращать
                        var ids        = new int[maxRecords];

                        Data.Env.Docs.FindДокументы(filter, ids, ref result, ref maxRecords);

                        if (result > 0)
                        {
                            if (result < maxResult)
                            {
                                string xml = FormXml(true, true).OuterXml;
                                SelectUniversal(Data.DALC.Documents.Search.Options.GetSQL(xml), xml);
                            }
                            else
                            {
                                SelectDialog(FormXml(true, true).OuterXml);
                            }
                        }
                        else
                        {
                            if (PersonIDs.Length > 1)
                            {
                                filter.Person.MatchAnyItem = false;
                                Data.Env.Docs.FindДокументы(filter, ids, ref result, ref maxRecords);
                                if (result > 0)
                                {
                                    if (result < maxResult)
                                    {
                                        string xml = FormXml(true, false).OuterXml;
                                        SelectUniversal(Data.DALC.Documents.Search.Options.GetSQL(xml), xml);
                                    }
                                    else
                                    {
                                        SelectDialog(FormXml(true, false).OuterXml);
                                    }
                                }
                                else
                                {
                                    SelectDialog(FormXml(false, false).OuterXml);
                                }
                            }
                            SelectDialog(FormXml(false, false).OuterXml);
                        }
                        if (findForm != null)
                        {
                            findForm.Cursor = Cursors.Default;
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                Data.Env.WriteToLog(ex);
                ErrorShower.OnShowError(null, ex.Message, "");
            }
        }
Ejemplo n.º 5
0
        public DataTable GetImages(DateTime minDate)
        {
            var table = new DataTable();

            AddColumns(table);

            try
            {
                var dir = new DirectoryInfo(path);

                Console.WriteLine("{0}: Dir get files", DateTime.Now.ToString("HH:mm:ss fff"));

                FileInfo[] files = dir.GetFiles();

                Console.WriteLine("{0}: Beginning cycle", DateTime.Now.ToString("HH:mm:ss fff"));

                for (int i = 0; i < files.Length; i++)
                {
                    FileInfo f = files[i];

                    Console.Write("File " + i + "/" + files.Length + ": " + f.Name + ".");
                    Console.Write("ext.");

                    if ((ImageType(f.Extension) != null))
                    {
                        Console.Write("date.");

                        if (f.CreationTime >= minDate)
                        {
                            Console.Write("row.");

                            DataRow row = table.NewRow();

                            Console.Write("fill.");

                            FillRow(row, f);

                            Console.Write("pos.");

                            int insPos = -1;
                            for (int j = 0; j < table.Rows.Count; j++)
                            {
                                var jDate = (DateTime)table.Rows[j][DateField];
                                var nDate = (DateTime)row[DateField];
                                if (DateTime.Compare(jDate, nDate) <= 0)
                                {
                                    insPos = j;
                                    break;
                                }
                            }

                            Console.Write("add.");

                            if (insPos != -1)
                            {
                                table.Rows.InsertAt(row, insPos);
                            }
                            else
                            {
                                table.Rows.Add(row);
                            }
                        }
                    }
                    Console.WriteLine("{0}: done", DateTime.Now.ToString("HH:mm:ss fff"));
                }
            }
            catch (Exception ex)
            {
                Lib.Win.Data.Env.WriteToLog(ex);
                ErrorShower.OnShowError(null, ex.Message, "");
            }

            return(table);
        }
Ejemplo n.º 6
0
        private static void timer_Elapsed(object sender, ElapsedEventArgs e)
        {
            if ((wndHandleHashtable == null || wndHandleHashtable.Count == 0) && (answerCollection == null || answerCollection.Count == 0))
            {
                return;
            }
            try
            {
                Console.Write("+");
                if (wndHandleHashtable != null)
                {
                    for (int i = wndHandleHashtable.Count - 1; i > -1; i--)
                    {
                        KeyValuePair <IntPtr, object[]> item = wndHandleHashtable[i];

                        if (item.Value == null)
                        {
                            if (wndHandleHashtable.Contains(item))
                            {
                                wndHandleHashtable.Remove(item);
                            }
                        }
                        else
                        {
                            if (item.Value[1].Equals(false))
                            {
                                if (Program.MainFormDialog.InvokeRequired)
                                {
                                    Program.MainFormDialog.BeginInvoke(new MessageSender(HideForm.SendMessage),
                                                                       new object[] { (IntPtr)item.Value[0], "s" });
                                }
                                else
                                {
                                    HideForm.SendMessage((IntPtr)item.Value[0], "s");
                                }
                                Application.DoEvents();
                            }
                            else
                            {
                                var newitem = new KeyValuePair <IntPtr, object[]>(item.Key, new[] { item.Value[0], false });

                                if (wndHandleHashtable.Contains(item))
                                {
                                    wndHandleHashtable.Remove(item);
                                }

                                wndHandleHashtable.Add(newitem);
                            }
                        }
                    }
                }
                //if(answerCollection != null)
                //    using(WebClient wc = new WebClient())
                //    {
                //        wc.Credentials = CredentialCache.DefaultNetworkCredentials;
                //        for(int i = answerCollection.Count - 1; i > -1; i--)
                //        {
                //            Common.SendAnswerParams item = answerCollection[i];

                //            if(String.IsNullOrEmpty(item.AnswerKey))
                //            {
                //                if(answerCollection.Contains(item))
                //                    answerCollection.Remove(item);
                //            }
                //            else
                //            {
                //                var values = new NameValueCollection();
                //                values["value"] = "s";
                //                values["control"] = item.AnswerControl;
                //                values["callbackKey"] = item.AnswerKey;
                //                values["escaped"] = "0";
                //                wc.UploadValues(new Uri(item.AnswerUrl), "POST", values);
                //                Application.DoEvents();
                //            }
                //        }
                //    }
            }
            catch (Exception ex)
            {
                Lib.Win.Data.Env.WriteToLog(ex);
                ErrorShower.OnShowError(Program.MainFormDialog, ex.Message, string.Empty);
            }
        }
Ejemplo n.º 7
0
        private DataRow[] ParseQuery(string txt)
        {
            if (txt == null)
            {
                return(null);
            }

            txt = Regex.Replace(txt, "[" + Regex.Escape(@"]\*+?|{[()^$#%'") + "]+", "", RegexOptions.IgnoreCase);
            txt = Regex.Replace(txt, "[.]+", " ", RegexOptions.IgnoreCase).Replace("  ", " ").Trim();

            if (txt.Length == 0)
            {
                return(null);
            }

            string[] w  = Regex.Split(txt, @"\s");
            var      rw = w.Clone() as string[] ?? new string[w.Length];

            for (int j = 0; j < rw.Length; j++)
            {
                rw[j] = Replacer.ReplaceRusLat(w[j]);
            }

            int len = w.Length;

            if (len > 0 && len < 4)
            {
                string query    = "";
                var    variants = new ArrayList();

                string f  = empData.FField;
                string i  = empData.IField;
                string o  = empData.OField;
                string fe = empData.FEngField;
                string ie = empData.IEngField;
                string l  = empData.LoginField;

                switch (len)
                {
                case 1:
                    variants.Add(l + " LIKE '" + w[0] + "%'");
                    variants.Add(f + " LIKE '" + rw[0] + "%'");
                    variants.Add(i + " LIKE '" + rw[0] + "%'");
                    variants.Add(fe + " LIKE '" + rw[0] + "%'");
                    variants.Add(ie + " LIKE '" + rw[0] + "%'");
                    break;

                case 2:
                    variants.Add(f + " LIKE '" + rw[0] + "%' AND " + i + " LIKE '" + rw[1] + "%'");
                    variants.Add(i + " LIKE '" + rw[0] + "%' AND " + o + " LIKE '" + rw[1] + "%'");
                    variants.Add(i + " LIKE '" + rw[0] + "%' AND " + f + " LIKE '" + rw[1] + "%'");
                    variants.Add(fe + " LIKE '" + rw[0] + "%' AND " + ie + " LIKE '" + rw[1] + "%'");
                    variants.Add(ie + " LIKE '" + rw[0] + "%' AND " + fe + " LIKE '" + rw[1] + "%'");
                    break;

                case 3:
                    variants.Add(f + " LIKE '" + rw[0] + "%' AND " + i + " LIKE '" + rw[1] + "%' AND " + o +
                                 " LIKE '" + rw[2] + "%'");
                    variants.Add(i + " LIKE '" + rw[0] + "%' AND " + o + " LIKE '" + rw[1] + "%' AND " + f +
                                 " LIKE '" + rw[2] + "%'");
                    break;
                }

                for (int j = 0; j < variants.Count; j++)
                {
                    if (query.Length > 0)
                    {
                        query += " OR ";
                    }
                    query += "(" + (string)variants[j] + ")";
                }

                try
                {
                    return(empTable.Select(query));
                }
                catch (Exception ex)
                {
                    Data.Env.WriteToLog(ex);
                    ErrorShower.OnShowError(null, ex.Message, "");
                }
            }

            return(null);
        }
Ejemplo n.º 8
0
        private void CheckNew(bool warning)
        {
            if (_stampId >= 0)
            {
                return;
            }
            string name   = textName.Text.Trim();
            string nameEn = textNameEn.Text.Trim();

            if (name.Length < 1 || nameEn.Length < 1)
            {
                ErrorShower.OnShowError(null,
                                        Environment.StringResources.GetString(
                                            "StampEditDialog.CheckNew.ErrorMessage1"),
                                        Environment.StringResources.GetString("Warning"));
                return;
            }
            if (StampImage == null)
            {
                ErrorShower.OnShowError(null,
                                        Environment.StringResources.GetString(
                                            "StampEditDialog.CheckNew.ErrorMessage2"),
                                        Environment.StringResources.GetString("Warning"));
                return;
            }
            byte[] imagebyte = GetImageBytes(StampImage);
            if (imagebyte == null || imagebyte.Length < 10)
            {
                ErrorShower.OnShowError(this,
                                        Environment.StringResources.GetString(
                                            "StampEditDialog.CheckNew.ErrorMessage2"),
                                        Environment.StringResources.GetString("Warning"));
                return;
            }
            if (warning &&
                MessageBox.Show("Сохранить штамп?", Environment.StringResources.GetString("Confirmation"),
                                MessageBoxButtons.YesNoCancel) == DialogResult.No)
            {
                return;
            }
            if (createStampID < 1)
            {
                _stampId = Environment.StampData.AddStamp(imagebyte, name, nameEn);

                if (_stampId > 0)
                {
                    Environment.StampRightsData.SetStampRights(_stampId,
                                                               new List <StampRight>
                    {
                        new StampRight {
                            UserId = Environment.CurEmp.ID
                        }
                    });
                    Environment.StampChecksData.SetStampRules(null, _stampId,
                                                              new StampRule {
                        UserId = Environment.CurEmp.ID
                    });
                }
            }
            else
            {
                if (Environment.StampData.SetStampImage(createStampID, imagebyte, name, nameEn))
                {
                    _stampId = createStampID;
                    buttonReplace.Visible = false;
                }
            }
        }
Ejemplo n.º 9
0
        private void DelPart(string srcFile, string dstFile, int page_from, int page_to, bool savePermission)
        {
            PdfReader basePDFReader = null;

            string tmpF = (srcFile == dstFile) ? Path.GetTempFileName() : dstFile;

            FileAttributes fa = FileAttributes.Normal;

            try
            {
                if (srcFile == dstFile)
                {
                    if (((int)File.GetAttributes(srcFile) & (int)FileAttributes.ReadOnly) ==
                        (int)FileAttributes.ReadOnly)
                    {
                        try
                        {
                            fa = File.GetAttributes(srcFile);
                            File.SetAttributes(srcFile, FileAttributes.Normal);
                        }
                        catch (Exception ex)
                        {
                            ErrorShower.OnShowError(null, ex.Message,
                                                    Environment.StringResources.GetString("DocControl_Page_Error1"));
                            return;
                        }

                        FileStream fs = null;
                        try
                        {
                            fs = File.Open(dstFile, FileMode.Append, FileAccess.Write, FileShare.ReadWrite);
                        }
                        catch (IOException)
                        {
                            ErrorShower.OnShowError(null,
                                                    string.Format(
                                                        Environment.StringResources.GetString("DocControl_PDF_FileBusy"),
                                                        dstFile),
                                                    Environment.StringResources.GetString("DocControl_Page_Error1"));
                            return;
                        }
                        catch (UnauthorizedAccessException ue)
                        {
                            ErrorShower.OnShowError(null, ue.Message,
                                                    Environment.StringResources.GetString("DocControl_Page_Error1"));
                            return;
                        }
                        finally
                        {
                            if (fs != null)
                            {
                                fs.Close();
                            }
                        }
                    }
                }

                using (
                    var fio = new FileStream(srcFile, FileMode.Open, FileAccess.Read,
                                             FileShare.ReadWrite | FileShare.Delete))
                {
                    string password = String.Empty;
                    try
                    {
                        fio.Position  = 0;
                        basePDFReader = new PdfReader(fio, Encoding.UTF8.GetBytes(password));

                        if (!basePDFReader.IsOpenedWithFullPermissions)
                        {
                            throw new BadPasswordException("");
                        }
                    }
                    catch (BadPasswordException)
                    {
                        while (basePDFReader == null || !basePDFReader.IsOpenedWithFullPermissions)
                        {
                            if (basePDFReader != null)
                            {
                                basePDFReader.Close();
                            }

                            password = String.Empty;
                            if (
                                Controls.PdfViewControl.InputBox.Show(Environment.StringResources.GetString("DocControl_PDF_Encrypted"),
                                                                      Environment.StringResources.GetString("DocControl_PDF_EnterPass"),
                                                                      ref password) == DialogResult.Cancel)
                            {
                                return;
                            }

                            try
                            {
                                fio.Position  = 0;
                                basePDFReader = new PdfReader(fio, Encoding.UTF8.GetBytes(password));
                            }
                            catch (BadPasswordException)
                            {
                            }
                        }
                    }

                    if (basePDFReader.NumberOfPages == 0)
                    {
                        throw new Exception("В документе отсутствуют страницы. Операция сохранения невозможна!");
                    }

                    page_from = (page_from <= 0 || page_from > basePDFReader.NumberOfPages) ? 1 : page_from;
                    page_to   = (page_to <= 0 || page_to > basePDFReader.NumberOfPages)
                                  ? basePDFReader.NumberOfPages
                                  : page_to;

                    if ((page_to - page_from + 1) == basePDFReader.NumberOfPages)
                    {
                        return;
                    }

                    int i = page_from - 1;
                    int j = 1;

                    var pages = new int[basePDFReader.NumberOfPages];

                    pages = pages.Select(x => x = j++).ToArray();
                    pages = pages.Where(x => x <page_from || x> page_to).ToArray();

                    using (var file_stream = new FileStream(tmpF, FileMode.Create, FileAccess.Write, FileShare.None))
                        using (var document = new iTextSharp.text.Document())
                            using (var pdfWriter = new PdfCopy(document, file_stream))
                            {
                                pdfWriter.CompressionLevel = PdfStream.BEST_COMPRESSION;
                                pdfWriter.SetFullCompression();
                                pdfWriter.RotateContents = true;

                                if (savePermission && password != String.Empty)
                                {
                                    pdfWriter.SetEncryption(null, Encoding.UTF8.GetBytes(password), basePDFReader.Permissions,
                                                            PdfWriter.STANDARD_ENCRYPTION_128);
                                }

                                document.Open();

                                foreach (int numberPage in pages)
                                {
                                    PdfImportedPage pp = pdfWriter.GetImportedPage(basePDFReader, numberPage);
                                    pdfWriter.AddPage(pp);
                                }
                                document.Close();
                            }
                }
                if (srcFile == dstFile)
                {
                    File.Copy(tmpF, dstFile, true);
                }
            }
            catch (Exception ex)
            {
                Data.Env.WriteToLog(ex);
            }
            finally
            {
                if (basePDFReader != null)
                {
                    basePDFReader.Close();
                }

                if (srcFile == dstFile)
                {
                    Slave.DeleteFile(tmpF);

                    if (fa != File.GetAttributes(dstFile))
                    {
                        try
                        {
                            File.SetAttributes(dstFile, fa);
                        }
                        catch (Exception ex)
                        {
                            Data.Env.WriteToLog(ex);
                        }
                    }
                }
            }
        }