Exemple #1
0
        private void SaveImages()
        {
            int ImgNumber = 0;

            ArrayList pics = tw.TransferPictures();

            EndingScan();
            tw.CloseSrc();
            picnumber++;

            oImage.CompanyID  = CompanyID;
            oImage.CustomerID = oCustomer.CustomerID;
            oImage.Teacher    = txtTeacher.Text;
            oImage.BatchID    = oTeacher.ID;
            oImage.Teacher    = oTeacher.Name;

            int i;

            for (i = 0; i < pics.Count; i++)
            {
                IntPtr img = (IntPtr)pics[i];
                {
                    bmprect = new Rectangle(0, 0, 0, 0);
                    bmpptr  = GlobalLock(img);
                    pixptr  = GetPixelInfo(bmpptr);
                    int picnum = ImgNumber + i + 1;

                    //Saving in Images Table

                    oImage.Date = DateTime.Now;
                    oImage.Insert();

                    Gdip.SavePicToFile(oImage.FilePath, bmpptr, pixptr);
                }
            }
            if (pics.Count > 0)
            {
                oCustomer.Teachers[oCustomer.Teachers.Index].Scanned = true;

                oTeacher.Scanned = true;
                oTeacher.UpdateStatus();
                if (this.SetNextTeacher())
                {
                    txtTeacher.Text = oTeacher.Name;
                }
                else
                {
                    txtTeacher.Clear();
                    txtTeacher.Focus();
                }
            }
        }
        bool IMessageFilter.PreFilterMessage(ref Message m)
        {
            TwainCommand cmd = tw.PassMessage(ref m);

            if (cmd == TwainCommand.Not)
            {
                return(false);
            }

            switch (cmd)
            {
            case TwainCommand.CloseRequest:
            {
                EndingScan();
                tw.CloseSrc();
                break;
            }

            case TwainCommand.CloseOk:
            {
                EndingScan();
                tw.CloseSrc();
                break;
            }

            case TwainCommand.DeviceEvent:
            {
                break;
            }

            case TwainCommand.TransferReady:
            {
                int ImgNumber = 0;

                ArrayList pics = tw.TransferPictures();
                EndingScan();
                tw.CloseSrc();
                picnumber++;

                if (oBatch.Find(_CompanyID, _CustomerID, _Teacher))
                {
                    //ImgNumber = oBatch._ImageFinal;
                }

                //    oBatch._ImageInitial = 1;
                oBatch.CompanyID = _CompanyID;
                //    oBatch.CustomerID = _CustomerID;


                int i;
                for (i = 0; i < pics.Count; i++)
                {
                    IntPtr img = (IntPtr)pics[i];

                    {
                        bmprect = new Rectangle(0, 0, 0, 0);
                        bmpptr  = GlobalLock(img);
                        pixptr  = GetPixelInfo(bmpptr);
                        int picnum = ImgNumber + i + 1;

                        //Gdip.SavePicToFile("ScanPass" + picnum.ToString() + ".tiff", bmpptr, pixptr);
                        Gdip.SavePicToFile("Images/Order-" + _CompanyID.PadLeft(2, '0') + _CustomerID.PadLeft(4, '0') + _Batch.PadLeft(3, '0') + picnum.ToString().PadLeft(4, '0') + ".tif", bmpptr, pixptr);
                    }
                }

                //Save Batch Here

                //oBatch._ImageFinal = ImgNumber + i;
                //oBatch._NumberImages += i;
                //oBatch.Teacher = _Teacher;
                oBatch.Save();



                break;
            }

            default:
            {
                return(false);
            }
            }

            return(true);
        }