162 lines
5.6 KiB
C#
162 lines
5.6 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.ComponentModel;
|
|
using System.Data;
|
|
using System.Drawing;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
using System.Windows.Forms;
|
|
using WinFormDiApp.BL.Models;
|
|
using WinFormDiApp.BLI;
|
|
|
|
namespace WinFormDiApp
|
|
{
|
|
public partial class frmPayments : Form
|
|
{
|
|
private ListViewColumnSorter lvwColumnSorter;
|
|
|
|
private bool _enableClearing;
|
|
private bool _enableDetailShow;
|
|
private readonly IAccountRecordRepository _accountRecordRepository;
|
|
|
|
public bool EnableClearing
|
|
{
|
|
get
|
|
{
|
|
return _enableClearing;
|
|
}
|
|
set
|
|
{
|
|
_enableClearing = value;
|
|
}
|
|
}
|
|
|
|
public bool EnableDetailShow
|
|
{
|
|
get
|
|
{
|
|
return _enableDetailShow;
|
|
}
|
|
set
|
|
{
|
|
_enableDetailShow = value;
|
|
}
|
|
}
|
|
|
|
public frmPayments(IAccountRecordRepository accountRecordRepository)
|
|
{
|
|
InitializeComponent();
|
|
//---------------------------------
|
|
// Create an instance of a ListView column sorter and assign it
|
|
// to the ListView control.
|
|
lvwColumnSorter = new ListViewColumnSorter();
|
|
lvPayments.ListViewItemSorter = lvwColumnSorter;
|
|
//---------------------------------
|
|
|
|
lvPayments.Items.Clear();
|
|
_accountRecordRepository = accountRecordRepository;
|
|
}
|
|
public IEnumerable<AccountRecord>? CustomPayments { get; set; } = null;
|
|
private void frmPayments_Load(object sender, EventArgs e)
|
|
{
|
|
//MessageBox.Show("Load");
|
|
btnRensa.Visible = _enableClearing;
|
|
lblTotal.Visible = _enableDetailShow;
|
|
txtSoekSumma.Visible = _enableDetailShow;
|
|
double totalSum = 0;
|
|
lvPayments.Items.Clear();
|
|
|
|
if (CustomPayments != null)
|
|
{
|
|
foreach (var account in CustomPayments)
|
|
{
|
|
var lvitem = lvPayments.Items.Add(account.Id.ToString());
|
|
lvitem.SubItems.Add(account.Mottagare);
|
|
lvitem.SubItems.Add(account.Konto);
|
|
lvitem.SubItems.Add(account.Belopp.ToString());
|
|
totalSum += account.Belopp;
|
|
lvitem.SubItems.Add(account.BetalDatum.ToShortDateString());
|
|
lvitem.SubItems.Add(account.Avisering);
|
|
}
|
|
}
|
|
txtSoekSumma.Text = totalSum.ToString();
|
|
}
|
|
|
|
private void btnClose_Click(object sender, EventArgs e)
|
|
{
|
|
this.Close();
|
|
}
|
|
|
|
private void frmPayments_Shown(object sender, EventArgs e)
|
|
{
|
|
//MessageBox.Show("Shown");
|
|
if (CustomPayments == null)
|
|
{
|
|
lvPayments.Items.Clear();
|
|
var payments = _accountRecordRepository.GetAllAccounts();
|
|
foreach (var account in payments)
|
|
{
|
|
var lvitem = lvPayments.Items.Add(account.Id.ToString());
|
|
lvitem.SubItems.Add(account.Mottagare);
|
|
lvitem.SubItems.Add(account.Konto);
|
|
lvitem.SubItems.Add(account.Belopp.ToString());
|
|
lvitem.SubItems.Add(account.BetalDatum.ToShortDateString());
|
|
lvitem.SubItems.Add(account.Avisering);
|
|
}
|
|
}
|
|
else CustomPayments = null;
|
|
}
|
|
|
|
private void btnRensa_Click(object sender, EventArgs e)
|
|
{
|
|
if (MessageBox.Show("Verkligen Säker på att rensa DB?", "Payments", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
|
|
{
|
|
MessageBox.Show("Nu rensar vi");
|
|
_accountRecordRepository.DeleteAllAccountRecords();
|
|
|
|
lvPayments.Items.Clear();
|
|
var payments = _accountRecordRepository.GetAllAccounts();
|
|
foreach (var account in payments)
|
|
{
|
|
var lvitem = lvPayments.Items.Add(account.Id.ToString());
|
|
lvitem.SubItems.Add(account.Mottagare);
|
|
lvitem.SubItems.Add(account.Konto);
|
|
lvitem.SubItems.Add(account.Belopp.ToString());
|
|
lvitem.SubItems.Add(account.BetalDatum.ToShortDateString());
|
|
lvitem.SubItems.Add(account.Avisering);
|
|
}
|
|
}
|
|
}
|
|
|
|
private void lvPayments_ColumnClick(object sender, ColumnClickEventArgs e)
|
|
{
|
|
// Determine if clicked column is already the column that is being sorted.
|
|
if (e.Column == lvwColumnSorter.SortColumn)
|
|
{
|
|
// Reverse the current sort direction for this column.
|
|
if (lvwColumnSorter.Order == SortOrder.Ascending)
|
|
{
|
|
lvwColumnSorter.Order = SortOrder.Descending;
|
|
}
|
|
else
|
|
{
|
|
lvwColumnSorter.Order = SortOrder.Ascending;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
// Set the column number that is to be sorted; default to ascending.
|
|
lvwColumnSorter.SortColumn = e.Column;
|
|
lvwColumnSorter.Order = SortOrder.Ascending;
|
|
}
|
|
|
|
// Perform the sort with these new sort options.
|
|
lvPayments.Sort();
|
|
}
|
|
//------------------------------------------------- sorting ------------
|
|
|
|
//------------------------------------------------- sorting ------------
|
|
}
|
|
}
|