diff --git a/BeWo/View/BargeldkassenView.xaml b/BeWo/View/BargeldkassenView.xaml index 8123910c5..df6356999 100644 --- a/BeWo/View/BargeldkassenView.xaml +++ b/BeWo/View/BargeldkassenView.xaml @@ -630,7 +630,7 @@ FixedWidth="True" Header="Datum" SortOrder="Descending" /> - - + --> + Header="Einzahlung"> + + + + + + + + + + - - + + + ShowTotalSummary="False" + ShowingEditor="TableView_ShowingEditor" + /> diff --git a/BeWo/View/BargeldkassenView.xaml.cs b/BeWo/View/BargeldkassenView.xaml.cs index 7d4b6b221..6c0c041cb 100644 --- a/BeWo/View/BargeldkassenView.xaml.cs +++ b/BeWo/View/BargeldkassenView.xaml.cs @@ -21,6 +21,7 @@ using BS.Shared.Translation; using DevExpress.Utils; using DevExpress.Xpf.Editors; using DevExpress.Xpf.Grid; +using DevExpress.XtraEditors.Filtering; namespace BeWo.View { @@ -602,6 +603,23 @@ namespace BeWo.View BeWoApp.AppSettings.LastKassenSortOrder = SortComboBox.SelectedIndex; BeWoApp.SaveAppSettings(); } + + private void TableView_ShowingEditor(object sender, ShowingEditorEventArgs e) + { + var bvm = e.Row as BargeldtransaktionsVM; + if (bvm != null) + { + if (e.Column.FieldName == "BetragAuszahlung" && bvm.Zahlungstyp.Enum == Zahlungstyp.Einzahlung) + { + e.Cancel = true; + } + else if (e.Column.FieldName == "BetragEinzahlung" && bvm.Zahlungstyp.Enum == Zahlungstyp.Auszahlung) + { + e.Cancel = true; + } + } + + } } public class KassenSortOrderItem diff --git a/BeWo/ViewModel/BargeldkassenVM.cs b/BeWo/ViewModel/BargeldkassenVM.cs index ab982c571..7b2bd8016 100644 --- a/BeWo/ViewModel/BargeldkassenVM.cs +++ b/BeWo/ViewModel/BargeldkassenVM.cs @@ -156,6 +156,7 @@ namespace BeWo.ViewModel liste.DoForEach(f => f.Transaktionskassenbestand = 0); var vorherige = liste.FirstOrDefault(); + vorherige.Transaktionskassenbestand = Anfangsbestand ?? 0; if (vorherige != null) { foreach (var transaktion in liste) diff --git a/BeWo/ViewModel/BargeldtransaktionsVM.cs b/BeWo/ViewModel/BargeldtransaktionsVM.cs index 2650c151d..352547ee3 100644 --- a/BeWo/ViewModel/BargeldtransaktionsVM.cs +++ b/BeWo/ViewModel/BargeldtransaktionsVM.cs @@ -23,7 +23,7 @@ namespace BeWo.ViewModel private EnumValue _Zahlungstyp; private DateTime? _Zahlungsdatum; private decimal? _Betrag; - private decimal? _Transaktionskassenbestand; + private decimal? _Transaktionskassenbestand; private string _Belegnummer; private string _Notice; @@ -125,11 +125,84 @@ namespace BeWo.ViewModel } } - public String InsUser + public bool DarfEinzahlungBearbeiten + { + get + { + return Zahlungstyp.Enum == BS.Shared.Zahlungstyp.Einzahlung; + } + } + + public bool DarfAuszahlungBearbeiten + { + get + { + return Zahlungstyp.Enum == BS.Shared.Zahlungstyp.Auszahlung; + } + } + + public decimal? BetragEinzahlung + { + get { + if (Zahlungstyp.Enum == BS.Shared.Zahlungstyp.Einzahlung) + { + return _Betrag; + } + return null; + } + set + { + if (Zahlungstyp.Enum == BS.Shared.Zahlungstyp.Einzahlung) + { + if (!AreDifferent(_Betrag, value)) + { + return; + } + + _Betrag = value; + StoreDirtyInformation(AreDifferent(DataContract.Betrag, value), PropertyName_Betrag); + FirePropertyChanged(PropertyName_Betrag); + } + } + } + + public decimal? BetragAuszahlung + { + get + { + if (Zahlungstyp.Enum == BS.Shared.Zahlungstyp.Auszahlung) + { + return _Betrag; + } + return null; + } + set + { + if (Zahlungstyp.Enum == BS.Shared.Zahlungstyp.Auszahlung) + { + if (!AreDifferent(_Betrag, value)) + { + return; + } + + _Betrag = value; + StoreDirtyInformation(AreDifferent(DataContract.Betrag, value), PropertyName_Betrag); + FirePropertyChanged(PropertyName_Betrag); + } + } + } + + + public String InsUser { get { return DataContract.InsUser; } } + public DateTime? InsTs + { + get { return DataContract.InsTs; } + } + public decimal? Transaktionskassenbestand { get { return _Transaktionskassenbestand; } diff --git a/Service/DCEntityMapper/BargeldtransaktionDC_Bargeldtransaktion.cs b/Service/DCEntityMapper/BargeldtransaktionDC_Bargeldtransaktion.cs index b3b974d96..d2f01351c 100644 --- a/Service/DCEntityMapper/BargeldtransaktionDC_Bargeldtransaktion.cs +++ b/Service/DCEntityMapper/BargeldtransaktionDC_Bargeldtransaktion.cs @@ -17,6 +17,7 @@ namespace BeWo.Service.DCEntityMapper pDataContract.Transaktionskassenbestand = pEntity.Transaktionskassenbestand; pDataContract.Notice = pEntity.Notice; pDataContract.InsUser = pEntity.InsUser; + pDataContract.InsTs = pEntity.InsTs; pDataContract.SignatureOid = pEntity.SignatureOid; return pDataContract; diff --git a/Shared/DataContracts/BargeldtransaktionDC.cs b/Shared/DataContracts/BargeldtransaktionDC.cs index 35ed0731c..126faa97a 100644 --- a/Shared/DataContracts/BargeldtransaktionDC.cs +++ b/Shared/DataContracts/BargeldtransaktionDC.cs @@ -35,8 +35,9 @@ namespace BS.Shared.DataContracts [DataMember] public string InsUser { get; set; } - - [DataMember] + [DataMember] + public DateTime? InsTs { get; set; } + [DataMember] public long? SignatureOid { get; set; } public override bool Equals(object obj)