Files
BeWoPlaner/BeWo/View/Detail/Accounting/ServiceInvoiceCreatePopUpView.xaml.cs
2016-06-27 01:45:38 +02:00

77 lines
2.4 KiB
C#

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Windows;
using System.Windows.Input;
using BS.Shared.Core;
using BS.Shared.DataContracts;
using BS.Shared.Extensions;
using DevExpress.Xpf.Grid;
namespace BeWo.View.Detail.Accounting
{
public partial class ServiceInvoiceCreatePopUpView : BeWoView
{
private BindingList<ServiceInvoiceDC> _Dcs;
private List<string> _InvoiceNumbers;
public ServiceInvoiceCreatePopUpView()
{
this.InitializeComponent();
this.CommandBindings.Add(new CommandBinding(ApplicationCommands.Close,
(s, e) =>
{
this._Dcs.Clear();
this.Fire();
}));
this.grid_newInvoices.View.Loaded += (s, e) => ((TableView)this.grid_newInvoices.View).BestFitColumns();
}
public event EventHandler<EventArgs<List<ServiceInvoiceDC>>> Closed;
public List<ServiceInvoiceDC> ServiceInvoiceDcs
{
set
{
this._InvoiceNumbers = value.Select(i => i.InvoiceBase.InvoiceNumber).ToList();
this._Dcs = new BindingList<ServiceInvoiceDC>(value);
this.grid_newInvoices.ItemsSource = this._Dcs;
}
}
private void Fire()
{
if (this.Closed != null)
{
for (int i = 0; i < this._Dcs.Count; i++)
{
this._Dcs[i].InvoiceBase.InvoiceNumber = this._InvoiceNumbers[i];
}
this.Closed(this, new EventArgs<List<ServiceInvoiceDC>>(new List<ServiceInvoiceDC>(this._Dcs)));
}
}
private void btn_cancel_Click(object sender, RoutedEventArgs e)
{
this._Dcs.Clear();
this.Fire();
}
private void btn_create_Click(object sender, RoutedEventArgs e)
{
this.Fire();
}
private void btn_delete_Click(object sender, RoutedEventArgs e)
{
this._Dcs.Remove(this.grid_newInvoices.GetCurrentValue<ServiceInvoiceDC>());
}
}
}