77 lines
2.5 KiB
C#
77 lines
2.5 KiB
C#
using System.Collections.Generic;
|
|
using System.Windows;
|
|
using BeWo.ServiceProxy;
|
|
using BeWo.ViewModel;
|
|
using BS.Shared.DataContracts;
|
|
using BS.Shared.Extensions;
|
|
|
|
namespace BeWo.View.Detail
|
|
{
|
|
public partial class MandatorView : BeWoView
|
|
{
|
|
private MandatorVM _Viewmodel;
|
|
|
|
public MandatorView(MandatorVM viewModel)
|
|
{
|
|
InitializeComponent();
|
|
ViewModel = viewModel;
|
|
}
|
|
|
|
public override bool IsDirty
|
|
{
|
|
get { return ViewModel != null && ViewModel.IsDirty; }
|
|
}
|
|
|
|
private MandatorVM ViewModel
|
|
{
|
|
get
|
|
{
|
|
return this._Viewmodel;
|
|
}
|
|
|
|
set
|
|
{
|
|
this.DataContext = value;
|
|
this._Viewmodel = value;
|
|
|
|
if (ViewModel.InvoiceNumberList.Count > 1)
|
|
{
|
|
lblSchema.Visibility = Visibility.Collapsed;
|
|
txtSchema.Visibility = Visibility.Collapsed;
|
|
lblNumber.Visibility = Visibility.Collapsed;
|
|
spinedit_number.Visibility = Visibility.Collapsed;
|
|
}
|
|
else
|
|
{
|
|
GridControlInvoiceNumbers.Visibility = Visibility.Collapsed;
|
|
}
|
|
}
|
|
}
|
|
|
|
protected override void Save()
|
|
{
|
|
var invoiceNumberList = new List<InvoiceNumberDC>();
|
|
|
|
foreach (var ivm in this.ViewModel.InvoiceNumberList)
|
|
{
|
|
invoiceNumberList.Add(ivm.CommitToDataContract());
|
|
}
|
|
ServiceFacade.DoAccountingServiceAsync(
|
|
s => s.UpdateInvoiceNumberList(invoiceNumberList),
|
|
inl => ServiceFacade.DoOperationsServiceAsync(
|
|
s => s.UpdateMandator(this.ViewModel.CommitToDataContract()),
|
|
m => this.Dispatch(
|
|
delegate
|
|
{
|
|
var vmList = new List<InvoiceNumberVM>();
|
|
foreach (var indc in inl)
|
|
{
|
|
vmList.Add(new InvoiceNumberVM(indc));
|
|
}
|
|
this.ViewModel = new MandatorVM(vmList, m);
|
|
BeWoApp.Mandator = m;
|
|
})));
|
|
}
|
|
|
|
}
|
|
} |