using System; using System.Collections.Generic; using System.Windows.Forms; using Tanshu.Accounts.BI; using Tanshu.Accounts.Contracts; namespace Tanshu.Accounts.PointOfSale { public partial class frmSaleAnalysisForm : Form { Guid? _details; List _analysis; List _analysisDetail; private static readonly Tanshu.Logging.SqlLogger Log = new Tanshu.Logging.SqlLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); public frmSaleAnalysisForm() { InitializeComponent(); Log.Warn(string.Format("Sales Analysis by: {0}", CurrentUser.user.Name)); } private void dtpStart_ValueChanged(object sender, EventArgs e) { ShowStatement(); } private void ShowStatement() { var startDate = Convert.ToDateTime(String.Format("{0:dd-MMM-yyyy} 00:00:00", dtpStart.Value)); var finishDate = Convert.ToDateTime(String.Format("{0:dd-MMM-yyyy} 23:59:59", dtpFinish.Value)); if (_details.HasValue) { _analysisDetail = new SalesAnalysisBI().GetSaleDetail(startDate, finishDate, _details.Value); dgvSale.AutoGenerateColumns = true; dgvSale.DataSource = _analysisDetail; dgvSale.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells; dgvSale.Columns[2].DefaultCellStyle.Format = "#,##0.00;(#,##0.00);0"; dgvSale.Columns[3].DefaultCellStyle.Format = "#,##0.00;(#,##0.00);0"; } else { _analysis = new SalesAnalysisBI().GetSale(startDate, finishDate); dgvSale.AutoGenerateColumns = true; dgvSale.DataSource = _analysis; dgvSale.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells; dgvSale.Columns[0].Visible = false; dgvSale.Columns[2].DefaultCellStyle.Format = "#,##0.00;(#,##0.00);0"; dgvSale.Columns[3].DefaultCellStyle.Format = "#,##0.00;(#,##0.00);0"; } decimal freeSale = 0, voids = 0, pending = 0, net = 0, tax = 0; new SalesAnalysisBI().GetAdditionalInfo(ref freeSale, ref voids, ref pending, ref net, ref tax, startDate, finishDate); txtVoid.Text = String.Format("{0:#,##0.00;(#,##0.00);0}", voids); txtPending.Text = String.Format("{0:#,##0.00;(#,##0.00);0}", pending); txtNet.Text = String.Format("{0:#,##0.00;(#,##0.00);0}", net); txtTax.Text = String.Format("{0:#,##0.00;(#,##0.00);0}", tax); txtGross.Text = String.Format("{0:#,##0.00;(#,##0.00);0}", net + tax); } private void dtpFinish_ValueChanged(object sender, EventArgs e) { ShowStatement(); } private void Sale_Analysis_Form_Load(object sender, EventArgs e) { dtpStart.Value = DateTime.Today; dtpFinish.Value = DateTime.Today; ShowStatement(); } private void dgvSale_CellDoubleClick(object sender, DataGridViewCellEventArgs e) { if (!_details.HasValue) _details = ((SalesAnalysisBO)dgvSale.SelectedRows[0].DataBoundItem).TypeID; else _details = null; ShowStatement(); } private void btnPrint_Click(object sender, EventArgs e) { if (!_details.HasValue) { var startDate = Convert.ToDateTime(String.Format("{0:dd-MMM-yyyy} 00:00:00", dtpStart.Value)); var finishDate = Convert.ToDateTime(String.Format("{0:dd-MMM-yyyy} 23:59:59", dtpFinish.Value)); Print.Thermal.PrintSale(_analysis, startDate, finishDate); } else { var startDate = Convert.ToDateTime(String.Format("{0:dd-MMM-yyyy} 00:00:00", dtpStart.Value)); var finishDate = Convert.ToDateTime(String.Format("{0:dd-MMM-yyyy} 23:59:59", dtpFinish.Value)); Print.Thermal.PrintSale(_analysisDetail, startDate, finishDate); } } } }