caf9b3106c
Feature: Settings database table added to store string based settings. It is right now used to store bill header and footer. Hard Coded header/footer removed from file. Feature: Tax Analysis form created to easily show the tax calculation. Feature: Management form uses background workers. Dont' know if it is functional though. Chore: Reorder Table form moved to masters from sales folder. Refactor: ManagementBI and SalesAnalysisBI
99 lines
3.4 KiB
C#
99 lines
3.4 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Windows.Forms;
|
|
using Tanshu.Accounts.Repository;
|
|
using Tanshu.Accounts.Contracts;
|
|
|
|
namespace Tanshu.Accounts.PointOfSale
|
|
{
|
|
public partial class frmSaleAnalysisForm : Form
|
|
{
|
|
IList<SalesAnalysis> _list;
|
|
bool _loading;
|
|
public frmSaleAnalysisForm()
|
|
{
|
|
_loading = true;
|
|
InitializeComponent();
|
|
}
|
|
|
|
private void SaleAnalysisForm_Load(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;
|
|
_loading = false;
|
|
ShowStatement();
|
|
}
|
|
|
|
private void dtpStart_ValueChanged(object sender, EventArgs e)
|
|
{
|
|
ShowStatement();
|
|
}
|
|
|
|
private void ShowStatement()
|
|
{
|
|
if (_loading)
|
|
return;
|
|
if (DateTime.Today.Subtract(dtpStart.Value.Date).Days > 5 &&
|
|
!Session.IsAllowed("Accounts Audit"))
|
|
return;
|
|
var start = dtpStart.Value.Date.AddHours(6);
|
|
var finish = dtpFinish.Value.Date.AddDays(1).AddHours(5);
|
|
_list = new List<SalesAnalysis>();
|
|
if (finish > start)
|
|
{
|
|
var bi = new SalesAnalysisBI();
|
|
var list = new List<SalesAnalysis>();
|
|
list.AddRange(bi.GetSale(start, finish));
|
|
list.Add(new SalesAnalysis() { GroupType = " -- ", Amount = 0 });
|
|
list.AddRange(bi.GetSettlements(start, finish));
|
|
list.Add(new SalesAnalysis() { GroupType = " -- ", Amount = 0 });
|
|
var sc = bi.GetServiceCharge(start, finish);
|
|
if (sc != null)
|
|
list.Add(sc);
|
|
|
|
foreach (var item in bi.GetServiceTax(start, finish))
|
|
{
|
|
if (item.TaxAmount != 0)
|
|
{
|
|
list.Add(new SalesAnalysis() { GroupType = item.Name, Amount = item.TaxAmount });
|
|
}
|
|
}
|
|
foreach (var item in bi.GetVat(start, finish))
|
|
{
|
|
if (item.TaxAmount != 0)
|
|
{
|
|
list.Add(new SalesAnalysis() { GroupType = item.Name, Amount = item.TaxAmount });
|
|
}
|
|
}
|
|
_list = list;
|
|
}
|
|
|
|
|
|
dgvSale.AutoGenerateColumns = true;
|
|
dgvSale.DataSource = _list;
|
|
dgvSale.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells;
|
|
dgvSale.Columns[1].DefaultCellStyle.Format = "#,##0.00;(#,##0.00);0";
|
|
dgvSale.Columns[1].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight;
|
|
}
|
|
|
|
private void dtpFinish_ValueChanged(object sender, EventArgs e)
|
|
{
|
|
ShowStatement();
|
|
}
|
|
|
|
private void btnPrint_Click(object sender, EventArgs e)
|
|
{
|
|
if (_list != null)
|
|
{
|
|
var startDate = dtpStart.Value.Date.AddHours(6);
|
|
var finishDate = dtpFinish.Value.Date.AddDays(1).AddHours(5);
|
|
Accounts.Print.Thermal.PrintSale(Session.User.Name, _list, startDate, finishDate);
|
|
}
|
|
}
|
|
}
|
|
}
|