99 lines
3.9 KiB
C#
99 lines
3.9 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Windows.Forms;
|
|
using Tanshu.Accounts.BI;
|
|
using Tanshu.Accounts.Contracts;
|
|
using Tanshu.Accounts.Helpers;
|
|
|
|
namespace Tanshu.Accounts.PointOfSale
|
|
{
|
|
public partial class frmSaleAnalysisForm : Form
|
|
{
|
|
Guid? details = null;
|
|
List<SalesAnalysisBO> det;
|
|
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}", Session.User.Name));
|
|
}
|
|
|
|
private void dtpStart_ValueChanged(object sender, EventArgs e)
|
|
{
|
|
ShowStatement();
|
|
}
|
|
|
|
private void ShowStatement()
|
|
{
|
|
DateTime startDate = Convert.ToDateTime(String.Format("{0:dd-MMM-yyyy} 00:00:00", dtpStart.Value));
|
|
DateTime finishDate = Convert.ToDateTime(String.Format("{0:dd-MMM-yyyy} 23:59:59", dtpFinish.Value));
|
|
|
|
if (details.HasValue)
|
|
{
|
|
List<SalesAnalysisDetailBO> list = new SalesAnalysisBI().GetSaleDetail(startDate, finishDate, details.Value);
|
|
dgvSale.AutoGenerateColumns = true;
|
|
dgvSale.DataSource = list;
|
|
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
|
|
{
|
|
det = new SalesAnalysisBI().GetSale(startDate, finishDate);
|
|
dgvSale.AutoGenerateColumns = true;
|
|
dgvSale.DataSource = det;
|
|
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)
|
|
{
|
|
try
|
|
{
|
|
if (!details.HasValue)
|
|
details = ((SalesAnalysisBO)dgvSale.SelectedRows[0].DataBoundItem).TypeID;
|
|
else
|
|
details = null;
|
|
ShowStatement();
|
|
}
|
|
catch (Exception ex)
|
|
{ throw ex; }
|
|
}
|
|
|
|
private void btnPrint_Click(object sender, EventArgs e)
|
|
{
|
|
if (det != null)
|
|
{
|
|
DateTime startDate = Convert.ToDateTime(String.Format("{0:dd-MMM-yyyy} 00:00:00", dtpStart.Value));
|
|
DateTime finishDate = Convert.ToDateTime(String.Format("{0:dd-MMM-yyyy} 23:59:59", dtpFinish.Value));
|
|
Accounts.Print.Thermal.PrintSale(Session.printer(), Session.User.Name, det, startDate, finishDate);
|
|
}
|
|
}
|
|
}
|
|
}
|