b6498a7b1c
Feature: Sale analysis detail printing built
101 lines
4.1 KiB
C#
101 lines
4.1 KiB
C#
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<SalesAnalysisBO> _analysis;
|
|
List<SalesAnalysisDetailBO> _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);
|
|
}
|
|
}
|
|
}
|
|
}
|