144 lines
5.1 KiB
C#
144 lines
5.1 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Windows;
|
|
using System.Windows.Documents;
|
|
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;
|
|
|
|
if (BeWoApp.LoggedOnUser.HasRight(BS.Shared.UserRightType.ChatAdminSettings) && BeWoApp.AppSettings.ShowOwnChatSettings)
|
|
{
|
|
var url = ServiceFacade.DoOperationsServiceSync(s => s.GetOwnChatSettingsUrl());
|
|
HyperlinkOwnChatSettings.NavigateUri = new Uri(url);
|
|
//HyperlinkOwnChatSettings.Inlines.Add("testtestestt");
|
|
//HyperlinkOwnChatSettings.Text
|
|
}
|
|
else
|
|
{
|
|
GroupOwnChatSettings.Visibility = Visibility.Collapsed;
|
|
}
|
|
|
|
if (!BeWoApp.AppSettings.ShowWorktime)
|
|
{
|
|
EnableArbeitszeiterfassung.Visibility = Visibility.Collapsed;
|
|
EnableAutomaticPauses.Visibility = Visibility.Collapsed;
|
|
EnableRestTimeWarning.Visibility = Visibility.Collapsed;
|
|
TextBlockShowWarning.Visibility = Visibility.Collapsed;
|
|
SpinEditShowWarning.Visibility = Visibility.Collapsed;
|
|
}
|
|
|
|
ComboZeiteinheit.ItemsSource = new List<String> { "Minuten", "Stunden", "Stunden und Minuten" };
|
|
|
|
if (viewModel.EinheitZeiterfassung.Equals("1"))
|
|
{
|
|
ComboZeiteinheit.SelectedIndex = 1;
|
|
}
|
|
else if (viewModel.EinheitZeiterfassung.Equals("2"))
|
|
{
|
|
ComboZeiteinheit.SelectedIndex = 2;
|
|
}
|
|
else
|
|
{
|
|
ComboZeiteinheit.SelectedIndex = 0;
|
|
}
|
|
|
|
|
|
#if DEBUG
|
|
var url2 = ServiceFacade.DoOperationsServiceSync(s => s.GetOwnChatSettingsUrl());
|
|
HyperlinkOwnChatSettings.NavigateUri = new Uri(url2);
|
|
GroupOwnChatSettings.Visibility = Visibility.Visible;
|
|
#endif
|
|
}
|
|
|
|
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;
|
|
})));
|
|
}
|
|
|
|
private void Hyperlink_ShowOwnChatSettings_Click(object sender, RoutedEventArgs e)
|
|
{
|
|
System.Diagnostics.Process.Start(new System.Diagnostics.ProcessStartInfo((sender as Hyperlink).NavigateUri.ToString()));
|
|
e.Handled = true;
|
|
}
|
|
|
|
private void ComboZeiteinheit_SelectionChanged(object sender, System.Windows.Controls.SelectionChangedEventArgs e)
|
|
{
|
|
if (ComboZeiteinheit.SelectedIndex == 1)
|
|
{
|
|
ViewModel.EinheitZeiterfassung = "1";
|
|
}
|
|
else if (ComboZeiteinheit.SelectedIndex == 2)
|
|
{
|
|
ViewModel.EinheitZeiterfassung = "2";
|
|
}
|
|
else
|
|
{
|
|
ViewModel.EinheitZeiterfassung = "0";
|
|
}
|
|
|
|
}
|
|
}
|
|
} |