636 lines
26 KiB
C#
636 lines
26 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.ComponentModel;
|
|
using System.Linq;
|
|
using System.Windows;
|
|
using System.Windows.Controls;
|
|
using System.Windows.Input;
|
|
|
|
using BeWo.Annotations;
|
|
using BeWo.Core;
|
|
using BeWo.ServiceProxy;
|
|
using BeWo.Validation;
|
|
using BeWo.View.Controls;
|
|
using BeWo.ViewModel;
|
|
using BeWo.ViewModel.ListViewModel;
|
|
|
|
using BS.Shared;
|
|
using BS.Shared.DataContracts;
|
|
using BS.Shared.Extensions;
|
|
using BS.Shared.Translation;
|
|
using DevExpress.Utils;
|
|
using DevExpress.Xpf.Editors;
|
|
using DevExpress.Xpf.Grid;
|
|
|
|
namespace BeWo.View
|
|
{
|
|
public partial class BargeldkassenView : INotifyPropertyChanged
|
|
{
|
|
public BargeldtransaktionsVM NewBargeldtransaktion { get; set; }
|
|
|
|
[Validation(ValidationRule = ValidationRules.NotNullOrStringEmpty)]
|
|
public BargeldkassenVM SelectedBargeldkasse { get; set; }
|
|
|
|
public static DateTime PreselectedStartDate
|
|
{
|
|
get { return new DateTime(DateTime.Now.Year, DateTime.Now.Month, 1);; }
|
|
}
|
|
|
|
public static DateTime PreselectedEndDate
|
|
{
|
|
get
|
|
{
|
|
return new DateTime(DateTime.Now.Year, DateTime.Now.Month,DateTime.DaysInMonth(DateTime.Now.Year,DateTime.Now.Month));
|
|
|
|
}
|
|
}
|
|
|
|
public static int PreselectedMonth
|
|
{
|
|
get { return DateTime.Now.Month; }
|
|
}
|
|
public static int PreselectedYear
|
|
{
|
|
get { return DateTime.Now.Year; }
|
|
}
|
|
|
|
private readonly List<int> _JahresComboBoxSource;
|
|
public IEnumerable<int> JahresComboBoxSource
|
|
{
|
|
get { return _JahresComboBoxSource; }
|
|
}
|
|
|
|
private readonly List<int> _MonatsComboBoxSource;
|
|
public IEnumerable<int> MonatsComboBoxSource
|
|
{
|
|
get { return _MonatsComboBoxSource; }
|
|
}
|
|
|
|
private static bool darfBargeldTransaktionenBearbeiten;
|
|
private static DefaultBoolean darfBargeldTransaktionenBearbeitenAsDefaultBoolean;
|
|
private static bool darfBargeldTransaktionenAnlegen;
|
|
private static bool darfBargeldTransaktionenLoeschen;
|
|
|
|
public static bool DarfBargeldtransaktionenBearbeiten
|
|
{
|
|
get { return darfBargeldTransaktionenBearbeiten; }
|
|
}
|
|
|
|
public static DefaultBoolean BargeldtransaktionenBearbeitenAlsDefaultBooelan
|
|
{
|
|
get { return darfBargeldTransaktionenBearbeitenAsDefaultBoolean; }
|
|
}
|
|
|
|
public static bool DarfBargeldTransaktionLoeschen
|
|
{
|
|
get { return darfBargeldTransaktionenLoeschen; }
|
|
}
|
|
|
|
public static bool DarfBargeldTransaktionAnlegen
|
|
{
|
|
get { return darfBargeldTransaktionenAnlegen; }
|
|
}
|
|
|
|
private BargeldkassenListVM _ViewModel;
|
|
|
|
private BargeldkassenListVM ViewModel
|
|
{
|
|
get { return _ViewModel; }
|
|
set
|
|
{
|
|
DataContext = value;
|
|
_ViewModel = value;
|
|
}
|
|
}
|
|
|
|
private void SortiereKassen()
|
|
{
|
|
if (ViewModel != null && tabcontrol_bargeldkassen != null)
|
|
{
|
|
var alterIndex = tabcontrol_bargeldkassen.SelectedIndex;
|
|
tabcontrol_bargeldkassen.ItemsSource = null;
|
|
//var sorted =
|
|
if (SortComboBox.SelectedIndex == 0)
|
|
{
|
|
ViewModel.VMList.Sort((a, b) => Comparer<String>.Default.Compare(a.Kassenname, b.Kassenname));
|
|
//sorted = r.OrderBy(k => k.Kassenname).ToList();
|
|
}
|
|
else if (SortComboBox.SelectedIndex == 1)
|
|
{
|
|
ViewModel.VMList.Sort((a, b) => Comparer<long?>.Default.Compare(a.DataContract.BargeldkassenOid, b.DataContract.BargeldkassenOid));
|
|
//sorted = r.OrderBy(k => k.BargeldkassenOid).ToList();
|
|
}
|
|
else
|
|
{
|
|
ViewModel.VMList.Sort((a, b) => Comparer<long?>.Default.Compare(a.DataContract.BargeldkassenOid, b.DataContract.BargeldkassenOid) * -1);
|
|
//sorted = r.OrderByDescending(k => k.BargeldkassenOid).ToList();
|
|
}
|
|
tabcontrol_bargeldkassen.ItemsSource = ViewModel.VMList;
|
|
if (alterIndex == -1)
|
|
{
|
|
alterIndex = 0;
|
|
}
|
|
else
|
|
{
|
|
while (alterIndex > ViewModel.VMList.Count)
|
|
{
|
|
alterIndex--;
|
|
}
|
|
}
|
|
tabcontrol_bargeldkassen.SelectedIndex = alterIndex;
|
|
|
|
|
|
}
|
|
}
|
|
|
|
private void SelektiereKasse(String kassenname)
|
|
{
|
|
if (!String.IsNullOrEmpty(kassenname))
|
|
{
|
|
var index = tabcontrol_bargeldkassen.SelectedIndex;
|
|
int idx = 0;
|
|
foreach (var item in tabcontrol_bargeldkassen.Items)
|
|
{
|
|
var vm = item as BargeldkassenVM;
|
|
if (vm?.Kassenname == kassenname)
|
|
{
|
|
index = idx;
|
|
}
|
|
idx++;
|
|
}
|
|
tabcontrol_bargeldkassen.SelectedIndex = index;
|
|
|
|
}
|
|
}
|
|
|
|
private readonly TableID currentObjectTid;
|
|
private readonly long currentObjectOid;
|
|
|
|
public override bool IsDirty
|
|
{
|
|
get
|
|
{
|
|
return ViewModel != null && ViewModel.IsDirty;
|
|
}
|
|
}
|
|
|
|
public BargeldkassenView(TableID objectTid, long objectOid)
|
|
{
|
|
InitializeComponent();
|
|
InitSortCombos();
|
|
|
|
_JahresComboBoxSource = new List<int>();
|
|
for (var i = 9; i >= 0; i--)
|
|
{
|
|
_JahresComboBoxSource.Add(DateTime.Now.Year - i);
|
|
}
|
|
|
|
_MonatsComboBoxSource = new List<int> {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12};
|
|
|
|
currentObjectOid = objectOid;
|
|
currentObjectTid = objectTid;
|
|
|
|
NewBargeldtransaktion = new BargeldtransaktionsVM(new BargeldtransaktionDC());
|
|
|
|
InitRights();
|
|
|
|
ReloadViewModel(true, null);
|
|
|
|
|
|
if (tabcontrol_bargeldkassen != null && tabcontrol_bargeldkassen.SelectedIndex == -1)
|
|
{
|
|
tabcontrol_bargeldkassen.SelectedIndex = 0;
|
|
}
|
|
|
|
|
|
}
|
|
|
|
private void InitSortCombos()
|
|
{
|
|
var list = new List<KassenSortOrderItem>();
|
|
|
|
list.Add(new KassenSortOrderItem(KassenSortOrderEnum.NachName));
|
|
list.Add(new KassenSortOrderItem(KassenSortOrderEnum.NachDatumAufsteigend));
|
|
list.Add(new KassenSortOrderItem(KassenSortOrderEnum.NachDatumAbsteigend));
|
|
|
|
|
|
SortComboBox.DisplayMemberPath = "Name";
|
|
SortComboBox.ItemsSource = list;
|
|
|
|
if (BeWoApp.AppSettings.LastKassenSortOrder < list.Count)
|
|
{
|
|
SortComboBox.SelectedIndex = BeWoApp.AppSettings.LastKassenSortOrder;
|
|
}
|
|
|
|
|
|
}
|
|
|
|
private void InitRights()
|
|
{
|
|
bool editRight;
|
|
DefaultBoolean editRightAsDefaultBoolean;
|
|
bool deleteRight;
|
|
bool createRight;
|
|
|
|
if (currentObjectTid == TableID.Customer)
|
|
{
|
|
editRight = BeWoApp.LoggedOnUser.HasRight(UserRightType.BargeldverwaltungBearbeiten) || BeWoApp.LoggedOnUser.HasRight(UserRightType.EditAll);
|
|
editRightAsDefaultBoolean = (DefaultBoolean)(Convert.ToInt32((BeWoApp.LoggedOnUser.HasRight(UserRightType.BargeldverwaltungBearbeiten)) || BeWoApp.LoggedOnUser.HasRight(UserRightType.EditAll)) + 1);
|
|
|
|
deleteRight = BeWoApp.LoggedOnUser.HasRight(UserRightType.BargeldverwaltungLoeschen) || BeWoApp.LoggedOnUser.HasRight(UserRightType.DeleteAll);
|
|
createRight = BeWoApp.LoggedOnUser.HasRight(UserRightType.BargeldverwaltungAnlegen) || BeWoApp.LoggedOnUser.HasRight(UserRightType.CreateAll);
|
|
}
|
|
else
|
|
{
|
|
editRight = BeWoApp.LoggedOnUser.HasRight(UserRightType.BargeldverwaltungFinanzenBearbeiten) || BeWoApp.LoggedOnUser.HasRight(UserRightType.EditAll);
|
|
editRightAsDefaultBoolean = (DefaultBoolean)(Convert.ToInt32((BeWoApp.LoggedOnUser.HasRight(UserRightType.BargeldverwaltungFinanzenBearbeiten)) || BeWoApp.LoggedOnUser.HasRight(UserRightType.EditAll)) + 1);
|
|
|
|
deleteRight = BeWoApp.LoggedOnUser.HasRight(UserRightType.BargeldverwaltungFinanzenLoeschen) || BeWoApp.LoggedOnUser.HasRight(UserRightType.DeleteAll);
|
|
createRight = BeWoApp.LoggedOnUser.HasRight(UserRightType.BargeldverwaltungFinanzenAnlegen) || BeWoApp.LoggedOnUser.HasRight(UserRightType.CreateAll);
|
|
}
|
|
|
|
darfBargeldTransaktionenBearbeiten = editRight;
|
|
darfBargeldTransaktionenBearbeitenAsDefaultBoolean = editRightAsDefaultBoolean;
|
|
darfBargeldTransaktionenLoeschen = deleteRight;
|
|
darfBargeldTransaktionenAnlegen = createRight;
|
|
|
|
}
|
|
|
|
private void ReloadViewModelMitSortierung()
|
|
{
|
|
ReloadViewModel(true, null);
|
|
}
|
|
|
|
private void ReloadViewModelOhneSortierung()
|
|
{
|
|
ReloadViewModel(false, null);
|
|
}
|
|
|
|
private void ReloadViewModel(bool sortiereKassen, String selectedKassenname)
|
|
{
|
|
var previouslySelectedTab = tabcontrol_bargeldkassen.SelectedIndex;
|
|
|
|
ServiceFacade.DoOperationsServiceAsync(s => s.LoadBargeldkassenForObject(currentObjectTid, currentObjectOid), r => this.Dispatch(
|
|
delegate
|
|
{
|
|
if (r.Any())
|
|
{
|
|
|
|
ViewModel = new BargeldkassenListVM(r);
|
|
|
|
//if (sortiereKassen)
|
|
//{
|
|
SortiereKassen();
|
|
//}
|
|
|
|
SelektiereKasse(selectedKassenname);
|
|
|
|
ViewModel.VMList.DoForEach(d => d.Bargeldtransaktionen.VMList.ListChanged += (sender, args) =>
|
|
{
|
|
var isRelevantProperty = false;
|
|
|
|
if (args.PropertyDescriptor != null)
|
|
{
|
|
isRelevantProperty = args.PropertyDescriptor.Name.Equals(BargeldtransaktionsVM.PropertyName_Betrag) ||
|
|
args.PropertyDescriptor.Name.Equals(BargeldtransaktionsVM.PropertyName_Notice) ||
|
|
args.PropertyDescriptor.Name.Equals(BargeldtransaktionsVM.PropertyName_Belegnummer) ||
|
|
args.PropertyDescriptor.Name.Equals(BargeldtransaktionsVM.PropertyName_Zahlungsdatum) ||
|
|
args.PropertyDescriptor.Name.Equals(BargeldtransaktionsVM.PropertyName_Zahlungstyp);
|
|
}
|
|
|
|
if (args.ListChangedType.Equals(ListChangedType.ItemChanged) && isRelevantProperty)
|
|
{
|
|
var bargeldtransaktionsListe = (BindingList<BargeldtransaktionsVM>) sender;
|
|
var bargeldkasse = ViewModel.VMList.FirstOrDefault(f => f.Bargeldtransaktionen.VMList.Equals(bargeldtransaktionsListe));
|
|
|
|
if (bargeldkasse != null)
|
|
{
|
|
bargeldkasse.RecalculateTransaktionsbestaende();
|
|
|
|
ServiceFacade.DoOperationsServiceAsync(s => s.UpdateBargeldkasse(bargeldkasse.CommitToDataContract()), r2 => this.Dispatch(ReloadViewModelOhneSortierung));
|
|
|
|
}
|
|
}
|
|
});
|
|
}
|
|
else
|
|
{
|
|
ViewModel = new BargeldkassenListVM(new List<BargeldkassenDC>());
|
|
}
|
|
}));
|
|
}
|
|
|
|
private void GridBargeldtransaktionenOnCustomColumnSort(object sender, CustomColumnSortEventArgs e)
|
|
{
|
|
e.Result = DateTime.Compare(Convert.ToDateTime(e.Value1), Convert.ToDateTime(e.Value2));
|
|
e.Handled = true;
|
|
}
|
|
|
|
private void KlassenbuchLinkOnPreviewMouseLeftButtonDown(object sender, MouseButtonEventArgs e)
|
|
{
|
|
var textBlock = (TextBlock) sender;
|
|
var kasse = ((BargeldkassenVM) textBlock.Tag).CommitToDataContract();
|
|
|
|
|
|
var stackPanel = (StackPanel)textBlock.Parent;
|
|
var kinder = stackPanel.Children;
|
|
|
|
var startzeitraum = (DateEdit)kinder[1];
|
|
var endzeitraum = (DateEdit)kinder[3];
|
|
|
|
//var parentStackPanel = (StackPanel) textBlock.Parent;
|
|
//var kinder = parentStackPanel.Children;
|
|
|
|
//var startzeitraum = (DateEdit)kinder[4];
|
|
//var endzeitraum = (DateEdit) kinder[6];
|
|
//var monatsCombobox = (ComboBox) kinder[0];
|
|
//var jahresCombobox = (ComboBox) kinder[1];
|
|
|
|
//var monat = Convert.ToInt32(monatsCombobox.SelectedItem);
|
|
//var jahr = Convert.ToInt32(jahresCombobox.SelectedItem);
|
|
|
|
//var jahr = Convert.ToInt32(jahresCombobox.DateTime.Year);
|
|
//var monat = Convert.ToInt32(jahresCombobox.DateTime.Month);
|
|
|
|
|
|
//var zeitraum = new DateTime(jahr, monat, 1);
|
|
|
|
BeWoUtils.ShowReport("Kassenbuch", new Dictionary<String, Object> { { "bargeldkasse", kasse }, { "zeitraum", startzeitraum.DateTime }, { "endzeitraum", endzeitraum.DateTime }, { "objectoid", kasse.ObjectOid }, { "objecttid", kasse.ObjectTid } }, ReportEnum.KassenbuchReportEnum);
|
|
}
|
|
|
|
private void ButtonBargeldtransaktionDeleteClick(object sender, RoutedEventArgs e)
|
|
{
|
|
var btn = ((Button) sender);
|
|
|
|
var transaktion = ((BargeldtransaktionsVM) ((EditGridCellData) btn.Tag).RowData.Row);
|
|
|
|
if (MessageBox.Show("Möchten Sie den Eintrag wirklich löschen?", "Transaktion löschen", MessageBoxButton.YesNo, MessageBoxImage.Warning) == MessageBoxResult.No)
|
|
{
|
|
return;
|
|
}
|
|
|
|
var cellEditor = ((CellEditor) btn.TemplatedParent).RowData.View;
|
|
var selectedBargeldkasse = (BargeldkassenVM) cellEditor.DataControl.Tag;
|
|
|
|
var removingSuccessfull = selectedBargeldkasse.Bargeldtransaktionen.VMList.Remove(transaktion);
|
|
selectedBargeldkasse.RecalculateTransaktionsbestaende();
|
|
var kb = selectedBargeldkasse.Kassenbestand;
|
|
|
|
ServiceFacade.DoOperationsServiceAsync(s => s.UpdateBargeldkasse(selectedBargeldkasse.CommitToDataContract()), r => this.Dispatch(ReloadViewModelOhneSortierung));
|
|
}
|
|
|
|
private void LinkZahlungsbelegDruckenClick(object sender, RoutedEventArgs e)
|
|
{
|
|
var link = (System.Windows.Documents.Hyperlink)sender;
|
|
var cellEditor = ((CellEditor) link.TemplatedParent).RowData.View;
|
|
var kasse = (BargeldkassenVM)cellEditor.DataControl.Tag;
|
|
var control = (GridControl) cellEditor.DataControl;
|
|
|
|
var transaktion = control.GetCurrentValue<BargeldtransaktionsVM>().CommitToDataContract();
|
|
|
|
BeWoUtils.ShowReport("Zahlungsbeleg", new Dictionary<String, Object> {{"transaktion", transaktion}, {"objectoid", kasse.ObjectOid}, {"objecttid", kasse.ObjectTid}}, ReportEnum.ZahlungsbelegEnum);
|
|
}
|
|
|
|
private void ButtonAddBargeldkasseClick(object sender, RoutedEventArgs e)
|
|
{
|
|
if (!Validate(groupbox_newBargeldkasse))
|
|
{
|
|
return;
|
|
}
|
|
|
|
var neu = ViewModel.NewVM;
|
|
neu.ObjectOid = currentObjectOid;
|
|
neu.ObjectTid = currentObjectTid;
|
|
String name = neu.Kassenname;
|
|
|
|
ServiceFacade.DoOperationsServiceAsync(s => s.InsertNewBargeldkasse(neu.CommitToDataContract()), r => this.Dispatch(delegate
|
|
{
|
|
popup_newBargeldkasse.IsOpen = false;
|
|
|
|
ViewModel.NewVM = new BargeldkassenVM(new BargeldkassenDC());
|
|
|
|
ReloadViewModel(true, name);
|
|
}));
|
|
}
|
|
|
|
private void ButtonCancelAddBargeldkasseClick(object sender, RoutedEventArgs e)
|
|
{
|
|
popup_newBargeldkasse.IsOpen = false;
|
|
}
|
|
|
|
private void ButtonOpenAddBargeldkasseClick(object sender, RoutedEventArgs e)
|
|
{
|
|
popup_newBargeldkasse.IsOpen = true;
|
|
}
|
|
|
|
private void ButtonAddBargeldtransaktionClick(object sender, RoutedEventArgs e)
|
|
{
|
|
if (!Validate(groupbox_newBargeldtransaktion))
|
|
{
|
|
return;
|
|
}
|
|
if (!NewBargeldtransaktion.Betrag.HasValue || NewBargeldtransaktion.Zahlungstyp == null)
|
|
{
|
|
return;
|
|
}
|
|
var transaktionsBetrag = NewBargeldtransaktion.Betrag * (NewBargeldtransaktion.Zahlungstyp.Enum == Zahlungstyp.Auszahlung ? -1 : 1);
|
|
|
|
var latestTransactionDate = new DateTime(1, 1, 1);
|
|
foreach (var tVM in SelectedBargeldkasse.Bargeldtransaktionen.VMList.Where(tVM => tVM.Zahlungsdatum > latestTransactionDate && tVM.Zahlungsdatum != null))
|
|
{
|
|
latestTransactionDate = tVM.Zahlungsdatum.Value.GetShortDateTime();
|
|
}
|
|
|
|
if (NewBargeldtransaktion.Zahlungsdatum <= latestTransactionDate)
|
|
{
|
|
var vorherigeTransaktion = SelectedBargeldkasse.Bargeldtransaktionen.VMList.OrderByDescending(o => o.Zahlungsdatum).FirstOrDefault(f => f.Zahlungsdatum <= NewBargeldtransaktion.Zahlungsdatum);
|
|
var liste = vorherigeTransaktion == null ?
|
|
SelectedBargeldkasse.Bargeldtransaktionen.VMList.OrderBy(o => o.Zahlungsdatum) :
|
|
SelectedBargeldkasse.Bargeldtransaktionen.VMList.Where(w => w.Zahlungsdatum > vorherigeTransaktion.Zahlungsdatum).OrderBy(o => o.Zahlungsdatum);
|
|
|
|
NewBargeldtransaktion.Transaktionskassenbestand = (vorherigeTransaktion == null ? 0m : vorherigeTransaktion.Transaktionskassenbestand) + transaktionsBetrag;
|
|
|
|
var tmp = NewBargeldtransaktion.Transaktionskassenbestand;
|
|
|
|
foreach (var tvm in liste)
|
|
{
|
|
tvm.Transaktionskassenbestand = tmp + tvm.Betrag * (tvm.Zahlungstyp.Enum == Zahlungstyp.Auszahlung ? -1 : 1);
|
|
tmp = tvm.Transaktionskassenbestand != null ? tvm.Transaktionskassenbestand.Value : 0m;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
NewBargeldtransaktion.Transaktionskassenbestand = SelectedBargeldkasse.Kassenbestand + transaktionsBetrag;
|
|
}
|
|
|
|
SelectedBargeldkasse.Bargeldtransaktionen.NewVM = NewBargeldtransaktion;
|
|
SelectedBargeldkasse.Bargeldtransaktionen.AddNewVMToList();
|
|
var kb = SelectedBargeldkasse.Kassenbestand;
|
|
|
|
NewBargeldtransaktion = new BargeldtransaktionsVM(new BargeldtransaktionDC());
|
|
|
|
ServiceFacade.DoOperationsServiceAsync(s => s.UpdateBargeldkasse(SelectedBargeldkasse.CommitToDataContract()), r => this.Dispatch(delegate
|
|
{
|
|
popup_newBargeldtransaktion.IsOpen = false;
|
|
|
|
NewBargeldtransaktion = new BargeldtransaktionsVM(new BargeldtransaktionDC());
|
|
SelectedBargeldkasse = null;
|
|
|
|
OnPropertyChanged("NewBargeldtransaktion");
|
|
OnPropertyChanged("SelectedBargeldkasse");
|
|
|
|
ReloadViewModel(false, null);
|
|
}));
|
|
}
|
|
|
|
private void ButtonCancelAddBargeldtransaktionClick(object sender, RoutedEventArgs e)
|
|
{
|
|
NewBargeldtransaktion = new BargeldtransaktionsVM(new BargeldtransaktionDC());
|
|
SelectedBargeldkasse = null;
|
|
|
|
OnPropertyChanged("NewBargeldtransaktion");
|
|
OnPropertyChanged("SelectedBargeldkasse");
|
|
|
|
popup_newBargeldtransaktion.IsOpen = false;
|
|
}
|
|
|
|
private void ButtonOpenAddBargeldtransaktionClick(object sender, RoutedEventArgs e)
|
|
{
|
|
var abc = ((Button) sender).Tag;
|
|
|
|
if (abc != null)
|
|
{
|
|
var kasse = (BargeldkassenVM) abc;
|
|
SelectedBargeldkasse = kasse;
|
|
OnPropertyChanged("SelectedBargeldkasse");
|
|
}
|
|
|
|
popup_newBargeldtransaktion.IsOpen = true;
|
|
}
|
|
|
|
private void BtnDeleteBargeldkasseClick(object sender, RoutedEventArgs e)
|
|
{
|
|
var button = (Button) sender;
|
|
var selectedBargeldkasse = (BargeldkassenVM) button.Tag;
|
|
|
|
var result = MessageBox.Show(string.Format("Möchten Sie die Bargeldkasse \"{0}\" wirklich löschen?", selectedBargeldkasse.Kassenname), "Bargeldkasse löschen", MessageBoxButton.YesNo, MessageBoxImage.Warning);
|
|
|
|
if (result == MessageBoxResult.No)
|
|
{
|
|
return;
|
|
}
|
|
|
|
ViewModel.VMList.Remove(selectedBargeldkasse);
|
|
|
|
ServiceFacade.DoOperationsServiceAsync(s => s.DeactivateBargeldkasse(selectedBargeldkasse.DataContract.BargeldkassenOid.Value, selectedBargeldkasse.DataContract.BargeldkassenVersion.Value), () => this.Dispatch(ReloadViewModelOhneSortierung));
|
|
}
|
|
|
|
private void AuszahlungsIntervallCBEditValueChanged(object sender, EditValueChangedEventArgs e)
|
|
{
|
|
var cbe = (ComboBoxEdit) sender;
|
|
|
|
var containingStackPanel = (StackPanel) cbe.Parent;
|
|
var blubb2 = (Grid) containingStackPanel.Parent;
|
|
|
|
var bargeldkasse = (BargeldkassenVM) blubb2.Tag;
|
|
|
|
if (bargeldkasse == null || !bargeldkasse.IsDirty)
|
|
{
|
|
return;
|
|
}
|
|
|
|
ServiceFacade.DoOperationsServiceAsync(s => s.UpdateBargeldkasse(bargeldkasse.CommitToDataContract()), r => this.Dispatch(ReloadViewModelOhneSortierung));
|
|
}
|
|
|
|
public event PropertyChangedEventHandler PropertyChanged;
|
|
|
|
[NotifyPropertyChangedInvocator]
|
|
protected virtual void OnPropertyChanged(string propertyName)
|
|
{
|
|
var handler = PropertyChanged;
|
|
|
|
if (handler != null)
|
|
{
|
|
handler(this, new PropertyChangedEventArgs(propertyName));
|
|
}
|
|
}
|
|
|
|
private void KassennamenChangeButtonClick(object sender, RoutedEventArgs e)
|
|
{
|
|
var btn = (Button) sender;
|
|
var panel = (StackPanel) btn.Parent;
|
|
var popup = (PopupNonTopmost) panel.Children[2];
|
|
|
|
popup.IsOpen = !popup.IsOpen;
|
|
}
|
|
|
|
private void KassennamenChangeCancelButtonClick(object sender, RoutedEventArgs e)
|
|
{
|
|
var btn = (Button) sender;
|
|
var popupMostInnerChild = BeWoWpfUtils.FindParent<Border>(btn);
|
|
var popup = (PopupNonTopmost) LogicalTreeHelper.GetParent(popupMostInnerChild);
|
|
|
|
popup.IsOpen = false;
|
|
}
|
|
|
|
private void KassennamenChangeSaveButtonClick(object sender, RoutedEventArgs e)
|
|
{
|
|
var btn = (Button) sender;
|
|
var popupMostInnerChild = BeWoWpfUtils.FindParent<Border>(btn);
|
|
var popup = (PopupNonTopmost) LogicalTreeHelper.GetParent(popupMostInnerChild);
|
|
var bargeldkasse = (BargeldkassenVM) tabcontrol_bargeldkassen.SelectedItem;
|
|
|
|
ServiceFacade.DoOperationsServiceAsync(s => s.UpdateBargeldkasse(bargeldkasse.CommitToDataContract()), r => this.Dispatch(delegate
|
|
{
|
|
popup.IsOpen = false;
|
|
|
|
ReloadViewModel(false, null);
|
|
}));
|
|
}
|
|
|
|
private void SortComboBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
|
|
{
|
|
BargeldkassenVM selectedVM = tabcontrol_bargeldkassen.SelectedItem as BargeldkassenVM;
|
|
String lastName = null;
|
|
if (selectedVM != null)
|
|
{
|
|
lastName = selectedVM.Kassenname;
|
|
}
|
|
SortiereKassen();
|
|
SelektiereKasse(lastName);
|
|
|
|
BeWoApp.AppSettings.LastKassenSortOrder = SortComboBox.SelectedIndex;
|
|
BeWoApp.SaveAppSettings();
|
|
}
|
|
}
|
|
|
|
public class KassenSortOrderItem
|
|
{
|
|
public KassenSortOrderItem(KassenSortOrderEnum e)
|
|
{
|
|
SortOrderEnum = e;
|
|
}
|
|
|
|
public KassenSortOrderEnum SortOrderEnum { get; set; }
|
|
|
|
public String Name
|
|
{
|
|
get
|
|
{
|
|
switch (SortOrderEnum)
|
|
{
|
|
case KassenSortOrderEnum.NachName:
|
|
return Translator.Translate("Nach Name");
|
|
case KassenSortOrderEnum.NachDatumAufsteigend:
|
|
return Translator.Translate("Nach Datum (aufsteigend)");
|
|
case KassenSortOrderEnum.NachDatumAbsteigend:
|
|
return Translator.Translate("Nach Datum (absteigend)");
|
|
|
|
}
|
|
|
|
return "";
|
|
}
|
|
}
|
|
}
|
|
}
|