private void timer_Tick(object sender, EventArgs e) { try { timer.Interval = new TimeSpan(0, 1, 0); //timer.Stop(); if (!string.IsNullOrEmpty(SyncFunctions.username)) { using (SqlConnection conn = new SqlConnection(GlobalClass.TConnectionString)) { var PendingBills = conn.Query <dynamic>("SELECT VCHRNO, JSON_DATA FROM tblSyncLog WHERE STATUS = 0"); foreach (dynamic bill in PendingBills) { if (bill.VCHRNO.Substring(0, 2) == "CN") { BillReturnViewModel model; if (!string.IsNullOrEmpty(bill.JSON_DATA)) { model = JsonConvert.DeserializeObject <BillReturnViewModel>(bill.JSON_DATA); } else { model = SyncFunctions.getBillReturnObject(bill.VCHRNO); } model.datetimeClient = DateTime.Now; model.isrealtime = false; SyncFunctions.SyncSalesReturnData(model); } else { BillViewModel model; if (!string.IsNullOrEmpty(bill.JSON_DATA)) { model = JsonConvert.DeserializeObject <BillViewModel>(bill.JSON_DATA); } else { model = SyncFunctions.getBillObject(bill.VCHRNO); } model.datetimeClient = DateTime.Now; model.isrealtime = false; SyncFunctions.SyncSalesData(model); } System.Threading.Thread.Sleep(100); } } } } catch (Exception ex) { MessageBox.Show(ex.GetBaseException().Message); } }
private async void ExecuteSave(object obj) { try { if (!VSales.TRNMODE && string.IsNullOrEmpty(VSales.BillTo)) { MessageBox.Show("Customer Name cannot be empty in Credit Sales.", MessageBoxCaption, MessageBoxButton.OK, MessageBoxImage.Exclamation); return; } else if (VSDetailList.Count == 0) { MessageBox.Show("Please add atleast one Voucher Type.", MessageBoxCaption, MessageBoxButton.OK, MessageBoxImage.Exclamation); return; } if (MessageBox.Show("You are going to save current transation. Do you want to proceed?", MessageBoxCaption, MessageBoxButton.YesNo, MessageBoxImage.Question) == MessageBoxResult.No) { return; } ParkingVouchers = new List <Voucher>(); using (SqlConnection conn = new SqlConnection(GlobalClass.TConnectionString)) { conn.Open(); using (SqlTransaction tran = conn.BeginTransaction()) { VSales.TDate = CurDate; VSales.TTime = CurTime; VSales.UID = GlobalClass.User.UID; VSales.SESSION_ID = GlobalClass.Session; VSales.TMiti = nepDate.CBSDate(CurDate); VSales.BillNo = InvoicePrefix + GetInvoiceNo(InvoicePrefix); VSales.FYID = GlobalClass.FYID; VSales.Save(tran); foreach (TParkingSalesDetails PSD in VSDetailList) { PSD.BillNo = VSales.BillNo; PSD.FYID = VSales.FYID; PSD.Save(tran); } conn.Execute("UPDATE tblSequence SET CurNo = CurNo + 1 WHERE VNAME = @VNAME AND FYID = @FYID", new { VNAME = InvoicePrefix, FYID = GlobalClass.FYID }, transaction: tran); GlobalClass.SetUserActivityLog("Voucher Sales Invoice", "New", VCRHNO: VSales.BillNo, WorkDetail: "Bill No : " + VSales.BillNo); SyncFunctions.LogSyncStatus(tran, VSales.BillNo, GlobalClass.FYNAME); if (GenerateVoucher) { vp = new wVoucherPrintProgress() { DataContext = this }; vp.Show(); await GenerateVouchers(tran); vp.Hide(); } tran.Commit(); if (!string.IsNullOrEmpty(SyncFunctions.username)) { SyncFunctions.SyncSalesData(SyncFunctions.getBillObject(VSales.BillNo), 1); } MessageBox.Show("Vouchers Generated Successfully", MessageBoxCaption, MessageBoxButton.OK, MessageBoxImage.Information); if (!(string.IsNullOrEmpty(VSales.BillTo) || CustomerList.Any(x => x.Name == VSales.BillTo))) { CustomerList.Add(new Party { Name = VSales.BillTo, Address = VSales.BILLTOADD, PAN = VSales.BILLTOPAN }); } } if (!string.IsNullOrEmpty(VSales.BillNo)) { PrintBill(VSales.BillNo, true); if (GenerateVoucher) { vp.Show(); await PrintVouchers(VSales.BillNo, true); vp.Close(); } } //GenerateVouchers(); ExecuteUndo(null); } } catch (Exception ex) { MessageBox.Show(ex.Message, MessageBoxCaption, MessageBoxButton.OK, MessageBoxImage.Error); } }
private void ExecuteSave(object obj) { string strSQL; decimal Taxable, VAT, Amount, Discount, NonTaxable, Rate, Quantity; string BillNo = string.Empty; try { using (SqlConnection conn = new SqlConnection(GlobalClass.TConnectionString)) { conn.Open(); using (SqlTransaction tran = conn.BeginTransaction()) { //PIN.PID = conn.ExecuteScalar<int>("SELECT CurNo FROM tblSequence WHERE VNAME = 'PID' AND FYID = " + GlobalClass.FYID, transaction: tran); PIN.PID = Convert.ToInt32(GetInvoiceNo("PID", tran)); PIN.Barcode = string.Empty; PIN.Save(tran); POUT.PID = PIN.PID; POUT.Save(tran); if (POUT.CashAmount > 0) { BillNo = InvoicePrefix + GetInvoiceNo(InvoicePrefix, tran); Quantity = POUT.ChargedHours; Amount = POUT.CashAmount / (1 + (GlobalClass.VAT / 100)); Rate = Amount / Quantity; Discount = 0; NonTaxable = 0; Taxable = Amount - (NonTaxable + Discount); VAT = Taxable * GlobalClass.VAT / 100; TParkingSales PSales = new TParkingSales { BillNo = BillNo, TDate = POUT.OutDate, TMiti = POUT.OutMiti, TTime = POUT.OutTime, BillTo = POUT.BILLTO, BILLTOADD = POUT.BILLTOADD, BILLTOPAN = POUT.BILLTOPAN, Amount = Amount, Discount = Discount, NonTaxable = NonTaxable, Taxable = Taxable, VAT = VAT, GrossAmount = POUT.CashAmount, PID = POUT.PID, UID = POUT.UID, SESSION_ID = POUT.SESSION_ID, FYID = GlobalClass.FYID, TaxInvoice = TaxInvoice }; PSales.Save(tran); TParkingSalesDetails PSalesDetails = new TParkingSalesDetails { BillNo = BillNo, FYID = GlobalClass.FYID, Quantity = Quantity, Rate = Rate, Amount = Amount, Discount = Discount, NonTaxable = NonTaxable, Taxable = Taxable, VAT = VAT, NetAmount = POUT.CashAmount, ProdId = 0, Description = "Parking Charge", PType = 'P' }; PSalesDetails.Save(tran); conn.Execute("UPDATE tblSequence SET CurNo = CurNo + 1 WHERE VNAME = 'PID' AND FYID = " + GlobalClass.FYID, transaction: tran); conn.Execute("UPDATE tblSequence SET CurNo = CurNo + 1 WHERE VNAME = @VNAME AND FYID = @FYID", new { VNAME = InvoicePrefix, FYID = GlobalClass.FYID }, transaction: tran); GlobalClass.SetUserActivityLog("Exit", "New", VCRHNO: BillNo, WorkDetail: "PID : " + PIN.PID); SyncFunctions.LogSyncStatus(tran, BillNo, GlobalClass.FYNAME); } tran.Commit(); if (!string.IsNullOrEmpty(SyncFunctions.username)) { SyncFunctions.SyncSalesData(SyncFunctions.getBillObject(BillNo), 1); } } if (!string.IsNullOrEmpty(BillNo)) { if (!GlobalClass.NoRawPrinter) { RawPrinterHelper.SendStringToPrinter(GlobalClass.PrinterName, ((char)27).ToString() + ((char)112).ToString() + ((char)0).ToString() + ((char)64).ToString() + ((char)240).ToString(), "Receipt"); //Open Cash Drawer } POutVMTouch.PrintBill(BillNo.ToString(), conn, (TaxInvoice) ? "TAX INVOICE" : "ABBREVIATED TAX INVOCE"); if (TaxInvoice) { POutVMTouch.PrintBill(BillNo.ToString(), conn, "INVOICE"); } } ExecuteUndo(null); } } catch (Exception ex) { MessageBox.Show(ex.Message, MessageBoxCaption, MessageBoxButton.OK, MessageBoxImage.Error); } }