diff --git a/BeWo/BeWoApp.xaml.cs b/BeWo/BeWoApp.xaml.cs index 29a44164f..b26978ed8 100644 --- a/BeWo/BeWoApp.xaml.cs +++ b/BeWo/BeWoApp.xaml.cs @@ -126,7 +126,7 @@ namespace BeWo { if (_AppSettings == null) { - RestoreAppSettings(); + RestoreUserAppSettings(); } return _AppSettings; @@ -712,7 +712,8 @@ namespace BeWo UserSettingsUtils.SetSettingValue(SettingsType.ApplicationSettings, SettingsKeys.DocumentationFontSize, _AppSettings.DocumentationFontSize.ToString(), _LoggedOnUser.Settings); UserSettingsUtils.SetSettingValue(SettingsType.ApplicationSettings, SettingsKeys.ZeigeNurMeineTermine, _AppSettings.ZeigeNurMeineTermine ? "1" : "0", _LoggedOnUser.Settings); UserSettingsUtils.SetSettingValue(SettingsType.ApplicationSettings, SettingsKeys.LastSelectedServiceRecordTimeIntervalDays, _AppSettings.LastSelectedServiceRecordTimeIntervalDays.ToString(), _LoggedOnUser.Settings); - UserSettingsUtils.SetSettingValue(SettingsType.ApplicationSettings, SettingsKeys.LetzteZeiterfassungsDauer, ((int)_AppSettings.LetzteZeiterfassungsDauer).ToString(), _LoggedOnUser.Settings); + UserSettingsUtils.SetSettingValue(SettingsType.ApplicationSettings, SettingsKeys.LastSelectedServiceRecordMonth, _AppSettings.LastSelectedServiceRecordMonth.ToString(), _LoggedOnUser.Settings); + UserSettingsUtils.SetSettingValue(SettingsType.ApplicationSettings, SettingsKeys.LetzteZeiterfassungsDauer, ((int)_AppSettings.LetzteZeiterfassungsDauer).ToString(), _LoggedOnUser.Settings); UserSettingsUtils.SetSettingValue(SettingsType.ApplicationSettings, SettingsKeys.SchedulerViewType, ((int) _AppSettings.SchedulerViewType).ToString(), _LoggedOnUser.Settings); UserSettingsUtils.SetSettingValue(SettingsType.ApplicationSettings, SettingsKeys.SchedulerTimelineViewDayCount, (_AppSettings.SchedulerTimelineViewDayCount).ToString(), _LoggedOnUser.Settings); UserSettingsUtils.SetSettingValue(SettingsType.ApplicationSettings, SettingsKeys.SchedulerDayViewDayCount, _AppSettings.SchedulerDayViewDayCount.ToString(), _LoggedOnUser.Settings); @@ -811,7 +812,7 @@ namespace BeWo _LoggedOnUser.Settings = settings; } - private static void RestoreAppSettings() + private static void RestoreUserAppSettings() { if (_LoggedOnUser != null) { @@ -887,6 +888,11 @@ namespace BeWo _AppSettings.LastSelectedServiceRecordTimeIntervalDays = Convert.ToInt32(UserSettingsUtils.GetSettingValue(SettingsType.ApplicationSettings, SettingsKeys.LastSelectedServiceRecordTimeIntervalDays, settings)); } + val = UserSettingsUtils.GetSettingValue(SettingsType.ApplicationSettings, SettingsKeys.LastSelectedServiceRecordMonth, settings); + if (val != null) + { + _AppSettings.LastSelectedServiceRecordMonth = Convert.ToDateTime(UserSettingsUtils.GetSettingValue(SettingsType.ApplicationSettings, SettingsKeys.LastSelectedServiceRecordMonth, settings)); + } val = UserSettingsUtils.GetSettingValue(SettingsType.ApplicationSettings, SettingsKeys.LetzteZeiterfassungsDauer, settings); if(val != null) diff --git a/BeWo/Core/Config/AppSettings.cs b/BeWo/Core/Config/AppSettings.cs index fc7809e4d..014ed218d 100644 --- a/BeWo/Core/Config/AppSettings.cs +++ b/BeWo/Core/Config/AppSettings.cs @@ -1,4 +1,5 @@ -using System.Collections.Generic; +using System; +using System.Collections.Generic; using BeWo.View.Navigation.Filter; using BS.Shared; using DevExpress.XtraScheduler; @@ -34,7 +35,9 @@ namespace BeWo.Core.Config private int mServiceRecordAllowChangeHours = 24; - + private DateTime mLastSelectedServiceRecordMonth = new DateTime(DateTime.Now.Year, DateTime.Now.Month, 1); + + private ZeiterfassungsDauer mLetzteZeiterfassungsDauer = ZeiterfassungsDauer.Minuten; @@ -317,6 +320,22 @@ namespace BeWo.Core.Config } } + public DateTime LastSelectedServiceRecordMonth + { + get { return mLastSelectedServiceRecordMonth; } + + set + { + if (mLastSelectedServiceRecordMonth != value) + { + mLastSelectedServiceRecordMonth = value; + IsDirty = true; + } + } + + + } + public int ServiceRecordAllowChangeHours { get { return mServiceRecordAllowChangeHours; } diff --git a/BeWo/Core/Service/GoalService.cs b/BeWo/Core/Service/GoalService.cs index 533f43abd..a2925b21c 100644 --- a/BeWo/Core/Service/GoalService.cs +++ b/BeWo/Core/Service/GoalService.cs @@ -41,8 +41,8 @@ namespace BeWo.Core.Service } } - var sortedCategories = allCategories.OrderBy(s => s.TypeDescription).ToList(); - var sortedGoals = pAllGoals.OrderBy(s => s.TypeDescription).ToList(); + var sortedCategories = allCategories.OrderBy(s => s.DisplayName).ToList(); + var sortedGoals = pAllGoals.OrderBy(s => s.DisplayName).ToList(); var allCatList = new List(); var allGoalList = new List(); diff --git a/BeWo/View/Detail/SupportConceptView.xaml.cs b/BeWo/View/Detail/SupportConceptView.xaml.cs index 83b6bf93d..6d671ddda 100644 --- a/BeWo/View/Detail/SupportConceptView.xaml.cs +++ b/BeWo/View/Detail/SupportConceptView.xaml.cs @@ -747,6 +747,8 @@ namespace BeWo.View.Detail cbRelVM.CostBearerContactPerson = e.Data; } + private long newPersonOid = 0; + private void popupedit_costBearerContactPersonSearch_NewClick(object sender, RoutedEventArgs e) { if (ViewModel.IsNew) @@ -756,28 +758,41 @@ namespace BeWo.View.Detail } else { + newPersonOid = 0L; + VMFactory.CreatePersonVMAsync( cb => this.Dispatch( () => BeWoUtils.OpenModalViewWindow(cb, this, () => this.Dispatch( delegate { - var newPerson = new CompactPersonDC(); - var newPersonOid = 0L; + if (newPersonOid > 0) + { + var newPerson = new CompactPersonDC(); - ServiceFacade.DoCustomerServiceSync(s => newPersonOid = s.InsertNewPerson(cb.CommitToDataContract())); - ServiceFacade.DoCustomerServiceSync(s => newPerson = s.LoadPersonCompact(newPersonOid)); + //ServiceFacade.DoCustomerServiceSync(s => newPersonOid = s.InsertNewPerson(cb.CommitToDataContract())); - ((SupportConceptCostBearerRelVM)tabcontrol_costbearers.SelectedItem).CostBearerContactPerson = null; - ((SupportConceptCostBearerRelVM)tabcontrol_costbearers.SelectedItem).CostBearerContactPerson = newPerson; + ServiceFacade.DoCustomerServiceSync(s => newPerson = s.LoadPersonCompact(newPersonOid)); - personsearchview.ObjectList.Add(newPerson); + ((SupportConceptCostBearerRelVM)tabcontrol_costbearers.SelectedItem).CostBearerContactPerson = null; + ((SupportConceptCostBearerRelVM)tabcontrol_costbearers.SelectedItem).CostBearerContactPerson = newPerson; + + personsearchview.ObjectList.Add(newPerson); + } } - ), personSavedOrUpdated: (s, args) => this.Dispatch(delegate { })))); + ), personSavedOrUpdated: personModalPopUp_PersonSavedOrUpdated ))); } } + private void personModalPopUp_PersonSavedOrUpdated(object sender, EventArgs e) + { + if (e.Data != null && e.Data.DataContract.PersonOid.HasValue) + { + newPersonOid = e.Data.DataContract.PersonOid.Value; + } + } + private void popupedit_costBearerContactPersonSearch_PopUpClick(object sender, RoutedEventArgs e) { personsearchview.ItemSelected += personsearchview_CostBearerContactPersonSelected; diff --git a/BeWo/View/Detail/Zeiterfassung/ServiceRecordView2.xaml b/BeWo/View/Detail/Zeiterfassung/ServiceRecordView2.xaml index 65732338e..b26a60d64 100644 --- a/BeWo/View/Detail/Zeiterfassung/ServiceRecordView2.xaml +++ b/BeWo/View/Detail/Zeiterfassung/ServiceRecordView2.xaml @@ -585,6 +585,23 @@ x:Name="NDay_Bis" Width="80" Margin="3,3,3,3" MaskType="DateTimeAdvancingCaret" EditValue="{val:ValidationBinding Mode=TwoWay, Path=XTageBis}" /> + + + + + + + + + + + + diff --git a/BeWo/View/Detail/Zeiterfassung/ServiceRecordView2.xaml.cs b/BeWo/View/Detail/Zeiterfassung/ServiceRecordView2.xaml.cs index 8024f1a98..78e2a3356 100644 --- a/BeWo/View/Detail/Zeiterfassung/ServiceRecordView2.xaml.cs +++ b/BeWo/View/Detail/Zeiterfassung/ServiceRecordView2.xaml.cs @@ -95,6 +95,7 @@ namespace BeWo.View.Detail.Zeiterfassung public ServiceRecordView2(ServiceRecordListVM pViewModel, long? startSupportConceptOid) { InitializeComponent(); + InitDateCombos(); multiSupportConceptControl.AutoGetAllAfterLoaded = false; multiSupportConceptControl.EditGroupButtonClicked += MultiSupportConceptControl_EditGroupButtonClicked; @@ -127,6 +128,10 @@ namespace BeWo.View.Detail.Zeiterfassung ZeitraumComboStackPanel.HorizontalAlignment = HorizontalAlignment.Right; TimeIntervalComboBox.Width = 110; } + else if (ViewModel.ServiceRecordTimeInterval == ServiceRecordTimeInterval.Monatsauswahl) + { + MonatsauswahlGrid.Visibility = Visibility.Visible; + } ViewModel.StatisticInfosLoaded += ViewModelOnStatisticInfosLoaded; @@ -337,6 +342,20 @@ namespace BeWo.View.Detail.Zeiterfassung } + private void InitDateCombos() + { + this.combobox_month.ItemsSource = DateTimeFormatInfo.CurrentInfo.MonthNames.Where(s => !string.IsNullOrEmpty(s)); + + var years = new List(); + years.Add(DateTime.Now.Year + 1); + for (int i = 0; i <= 10; i++) + { + years.Add(DateTime.Now.Year - i); + } + + this.combobox_year.ItemsSource = years; + + } private static void SetRTFFontSizeFromApp() { //var size = BeWoApp.AppSettings.DocumentationFontSize; @@ -4583,8 +4602,9 @@ namespace BeWo.View.Detail.Zeiterfassung if (ViewModel.ServiceRecordTimeInterval == ServiceRecordTimeInterval.XTage) { NDays.Visibility = Visibility.Visible; - NDays_Von_Bis.Visibility = Visibility.Collapsed; + MonatsauswahlGrid.Visibility = Visibility.Collapsed; + ZeitraumComboStackPanel.HorizontalAlignment = HorizontalAlignment.Left; TimeIntervalComboBox.Width = 120; } @@ -4595,12 +4615,21 @@ namespace BeWo.View.Detail.Zeiterfassung TimeIntervalComboBox.Width = 110; NDays.Visibility = Visibility.Collapsed; + MonatsauswahlGrid.Visibility = Visibility.Collapsed; + } + else if (ViewModel.ServiceRecordTimeInterval == ServiceRecordTimeInterval.Monatsauswahl) + { + MonatsauswahlGrid.Visibility = Visibility.Visible; + + NDays.Visibility = Visibility.Collapsed; + NDays_Von_Bis.Visibility = Visibility.Collapsed; } else { NDays.Visibility = Visibility.Collapsed; - NDays_Von_Bis.Visibility = Visibility.Collapsed; + MonatsauswahlGrid.Visibility = Visibility.Collapsed; + ZeitraumComboStackPanel.HorizontalAlignment = HorizontalAlignment.Left; TimeIntervalComboBox.Width = 120; } diff --git a/BeWo/View/Report/Finance/FinanceOverviewView.xaml b/BeWo/View/Report/Finance/FinanceOverviewView.xaml index 0b2b1a97d..8c0a3b7be 100644 --- a/BeWo/View/Report/Finance/FinanceOverviewView.xaml +++ b/BeWo/View/Report/Finance/FinanceOverviewView.xaml @@ -3,6 +3,7 @@ xmlns:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors" xmlns:dxb="http://schemas.devexpress.com/winfx/2008/xaml/bars" xmlns:dxpbars="http://schemas.devexpress.com/winfx/2008/xaml/printing/bars" + xmlns:markup="clr-namespace:BeWo.MultiLanguage.Markup" Height="Auto" Width="Auto" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Focusable="True"> @@ -20,6 +21,7 @@ + @@ -30,7 +32,8 @@