narsil/Tanshu.Accounts.PointOfSale/Reports/CheckoutForm.cs
unknown d8ecec8bb6 Added inverse Attribute to ProductGroup.
BillInventory Renamed.
Refactored Bill to be more usable.
Added Bill Detail Report.
Added Open Bill and Bill Details Roles.
Zero Rate Products have Yellow background Color.
Refactored UserBI, FoodTableBI, ModifierBI, PrintLocationBI, ProductBI, ProductGroupBI, TaxBI, UserBI,
Cached the Products List.
Product and Product Group Form Working.
2011-06-23 18:17:48 +05:30

94 lines
3.6 KiB
C#

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);
}
}
}