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 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 e) { this.ViewModel.DateTimeSpanFilter = e.Data; RefreshInvoiceList(); } } }