Schlüssel übersichtlich, Segmente neu sortiert PDFs eingeführt, Beispiel Ansicht eingeführt,
138 lines
4.0 KiB
C#
138 lines
4.0 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.IO;
|
|
using System.Linq;
|
|
using System.Web;
|
|
using System.Windows;
|
|
using System.Windows.Controls;
|
|
using System.Windows.Documents;
|
|
using System.Windows.Media;
|
|
using System.Windows.Navigation;
|
|
using System.Windows.Threading;
|
|
using BeWo.Core;
|
|
using BeWo.ServiceProxy;
|
|
using BeWo.ViewModel;
|
|
using BeWo.ViewModel.ListViewModel;
|
|
|
|
using BS.Shared;
|
|
using BS.Shared.Core;
|
|
using BS.Shared.DataContracts;
|
|
using BS.Shared.Extensions;
|
|
|
|
using DevExpress.Xpf.Editors;
|
|
using DevExpress.Xpf.Grid;
|
|
using Microsoft.Win32;
|
|
using Shared.Extensions;
|
|
|
|
namespace BeWo.View.Detail.Accounting
|
|
{
|
|
public partial class DigitalInvoiceOverview : BeWoView
|
|
{
|
|
private readonly EquityInvoiceItemEditView _EquityInvoiceItemEditView;
|
|
|
|
private readonly GeneralInvoiceItemEditView _GeneralInvoiceItemEditView;
|
|
|
|
private readonly SettlementInvoiceItemEditView _SettlementInvoiceItemEditView;
|
|
|
|
private readonly SettlementInvoiceItemEditView2 _SettlementInvoiceItemEditView2;
|
|
|
|
private readonly ServiceInvoiceItemEditView _ServiceInvoiceItemEditView;
|
|
|
|
private InvoiceBaseListVM _Viewmodel;
|
|
|
|
public DigitalInvoiceOverview()
|
|
{
|
|
this.InitializeComponent();
|
|
this.ViewModel = new InvoiceBaseListVM(null);
|
|
|
|
RefreshInvoiceList();
|
|
}
|
|
|
|
private void RefreshInvoiceList()
|
|
{
|
|
DateTime? start = null;
|
|
DateTime? end = null;
|
|
if (ViewModel.DateTimeSpanFilter != null)
|
|
{
|
|
start = ViewModel.DateTimeSpanFilter.StartDate;
|
|
end = ViewModel.DateTimeSpanFilter.EndDate;
|
|
}
|
|
ServiceFacade.DoAccountingServiceAsync(s => s.GetInvoiceBases(start, end), UpdateInvoiceList);
|
|
}
|
|
|
|
private void UpdateInvoiceList(IList<InvoiceBaseDC> dcList)
|
|
{
|
|
this.Dispatcher.BeginInvoke(
|
|
DispatcherPriority.Normal,
|
|
(Action)delegate
|
|
{
|
|
ViewModel.UpdateList(dcList.Where(DakotaExtensions.IsSozioTherapie).ToList());
|
|
this.gridView.BestFitColumns();
|
|
});
|
|
}
|
|
|
|
private InvoiceBaseListVM ViewModel
|
|
{
|
|
get
|
|
{
|
|
return this._Viewmodel;
|
|
}
|
|
|
|
set
|
|
{
|
|
this.DataContext = value;
|
|
this._Viewmodel = value;
|
|
}
|
|
}
|
|
|
|
private void RefreshItemInList(InvoiceBaseDC cb)
|
|
{
|
|
this.Dispatch(
|
|
delegate
|
|
{
|
|
var old = this.ViewModel.VMList.Single(i => i.DataContract.InvoiceBaseOid.Equals(cb.InvoiceBaseOid));
|
|
var lNew = new InvoiceBaseVM(cb);
|
|
|
|
this.ViewModel.VMList.Remove(old);
|
|
this.ViewModel.VMList.Add(lNew);
|
|
this.datagrid_invoices.RefreshData();
|
|
this.gridView.FocusedRow = lNew;
|
|
});
|
|
}
|
|
|
|
private void gridView_Loaded(object sender, RoutedEventArgs e)
|
|
{
|
|
this.gridView.BestFitColumns();
|
|
}
|
|
|
|
private void gridView_ShownEditor(object sender, EditorEventArgs e)
|
|
{
|
|
if (e.Editor is CheckEdit)
|
|
{
|
|
var ed = (CheckEdit)e.Editor;
|
|
ed.Tag = e.Row;
|
|
}
|
|
}
|
|
|
|
private void Hyperlink_OnRequestNavigate(object sender, RequestNavigateEventArgs e)
|
|
{
|
|
var uri = ((Hyperlink)sender).NavigateUri;
|
|
string dcid = HttpUtility.ParseQueryString(uri.Query).Get("ibid");
|
|
|
|
var schaarf = ServiceFacade.DoOperationsServiceSync(x => x.GetDakotaFileFormat(dcid));
|
|
|
|
Output.Text = schaarf;
|
|
}
|
|
|
|
private void ReloadButton_OnClick(object sender, RoutedEventArgs e)
|
|
{
|
|
RefreshInvoiceList();
|
|
}
|
|
|
|
private void YearMonthFilter_FilterSpanChanged(object sender, EventArgs<DateTimeSpan> e)
|
|
{
|
|
this.ViewModel.DateTimeSpanFilter = e.Data;
|
|
RefreshInvoiceList();
|
|
}
|
|
}
|
|
} |