using System; using System.Windows.Forms; using Tanshu.Accounts.Repository; using Tanshu.Accounts.Print; namespace Tanshu.Accounts.PointOfSale { public partial class CashierCheckoutForm : Form { CheckoutBI _coProxy; bool _loading; public CashierCheckoutForm() { _loading = true; InitializeComponent(); } private void CashierCheckoutFormLoad(object sender, EventArgs e) { dtpStart.Format = DateTimePickerFormat.Custom; dtpStart.CustomFormat = "dd-MMM-yyyy"; dtpStart.Value = DateTime.Now.Date; dtpFinish.Format = DateTimePickerFormat.Custom; dtpFinish.CustomFormat = "dd-MMM-yyyy"; dtpFinish.Value = DateTime.Now.Date; FillUsers(); _loading = false; } private void FillUsers() { var loading = _loading; _loading = true; cmbCashier.DisplayMember = "Name"; cmbCashier.ValueMember = "UserID"; using (var bi = new UserBI()) cmbCashier.DataSource = bi.ListActive(dtpStart.Value.Date.AddHours(7), dtpFinish.Value.Date.AddDays(1).AddHours(7)); _loading = loading; } private void CmbCashierSelectedIndexChanged(object sender, EventArgs e) { EmployeeStatus(); //log.Warn(string.Format("User Checkout: {0} by {1}", coProxy.Cashier, Session.User.Name)); } private void EmployeeStatus() { if (_loading || cmbCashier.SelectedValue == null) return; _coProxy = new CheckoutBI((int)cmbCashier.SelectedValue, dtpStart.Value, dtpFinish.Value); txtOpening.Text = string.Format("{0:#,##0.00}", _coProxy.Opening); txtReceipts.Text = string.Format("{0:#,##0.00}", _coProxy.Receipts); txtAdvanceReceived.Text = string.Format("{0:#,##0.00}", _coProxy.AdvanceReceipts); txtCCReceipts.Text = string.Format("{0:#,##0.00}", _coProxy.CcReceipts); txtNC.Text = string.Format("{0:#,##0.00}", _coProxy.NcReceipts); txtBillToCompany.Text = string.Format("{0:#,##0.00}", _coProxy.BtcReceipts); txtCashReceipts.Text = string.Format("{0:#,##0.00}", _coProxy.CashReceipts); txtPayments.Text = string.Format("{0:#,##0.00}", _coProxy.CashPayments); txtAdditionalVoids.Text = string.Format("{0:#,##0.00}", _coProxy.AdditionalVoids); txtVoidsInSystem.Text = string.Format("{0:#,##0.00}", _coProxy.VoidsInSystem); txtDiscounts.Text = string.Format("{0:#,##0.00}", _coProxy.Discount); txtPending.Text = string.Format("{0:#,##0.00}", _coProxy.PendingBills); txtSales.Text = string.Format("{0:#,##0.00}", _coProxy.CashReceipts); txtClosingCash.Text = string.Format("{0:#,##0.00}", _coProxy.ClosingBalance); txtStatus.Text = _coProxy.Status; } private void DtpStartValueChanged(object sender, EventArgs e) { FillUsers(); } private void DtpFinishValueChanged(object sender, EventArgs e) { FillUsers(); } private void BtnCalculateClick(object sender, EventArgs e) { decimal deposited = 0; if (!decimal.TryParse(txtDeposited.Text, out deposited)) deposited = 0; _coProxy.Calculate(deposited, 0); txtStatus.Text = _coProxy.Status; } private void BtnPrintClick(object sender, EventArgs e) { Thermal.PrintClosing(_coProxy); } } }