// UNPACK ENVELOPES AND UPLOAD INTO DB :
        private void ProcessEnvelopes()
        {
            string methodName = MethodInfo.GetCurrentMethod().Name;
            try
            {
                string todayUploadedLog = DateTime.Now.ToString("yyyyMMdd") + "_Uploaded.log";

                // POSSIBLE A NEW DAY STARTED & NEW LOG FILE NEEDED :

                if (!File.Exists(todayUploadedLog))
                {
                    File.Create(todayUploadedLog);
                    textBox_4_Tests_Only.Text = textBoxClearHeader;
                    dataPicker.SelectedDate = DateTime.Now;
                }
                else
                {
                    string dbLogin = passwordBoxLogin.Password.Trim();
                    string dbPassw = passwordBoxPassw.Password.Trim();

                    if (dbLogin.Length < 1 || dbPassw.Length < 1)
                    {
                        MessageBox.Show("Set Login & Password Before!");
                    }
                    else
                    {
                        WorkWithDB_2015 workWithDB = new WorkWithDB_2015(_DATABASE, dbLogin, dbPassw);

                        labelForTimer.Content = "Run Every " + timerMinutes + " min. Next Autorun at " +
                                        DateTime.Now.AddMinutes(timerMinutes).ToString("HH:mm:ss");
                        // "Next Autorun at - " + DateTime.Now.AddMinutes(15).ToShortTimeString();

                        // GET TODAY ENVELOPES FROM TODAY-FOLDER (OR ANOTHER SELECTED DATE) :

                        FileInfo[] todayEnvelopes = GetEnvelopesListForDate(dataPicker.SelectedDate.Value);

                        if (todayEnvelopes != null && todayEnvelopes.Length > 0)
                        {
                            for (int i = 0; i < todayEnvelopes.Length; i++)
                            {
                                // CREATE ENVELOPE USING EVERY ENVELOPE-FILE PARAMS :

                                Envelope env = new Envelope(todayEnvelopes[i]);
                                // TODO:  SOMETHING WRONG...
                                // TODO:  SOMETHING WRONG...
                                // TODO:  SOMETHING WRONG...
                                env.fileLocation = "FILE NOT FOUND !!!";

                                // CHECK IN LOG FILE IF NOT UPLOADED YET :

                                if (!File.ReadAllText(todayUploadedLog).Contains(env.envelopeName))
                                {
                                    // GET UNPACKED FILES (LOOKING IN ALL POSSIBLE FOLDERS) :

                                    foreach (string possiblePath in possibleOutputDirs)
                                    {
                                        string outputFilePath = NbuRootDir + possiblePath + env.fileName;

                                        if (File.Exists(outputFilePath))
                                        {
                                            env.fileLocation = outputFilePath;
                                            break;
                                        }
                                    }

                                    // START UPLOAD INTO DB HERE !!! :
                                    UploadEnvelope upload = new UploadEnvelope();

                                    string connString = "Server=" + _SERVER + "; Database=" + _DATABASE + "; Uid=" + dbLogin + "; Pwd=" + dbPassw + "";

                                    if (upload.EnvelopeUpload(_ENVELOPE_TBL, env, connString) != 0)
                                    // if (workWithDB.EnvelopeUpload(_ENVELOPE_TBL, env) != 0)  // OLD 2015 VERSION;
                                    {
                                        // IT MEANS - UPLOADED SUCCESSFULLY !

                                        File.AppendAllText(todayUploadedLog, env.envelopeName + " - " + env.fileName + Environment.NewLine);

                                        nLogger.Trace("{0}() - {1}", env.envelopeName, env.fileName);

                                        textBox_4_Tests_Only.Text += Environment.NewLine + DateTime.Now + " - " + env.envelopeName + " - " + env.fileName;
                                    }
                                }
                            }
                        }
                        nLogger.Trace("Job finished successfully.");

                        textBox_4_Tests_Only.Text += Environment.NewLine + DateTime.Now + " - Ok.";
                    }
                }
            }
            catch (Exception e)
            {
                nLogger.Error("{0}() - {1}", methodName, e.Message);
            }
        }
        // MANUAL !!! UPLOAD "SPRUSNBU" INTO !!! OLD PROM !!! SQL FROM DBF:
        private void btnSprusnbuUpd_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                Microsoft.Win32.OpenFileDialog dlg = new Microsoft.Win32.OpenFileDialog();
                dlg.DefaultExt = ".dbf";
                dlg.Filter = "DBF Files Only (*.dbf)|*.dbf";

                bool? dbfFileSelected = dlg.ShowDialog();

                if (dbfFileSelected == true)
                {
                    FileInfo dbfFile = new FileInfo(dlg.FileName);

                    string dbLogin = passwordBoxLogin.Password.Trim();
                    string dbPassw = passwordBoxPassw.Password.Trim();

                    if (dbLogin.Length < 1 || dbPassw.Length < 1)
                    {
                        MessageBox.Show("Set Login & Password Before!");
                    }
                    else
                    {
                        WorkWithDB_2015 workWithDB = new WorkWithDB_2015(_DATABASE, dbLogin, dbPassw);

                        MessageBox.Show(workWithDB.UpdateSprusnbuFromDbf(_SPRUSNBU_2014,
                            dbfFile.Directory.ToString(), dbfFile.Name));
                    }
                }
            }
            catch (Exception exc)
            {
                MessageBox.Show(exc.Message);
            }
        }
        // RUN TASKS USING SHCHEDULER :
        private void RunEveryFifteenMin(object sender, EventArgs e)
        {
            // DON'T RUN UNTIL 7 O'CLOCK FOR WAITHING ALL BACKUP TASKS HAS FINISHED :

            if (DateTime.Now.Hour > 7)
            {
                // TODO:  TEMPORARY AUTO SPRUSNBU UPLOADER !!!!!
                // TODO:  TEMPORARY AUTO SPRUSNBU UPLOADER !!!!!
                // TODO:  TEMPORARY AUTO SPRUSNBU UPLOADER !!!!!

                string dir4sprusnbu = "C:\\NBUMAIL\\SPRUSNBD4SQL\\";

                string log4sprusnbu = "NBU_Mailer_2016_Sprusnbu_Upload.log";

                string currentSprusFile = "SPRUSNBU.DBF";

                string todaySprusFilePath = dir4sprusnbu + DateTime.Now.ToString("yy-MM-dd") + ".SPRUSNBU.DBF";

                if ((DateTime.Now.Hour == 11 || DateTime.Now.Hour == 15) && DateTime.Now.Minute > 40)
                {
                    try
                    {
                        if (!Directory.Exists(dir4sprusnbu)) Directory.CreateDirectory(dir4sprusnbu);

                        bool currSprusAlreadyLoad = false;

                        FileInfo[] oldSprusFiles = new DirectoryInfo(dir4sprusnbu).GetFiles("*.dbf");

                        DateTime currSprusDate = new FileInfo("C:\\NBUMAIL\\" + currentSprusFile).LastWriteTime;

                        // MessageBox.Show(oldSprusFiles.Length + " files in " + dir4sprusnbu);

                        foreach (FileInfo file in oldSprusFiles)
                        {
                            if (file.LastWriteTime == currSprusDate)
                            {
                                currSprusAlreadyLoad = true;
                                break;
                            }
                        }

                        if (!currSprusAlreadyLoad)
                        {
                            // CREATE TEMPORARY FILE FOR ODBC UPLOADING :
                            File.Copy("C:\\NBUMAIL\\" + currentSprusFile, dir4sprusnbu + currentSprusFile);

                            string dbLogin = passwordBoxLogin.Password.Trim();
                            string dbPassw = passwordBoxPassw.Password.Trim();

                            // UPLOAD IN SQL - UPDATE 2016 !!!
                            // UPLOAD IN SQL - UPDATE 2016 !!!

                            string table = "SPRUSNBU_BANKS";

                            string connString = "Server=" + _SERVER + "; Database=" + _DATABASE + "; Uid=" + dbLogin + "; Pwd=" + dbPassw + "";

                            UploadDbfIntoSql uploadDbf = new UploadDbfIntoSql();


                            // UPLOAD 2 =SPRUSNBU= 4 NEW 2016 :

                            string uploadRez = uploadDbf.ReadDbfAndInsert(dir4sprusnbu + currentSprusFile, _DATABASE, table, connString);

                            File.AppendAllText(log4sprusnbu, "\r\n" + DateTime.Now + " - " + uploadRez);

                            // UPLOAD 2 =SPRUSNBU_BANKS= 4 OLD 2015

                            // UPLOAD IN SQL - OVERWRITE 2014 !!!
                            // UPLOAD IN SQL - OVERWRITE 2014 !!!

                            WorkWithDB_2015 workWithDB = new WorkWithDB_2015(_DATABASE, dbLogin, dbPassw);

                            string uploadRez2014 = workWithDB.UpdateSprusnbuFromDbf(_SPRUSNBU_2014, dir4sprusnbu, currentSprusFile);

                            File.AppendAllText(log4sprusnbu, "\r\n" + DateTime.Now + " - " + uploadRez2014);

                            System.Threading.Thread.Sleep(4000);

                            // STORE TEMPORARY FILE FOR NEXT TIME CHECKING :
                            File.Move(dir4sprusnbu + currentSprusFile, todaySprusFilePath);
                        }
                    }
                    catch (Exception exc)
                    {
                        File.AppendAllText(log4sprusnbu, "\r\n" + DateTime.Now + " - " + exc.Message);
                    }
                }
                ///////////////////////////////////////////////////////////
                ///////////////////////////////////////////////////////////

                ProcessEnvelopes();
            }
        }