예제 #1
0
        private void btnSave_Click(object sender, EventArgs e)
        {
            //save to db
            if (string.IsNullOrEmpty(txtToFind.Text))
            {
                return;
            }

            var allOcr = string.Empty;

            foreach (var ocr in Global.OcrLines)
            {
                allOcr += ocr.Content + "^`^";
            }

            var receipt = (Receipt)receiptBindingSource.Current;

            receipt.OcrLines = allOcr;

            using (MyReceiptOnlyContext db = new MyReceiptOnlyContext())
            {
                db.TableReceipts.Add(receipt);
                db.SaveChanges();
            }

            //if (chkDelImage.Checked)
            //{
            //    FileInfo current = (FileInfo)bindingSource1.Current;
            //    var fname = current.FullName;// context.GetValue(FilePath);
            //    File.Delete(fname);
            //    Global.LogWarn("File Deleted..." + fname);
            //}
        }
예제 #2
0
        private void btnLoad_Click(object sender, EventArgs e)
        {
            using (MyReceiptOnlyContext db = new MyReceiptOnlyContext())
            {
                var q    = db.TableReceipts.Where(r => r.UserFolder == txtCurrentUser.Text);
                var list = q.OrderBy(r => r.Created).ToList();



                this.bindingSourceCSV.DataSource = list;
                dgCSV.DataSource = bindingSourceCSV;
                this.bindingNavigatorCSV.BindingSource = bindingSourceCSV;
            }
        }
예제 #3
0
        private void btnUserSet_Click(object sender, EventArgs e)
        {
            WaitForReady();
            SetStatus(ProcessStatus.Election);
            List <Receipt> table = new List <Receipt>();
            //string user = Path.GetFileName(Global.CurrentUserFolder);

            var current = Global.CurrentReciept;
            var tinId   = current.Tax_Identification;

            tinId = RocsTextService.RefineToPureNumber(tinId);

            using (MyReceiptOnlyContext db = new MyReceiptOnlyContext())
            {
                var q = db.TableReceiptFixes.Where(r => r.UserFolder == Global.CurrentUser &&
                                                   r.Modified.HasValue);



                List <ReceiptFix> listR = new List <ReceiptFix>();
                foreach (var r in q)
                {
                    // && RocsTextService.RefineToPureNumber(r.Tax_Identification) == tinId
                    if (RocsTextService.RefineToPureNumber(r.Tax_Identification) == tinId)
                    {
                        listR.Add(r);
                    }
                }

                if (listR.Count > 0)
                {
                    var setting = listR.OrderByDescending(r => r.Modified).ToList().FirstOrDefault();
                    if (setting.Id > 0)
                    {
                        current.Address       = setting.Address;
                        current.Comapany_Name = setting.Comapany_Name;
                        current.Description   = setting.Description;
                    }
                    Global.CurrentReciept = current;
                }
            }


            table.Add(Global.CurrentReciept);
            receiptBindingSource.DataSource             = table;
            dgReceipts.DataSource                       = receiptBindingSource;
            this.bindingNavigatorReceipts.BindingSource = receiptBindingSource;

            SetStatus(ProcessStatus.Ready);
        }
예제 #4
0
        private void btnClearDb_Click(object sender, EventArgs e)
        {
            if (MessageBox.Show("Do you want to clear all records in the database?", "Confirm Delete", MessageBoxButtons.YesNo) == DialogResult.Yes)
            {
                using (MyReceiptOnlyContext db = new MyReceiptOnlyContext())
                {
                    db.Database.ExecuteSqlCommand("DELETE FROM [Receipts]");

                    var q    = db.TableReceipts.Where(r => r.UserFolder == Global.CurrentUser);
                    var list = q.OrderByDescending(r => r.Date).ToList();

                    this.bindingSourceCSV.DataSource = list;
                    dgCSV.DataSource = bindingSourceCSV;
                    this.bindingNavigatorCSV.BindingSource = bindingSourceCSV;
                }
            }
        }
예제 #5
0
        private void btnExcel_Click(object sender, EventArgs e)
        {
            string csvName = "receipt";

            using (MyReceiptOnlyContext db = new MyReceiptOnlyContext())
            {
                var q    = db.TableReceipts.Where(r => r.UserFolder == Global.CurrentUser);
                var list = q.OrderBy(r => r.Created).ToList();

                if (list.Count > 0)
                {
                    var cnt = list.Count;
                    csvName += cnt.ToString();
                }

                this.bindingSourceCSV.DataSource = list;
                dgCSV.DataSource = bindingSourceCSV;
                this.bindingNavigatorCSV.BindingSource = bindingSourceCSV;
            }

            //export to csv

            var folder = Global.Config.GetValue("FrontFolder") + "\\" + Global.CurrentUser; //Global.CurrentUserFolder;
            var file   = csvName + ".csv";
            var path   = Path.Combine(folder, file);

            SaveDataGridViewToCSV(path);

            var stat = BaiRocService.GetEngineStat();

            if (stat.Value >= stat.MaxValue)
            {
                stat.Status         = "Idle";
                stat.LastBatchCount = stat.MaxValue;
                stat.TotalConvert  += stat.MaxValue;
                stat.MaxValue       = 0;
                stat.Value          = 0;
                BaiRocService.UpdateEngine(stat);
            }
        }