private void setArchLogData(PreviousArchStatVO vo, OracleConnection connection)
        {
            string sql = "SELECT TRUNC(ARCH_DATE),SOURCE_DOC_DB,TARGET_DOC_DB,TOTAL_DOCS,ARCHIVED,FAILED," +
                         "TO_CHAR(STARTTIME, 'HH12:MI:SS AM'), TO_CHAR(ENDTIME, 'HH12:MI:SS AM') FROM" +
                         " CCSOWNER.PWN_DOC_REG_ARCH_LOG ORDER BY STARTTIME DESC";

            using (var oracleCommand = new OracleCommand(sql, connection))
            {
                log.Debug(string.Format("Executing: {0}", sql));
                using (var reader = oracleCommand.ExecuteReader())
                {
                    if (reader.RowSize > 0 && reader.HasRows)
                    {
                        DataTable dataTable = new DataTable("PAWNARCHLOG");
                        dataTable.Load(reader, LoadOption.OverwriteChanges);
                        vo.DataTableValue = dataTable;
                    }
                    if (reader != null)
                    {
                        reader.Dispose();
                        reader.Close();
                    }
                }
            }
        }
        public void BackgroundWorkerForGetDocsDoWork(object sender, DoWorkEventArgs e)
        {
            //prepateDataToDisplay();

            BackgroundWorker worker = sender as BackgroundWorker;

            job1         = new ThreadForDocListTree(worker, e);
            oThread      = new Thread(new ThreadStart(job1.run));
            oThread.Name = "T1";
            oThread.Start();


            job2 = new ThreadForDocList(worker, e);
            if (Properties.Settings.Default.TempFetch)
            {
                oThread1 = new Thread(new ThreadStart(job2.testRun));
            }
            else
            {
                oThread1 = new Thread(new ThreadStart(job2.run));
            }
            oThread1.Name = "T2";
            oThread1.Start();

            while (oThread.IsAlive || oThread1.IsAlive)
            {
                if (worker.CancellationPending)
                {
                    e.Cancel = true;
                    break;
                }
                //log.Debug(string.Format("Waiting on threads Thread1:{0} Thread2:{1} ", oThread.IsAlive, oThread1.IsAlive));
            }
            log.Info("Threads completed...");
            prevVO      = job1.getPreviousArchData();
            totalDoc    = job2.getTotalRecords();
            dataList    = job2.getResultData();
            resultTable = CouchConsoleApp.thread.ThreadForDocList.getDataTableFromVO(dataList);;

            if (job1.isExecSuccess() && job2.isExecSuccess())
            {
                exeSuccess = true;
            }
            else
            {
                exeSuccess = false;
                if (!job1.isExecSuccess())
                {
                    errorMsg = job1.getError();
                }
                else
                {
                    errorMsg = job2.getError();
                }
            }
        }
        public bool getPreviousRunStats(out PreviousArchStatVO vo)
        {
            vo = new PreviousArchStatVO();
            var stopwatch = new Stopwatch();

            stopwatch.Start();
            try
            {
                if (DBConnector.getInstance().getStatus() != DBConnector.Status.INITIALIZED)
                {
                    log.Error("DB Connection not established: Search aborted");
                    return(false);
                }
                using (var connection = new OracleConnection())
                {
                    connection.ConnectionString = DBConnector.getInstance().databaseServiceName();
                    connection.Open();
                    string countSql = "SELECT COUNT(*) CNT FROM CCSOWNER.PWN_DOC_REG_ARCH_STAT STAT WHERE STATUS='Y'";
                    vo.SucessCount   = executeCountQuery(countSql, connection);
                    countSql         = "SELECT COUNT(*) CNT FROM CCSOWNER.PWN_DOC_REG_ARCH_STAT STAT WHERE STATUS='G'";
                    vo.GetErrorCount = executeCountQuery(countSql, connection);
                    countSql         = "SELECT COUNT(*) CNT FROM CCSOWNER.PWN_DOC_REG_ARCH_STAT STAT WHERE STATUS='A'";
                    vo.AddErrorCount = executeCountQuery(countSql, connection);
                    countSql         = "SELECT COUNT(*) CNT FROM CCSOWNER.PWN_DOC_REG_ARCH_STAT STAT WHERE STATUS='D'";
                    vo.DelErrorCount = executeCountQuery(countSql, connection);
                    setArchLogData(vo, connection);
                    return(true);
                }
            }
            catch (Exception e)
            {
                log.Error("Getting previoud archival statistics failed", e);
            }finally
            {
                stopwatch.Stop();
                log.Debug(string.Format("Time Taken for getPreviousRunStats : {0} Msec", stopwatch.Elapsed));

                /*if (var reader != null)
                 * {
                 *  reader.Dispose();
                 *  reader.Close();
                 * }
                 * if(connection != null)
                 * {
                 *  connection.Close();
                 *  connection = null;
                 * }*/
            }
            return(false);
        }
Exemple #4
0
 public ListDocsForm(Form1 mainForm, DataTable table, PreviousArchStatVO prevVO, int totalDocs, List <PawnDocRegVO> dataList)
 {
     InitializeComponent();
     resultTable = table;
     //this.srcListTree = srcListTreeList;
     this.mainForm     = mainForm;
     this.eventHnadler = new ListDocsFormEvents(mainForm, this);
     //this.srcListForTargetTree = srcListForTargetTree;
     this.prevVO  = prevVO;
     FormClosing += this.eventHnadler.ListDocForm_FormClosing;
     if (table != null)
     {
         setDataTable();
     }
     //setSourceTrees();
     setPrevStat();
     this.totalDoc         = totalDocs;
     this.dataList         = dataList;
     this.totalRecLbL.Text = totalDoc.ToString();
     this.backgroundWorker1.ProgressChanged    += eventHnadler.BackgroundWorkerForGetDocsProgressChanged;
     this.backgroundWorker1.DoWork             += eventHnadler.BackgroundWorkerForGetDocsDoWork;
     this.backgroundWorker1.RunWorkerCompleted += eventHnadler.BgWork_GetDocs_Completed;
     this.mainForm.constrollSet1Disable();
 }