public bool Run()
 {
     if (oImages.Index != -1)
     {
         ScannedImage oImage = oImages[oImages.Index];
         return(this.ProcessImage(oImage.FilePath));
     }
     return(true);
 }
        public frmOrderICRAdquire()
        {
            InitializeComponent();

            oCustomer   = new ScannedCustomer(Global.CurrrentCompany);
            oTeacher    = new ScannedTeacher(Global.CurrrentCompany);
            oImage      = new Signature.Classes.ScannedImage();
            imagXpress1 = new PegasusImaging.WinForms.ImagXpress9.ImagXpress(components);
            OutputImg   = new PegasusImaging.WinForms.ImagXpress9.ImageXView(imagXpress1);
        }  //Constructor
        public void Load(String CompanyID, String CustomerID, String Teacher, ScannedOrderStatus Status)
        {
            this.Clear();
            this.Index      = -1;
            this.CompanyID  = CompanyID;
            this.CustomerID = CustomerID;
            this.Teacher    = Teacher;

            DataTable table;

            if (Teacher != "")
            {
                table = oMySql.GetDataTable(String.Format("Select * From OrderScannedDetail Where CompanyID='{0}' And CustomerID='{1}' And Teacher=\"{2}\" And Status='{3}'", CompanyID, CustomerID, Teacher, (int)Status));
            }
            else
            {
                table = oMySql.GetDataTable(String.Format("Select * From OrderScannedDetail Where CompanyID='{0}' And CustomerID='{1}' And Status='{2}'", CompanyID, CustomerID, (int)Status));
            }

            if (table == null)
            {
                return;
            }

            foreach (DataRow row in table.Rows)
            {
                ScannedImage _Image = new ScannedImage();
                _Image.CompanyID  = CompanyID;
                _Image.CustomerID = CustomerID;
                _Image.Date       = (DateTime)row["Date"];
                _Image.Teacher    = row["Teacher"].ToString();
                _Image.ImagePath  = row["ImagePath"].ToString();
                _Image.ID         = (Int32)row["ImageID"];
                _Image.Status     = Global.ToEnum <ScannedOrderStatus>((int)row["Status"]);
                _Image.OrderID    = (Int32)row["OrderID"];

                this.Add(row["ImageID"].ToString(), _Image);
            }
        }
        public bool ProcessOrder(ScannedImage oImage)
        {
            if (oImage.Status == ScannedOrderStatus.JustScanned)
            {
                if (!this.ProcessImage(oImage.FilePath))
                {
                    /*oImage.OrderID = 0;
                     * oImage.Message = this.ErrorMsg;
                     * oImage.Status = ScannedOrderStatus.NoProcessedWithErrors;
                     * oImage.UpdateStatus();*/
                    return(false);
                }
                if (!this.CreateOrder())
                {
                    if (!IsProcessAll)
                    {
                        frmOrder ofrmOrder = new frmOrder(oOrder);
                        ofrmOrder._OrderProcess = OrderProcess.ScanFixing;
                        ofrmOrder.ShowDialog();
                        if (ofrmOrder.IsSaved)
                        {
                            oImage.OrderID = Convert.ToInt32(ofrmOrder.oOrder.ID);
                            oImage.Message = "Saved and Corrected";
                            oImage.Status  = ScannedOrderStatus.ProcessedAndCorrected;
                            oImage.UpdateStatus();
                        }
                        ofrmOrder.Dispose();
                    }
                    else
                    {
                        oOrder.Save();
                        oImage.OrderID = Convert.ToInt32(oOrder.ID);
                        oImage.Message = "Processed With Errors";
                        oImage.Status  = ScannedOrderStatus.ProcessedWithErrors;
                        oImage.UpdateStatus();



                        PegasusImaging.WinForms.ImagXpress9.SaveOptions so = new PegasusImaging.WinForms.ImagXpress9.SaveOptions();
                        so.Format = PegasusImaging.WinForms.ImagXpress9.ImageXFormat.Jpeg;
                        //so.Tiff.Compression = PegasusImaging.WinForms.ImagXpress9.Compression.Group4;

                        oImage.FileType = "JPEG";
                        OutputImg.Image.Save(oImage.FilePath, so);
                    }
                }
                else
                {
                    oOrder.Save();
                    oImage.OrderID = Convert.ToInt32(oOrder.ID);
                    oImage.Message = "Processed And OK";
                    oImage.Status  = ScannedOrderStatus.ProcessedOk;
                    oImage.UpdateStatus();
                }
            }
            else
            {
                return(false);
            }
            return(true);
        }