Light eingeführt
Ich bin schon groß und vier, komm doch und spiel mit mir, ich lad dich ein ich bin Caillou
This commit is contained in:
@@ -1124,6 +1124,7 @@
|
||||
<Compile Include="SchulbegleitenderDienst\WochenansichtVM.cs" />
|
||||
<Compile Include="SchulbegleitenderDienst\WochenVertretung.cs" />
|
||||
<Compile Include="Security\EncryptionUtils.cs" />
|
||||
<Compile Include="ServiceProxy\ServiceFacadeExtension.cs" />
|
||||
<Compile Include="UploadDialog.xaml.cs">
|
||||
<DependentUpon>UploadDialog.xaml</DependentUpon>
|
||||
</Compile>
|
||||
@@ -1200,8 +1201,11 @@
|
||||
<Compile Include="ViewModel\AdditionalServiceVM.cs" />
|
||||
<Compile Include="ViewModel\BaseVM.cs" />
|
||||
<Compile Include="ViewModel\CustomerVermittlungArbeitVM.cs" />
|
||||
<Compile Include="ViewModel\Light\GkvAbrechnungLightVM.cs" />
|
||||
<Compile Include="ViewModel\Light\InvoiceBaseLightVM.cs" />
|
||||
<Compile Include="ViewModel\ListViewModel\AbstractListVM.cs" />
|
||||
<Compile Include="ViewModel\ListViewModel\CustomerVermittlungArbeitListVM.cs" />
|
||||
<Compile Include="ViewModel\ListViewModel\Light\GkvAbrechnungLightListVM.cs" />
|
||||
<Compile Include="ViewModel\Wohnhilfe\CustomerWohnhilfeBereichBundVM.cs" />
|
||||
<Compile Include="ViewModel\Wohnhilfe\CustomerWohnhilfeBereichEinkommenUndArbeitVM.cs" />
|
||||
<Compile Include="ViewModel\Wohnhilfe\CustomerWohnhilfeBereichSozialeKontakteVM.cs" />
|
||||
@@ -1219,7 +1223,6 @@
|
||||
<Compile Include="ViewModel\DocumentTreeItemVM.cs" />
|
||||
<Compile Include="ViewModel\DokumentvorlageVM.cs" />
|
||||
<Compile Include="ViewModel\GeschenkterUrlaubstagVM.cs" />
|
||||
<Compile Include="ViewModel\ListViewModel\GkvAbrechnungListVM.cs" />
|
||||
<Compile Include="ViewModel\ListViewModel\PreisListVM.cs" />
|
||||
<Compile Include="ViewModel\GkvAbrechnungVM.cs" />
|
||||
<Compile Include="ViewModel\PlatzhalterVM.cs" />
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -283,18 +283,10 @@ namespace BeWo.ServiceProxy
|
||||
{
|
||||
DoAsync<GkvAccountingServiceClient, IGkvAccountingService, T>(pFunc, pCallBack, true);
|
||||
}
|
||||
public static void DoGkvAccountingServiceAsyncGUI<T>(Func<IGkvAccountingService, T> pFunc, Action<T> pCallBack, Dispatcher dispatcher)
|
||||
public static void DoGkvAccountingServiceAsync(Action<IGkvAccountingService> pAction, Action pCallBack)
|
||||
{
|
||||
Action<T> action = (t) => dispatcher.BeginInvoke(
|
||||
DispatcherPriority.Normal,
|
||||
(Action)delegate
|
||||
{
|
||||
pCallBack(t);
|
||||
});
|
||||
|
||||
DoAsync<GkvAccountingServiceClient, IGkvAccountingService, T>(pFunc, action, true);
|
||||
DoAsync<GkvAccountingServiceClient, IGkvAccountingService>(pAction, pCallBack, true);
|
||||
}
|
||||
|
||||
public static void DoGkvAccountingServiceAsync(Action<IGkvAccountingService> pAction)
|
||||
{
|
||||
DoAsync<GkvAccountingServiceClient, IGkvAccountingService>(pAction, true);
|
||||
|
||||
48
BeWo/ServiceProxy/ServiceFacadeExtension.cs
Normal file
48
BeWo/ServiceProxy/ServiceFacadeExtension.cs
Normal file
@@ -0,0 +1,48 @@
|
||||
using DevExpress.Export.Xl;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Controls;
|
||||
using System.Windows.Threading;
|
||||
|
||||
namespace BeWo.ServiceProxy
|
||||
{
|
||||
internal static class ServiceFacadeExtension
|
||||
{
|
||||
public static void DoGkvAccountingServiceAsync<T>(this UserControl uc, Func<IGkvAccountingService, T> pFunc, Action<T> pCallBack = null, bool showWaitDialog = true)
|
||||
{
|
||||
Action<T> lCallBack = null;
|
||||
|
||||
if (pCallBack != null)
|
||||
{
|
||||
lCallBack = (t) => uc.Dispatcher.BeginInvoke(
|
||||
DispatcherPriority.Normal,
|
||||
(Action)delegate
|
||||
{
|
||||
pCallBack(t);
|
||||
});
|
||||
}
|
||||
|
||||
ServiceFacade.DoGkvAccountingServiceAsync<T>(pFunc, lCallBack, true);
|
||||
}
|
||||
|
||||
public static void DoGkvAccountingServiceAsync(this UserControl uc, Action<IGkvAccountingService> pAction, Action pCallBack = null, bool showWaitDialog = true)
|
||||
{
|
||||
Action lCallBack = null;
|
||||
|
||||
if (pCallBack != null)
|
||||
{
|
||||
lCallBack = () => uc.Dispatcher.BeginInvoke(
|
||||
DispatcherPriority.Normal,
|
||||
(Action)delegate
|
||||
{
|
||||
pCallBack();
|
||||
});
|
||||
}
|
||||
|
||||
ServiceFacade.DoGkvAccountingServiceAsync(pAction, lCallBack);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -62,24 +62,22 @@ namespace BeWo.View.Controls
|
||||
{
|
||||
var protokoll = datagrid_transfer.GetCurrentValue<GkvTransferProtokollDC>();
|
||||
|
||||
var oid = protokoll.GkvTransferProtokollOid.Value;
|
||||
var oid = protokoll.Oid.Value;
|
||||
|
||||
ServiceFacade.DoGkvAccountingServiceAsyncGUI(
|
||||
this.DoGkvAccountingServiceAsync(
|
||||
service => service.GetProtokollRawDataString(oid, BS.Shared.GkvRawDataType.Auftragsdatei),
|
||||
callback => ShowTextViewer("Auftragsdatei", callback),
|
||||
Dispatcher);
|
||||
callback => ShowTextViewer("Auftragsdatei", callback));
|
||||
}
|
||||
|
||||
private void btn_nutzdatendatei_Click(object sender, RoutedEventArgs e)
|
||||
{
|
||||
var protokoll = datagrid_transfer.GetCurrentValue<GkvTransferProtokollDC>();
|
||||
|
||||
var oid = protokoll.GkvTransferProtokollOid.Value;
|
||||
var oid = protokoll.Oid.Value;
|
||||
|
||||
ServiceFacade.DoGkvAccountingServiceAsyncGUI(
|
||||
this.DoGkvAccountingServiceAsync(
|
||||
service => service.GetProtokollRawDataString(oid, BS.Shared.GkvRawDataType.Nutzdatendatei),
|
||||
callback => ShowTextViewer("Nutzdatendatei", callback),
|
||||
Dispatcher);
|
||||
callback => ShowTextViewer("Nutzdatendatei", callback));
|
||||
}
|
||||
|
||||
private void ShowTextViewer(string title, string text)
|
||||
|
||||
@@ -3,6 +3,7 @@ using System.Activities.Statements;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Security.Cryptography;
|
||||
using System.Text;
|
||||
using System.Windows;
|
||||
using System.Windows.Controls;
|
||||
@@ -14,170 +15,173 @@ using BeWo.Core;
|
||||
using BeWo.ServiceProxy;
|
||||
using BeWo.View.Controls;
|
||||
using BeWo.ViewModel;
|
||||
using BeWo.ViewModel.Light;
|
||||
using BeWo.ViewModel.ListViewModel;
|
||||
|
||||
using BeWo.ViewModel.ListViewModel.Light;
|
||||
using BS.Shared;
|
||||
using BS.Shared.AppSender;
|
||||
using BS.Shared.Core;
|
||||
using BS.Shared.DataContracts;
|
||||
using BS.Shared.DataContracts.GkvAbrechnung;
|
||||
using BS.Shared.DataContracts.Light;
|
||||
using BS.Shared.Extensions;
|
||||
using DevExpress.Data.Filtering;
|
||||
using DevExpress.Mvvm;
|
||||
using DevExpress.Utils.Extensions;
|
||||
using DevExpress.Xpf.Editors;
|
||||
using DevExpress.Xpf.Grid;
|
||||
using Microsoft.Win32;
|
||||
|
||||
namespace BeWo.View.Detail.Accounting
|
||||
{
|
||||
public partial class GkvAbrechnungOverview : BeWoView
|
||||
{
|
||||
private bool _IsRequesting = false;
|
||||
public partial class GkvAbrechnungOverview : BeWoView
|
||||
{
|
||||
private bool _IsRequesting = false;
|
||||
|
||||
private readonly NewGkvAbrechnungPopUpView _NewGkvAbrechnungPopUpView;
|
||||
private readonly GkvAbrechnungListVM _Viewmodel;
|
||||
private readonly NewGkvAbrechnungPopUpView _NewGkvAbrechnungPopUpView;
|
||||
private readonly GkvAbrechnungLightListVM _Viewmodel;
|
||||
|
||||
public GkvAbrechnungOverview()
|
||||
{
|
||||
UpdateDataGridFilterCommand = new DelegateCommand(UpdateDataGridFilter);
|
||||
public GkvAbrechnungOverview()
|
||||
{
|
||||
UpdateDataGridFilterCommand = new DelegateCommand(UpdateDataGridFilter);
|
||||
|
||||
InitializeComponent();
|
||||
InitializeComponent();
|
||||
|
||||
DownloadLinkEngine = new DownloadLinkEngine();
|
||||
DownloadLinkEngine = new DownloadLinkEngine();
|
||||
|
||||
_Viewmodel = new GkvAbrechnungListVM();
|
||||
_Viewmodel.VMList.ListChanged += (s, e) => gridView.BestFitColumns();
|
||||
_Viewmodel = new GkvAbrechnungLightListVM();
|
||||
_Viewmodel.VMList.ListChanged += (s, e) => gridView.BestFitColumns();
|
||||
|
||||
DataContext = _Viewmodel;
|
||||
DataContext = _Viewmodel;
|
||||
|
||||
//datagrid_gkvAbrechnungen.FixedFilter = new BinaryOperator("Datenaustauschreferenz", 1);
|
||||
//datagrid_gkvAbrechnungen.FixedFilter = new BinaryOperator("Datenaustauschreferenz", 1);
|
||||
|
||||
_NewGkvAbrechnungPopUpView = new NewGkvAbrechnungPopUpView();
|
||||
_NewGkvAbrechnungPopUpView.CancelButtonClicked += NewGkvAbrechnungPopUpViewCancelButtonClicked;
|
||||
_NewGkvAbrechnungPopUpView.CreateButtonClicked += NewGkvAbrechnungPopUpViewCreateButtonClicked;
|
||||
_NewGkvAbrechnungPopUpView = new NewGkvAbrechnungPopUpView();
|
||||
_NewGkvAbrechnungPopUpView.CancelButtonClicked += NewGkvAbrechnungPopUpViewCancelButtonClicked;
|
||||
_NewGkvAbrechnungPopUpView.CreateButtonClicked += NewGkvAbrechnungPopUpViewCreateButtonClicked;
|
||||
|
||||
_Viewmodel.DateTimeSpanFilter = yearMonthFilter.FilterSpan;
|
||||
}
|
||||
_Viewmodel.DateTimeSpanFilter = yearMonthFilter.FilterSpan;
|
||||
}
|
||||
|
||||
public DownloadLinkEngine DownloadLinkEngine { get; set; }
|
||||
public DelegateCommand UpdateDataGridFilterCommand { get; set; }
|
||||
public DownloadLinkEngine DownloadLinkEngine { get; set; }
|
||||
public DelegateCommand UpdateDataGridFilterCommand { get; set; }
|
||||
|
||||
private bool ShowAllInvoices => _Viewmodel.DateTimeSpanFilter is null;
|
||||
private bool ShowAllInvoices => _Viewmodel.DateTimeSpanFilter is null;
|
||||
|
||||
private void RefreshGkvAbrechnungenList()
|
||||
{
|
||||
if (_IsRequesting && ServiceFacade.IsWaiting())
|
||||
return;
|
||||
private void RefreshGkvAbrechnungenList()
|
||||
{
|
||||
if (_IsRequesting && ServiceFacade.IsWaiting())
|
||||
return;
|
||||
|
||||
try
|
||||
{
|
||||
_IsRequesting = true;
|
||||
_IsRequesting = true;
|
||||
|
||||
ServiceFacade.DoGkvAccountingServiceAsync(s => s.GetFilteredGkvAbrechnungen(null), UpdateGkvAbrechnungList);
|
||||
}
|
||||
catch(Exception e)
|
||||
ServiceFacade.DoGkvAccountingServiceAsync(s => s.GetFilteredGkvAbrechnungen(null), UpdateGkvAbrechnungList);
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
_IsRequesting = false;
|
||||
_IsRequesting = false;
|
||||
|
||||
throw e;
|
||||
throw e;
|
||||
}
|
||||
|
||||
_IsRequesting = false;
|
||||
}
|
||||
|
||||
private void UpdateGkvAbrechnungList(IList<GkvAbrechnungDC> dcList)
|
||||
{
|
||||
this.Dispatcher.BeginInvoke(
|
||||
DispatcherPriority.Normal,
|
||||
(Action)delegate
|
||||
{
|
||||
_Viewmodel.UpdateList(dcList);
|
||||
_IsRequesting = false;
|
||||
}
|
||||
|
||||
if (datagrid_gkvAbrechnungen.Visibility != Visibility.Visible)
|
||||
datagrid_gkvAbrechnungen.Visibility = Visibility.Visible;
|
||||
private void UpdateGkvAbrechnungList(IList<GkvAbrechnungLightDC> dcList)
|
||||
{
|
||||
this.Dispatcher.BeginInvoke(
|
||||
DispatcherPriority.Normal,
|
||||
(Action)delegate
|
||||
{
|
||||
_Viewmodel.UpdateList(dcList);
|
||||
|
||||
UpdateDataGridFilter();
|
||||
});
|
||||
}
|
||||
if (datagrid_gkvAbrechnungen.Visibility != Visibility.Visible)
|
||||
datagrid_gkvAbrechnungen.Visibility = Visibility.Visible;
|
||||
|
||||
private void UpdateDataGridFilter()
|
||||
{
|
||||
datagrid_gkvAbrechnungen.FixedFilter = null;
|
||||
UpdateDataGridFilter();
|
||||
});
|
||||
}
|
||||
|
||||
if (ShowAllInvoices)
|
||||
{
|
||||
datagrid_gkvAbrechnungen.FixedFilter = null;
|
||||
}
|
||||
else
|
||||
{
|
||||
var filterByInvoiceDate = radioFilterByInvoiceDate.IsChecked.Value;
|
||||
private void UpdateDataGridFilter()
|
||||
{
|
||||
datagrid_gkvAbrechnungen.FixedFilter = null;
|
||||
|
||||
var filter_start = _Viewmodel.DateTimeSpanFilter.StartDate;
|
||||
var filter_ende = _Viewmodel.DateTimeSpanFilter.EndDate.AddDays(1).AddMilliseconds(-1);
|
||||
|
||||
if (filterByInvoiceDate)
|
||||
{
|
||||
datagrid_gkvAbrechnungen.FixedFilter = CriteriaOperator.And(
|
||||
CriteriaOperator.FromLambda<GkvAbrechnungDC>(gkv => gkv.ErstelltAm >= filter_start),
|
||||
CriteriaOperator.FromLambda<GkvAbrechnungDC>(gkv => gkv.ErstelltAm <= filter_ende));
|
||||
}
|
||||
else
|
||||
{
|
||||
datagrid_gkvAbrechnungen.FixedFilter = CriteriaOperator.Or(
|
||||
CriteriaOperator.FromLambda<GkvAbrechnungDC>(gkv => filter_start <= gkv.AbrechnungsZeitraumStart && gkv.AbrechnungsZeitraumStart <= filter_ende),
|
||||
CriteriaOperator.FromLambda<GkvAbrechnungDC>(gkv => filter_start <= gkv.AbrechnungsZeitraumEnde && gkv.AbrechnungsZeitraumEnde <= filter_ende),
|
||||
CriteriaOperator.FromLambda<GkvAbrechnungDC>(gkv => gkv.AbrechnungsZeitraumStart <= filter_start && filter_ende <= gkv.AbrechnungsZeitraumEnde));
|
||||
}
|
||||
}
|
||||
|
||||
gridView.BestFitColumns();
|
||||
gridView.BestFitColumn(ColumnButtons);
|
||||
}
|
||||
|
||||
private void NewGkvAbrechnungPopUpViewCancelButtonClicked(object sender, EventArgs e)
|
||||
{
|
||||
MainControl.CloseCurrentPopUp();
|
||||
}
|
||||
private void NewGkvAbrechnungPopUpViewCreateButtonClicked(object sender, EventArgs<GkvAbrechnungDC> e)
|
||||
{
|
||||
var gkv_abrechnung = e.Data;
|
||||
|
||||
var checked_invoice_bases = _NewGkvAbrechnungPopUpView.ViewModel.InvoiceBases.Where(x => x.IsChecked);
|
||||
|
||||
if (!checked_invoice_bases.Any())
|
||||
return;
|
||||
|
||||
var success = ValidatorExtended.TryValidateGkvAbrechnung(gkv_abrechnung, checked_invoice_bases, false);
|
||||
if (!success)
|
||||
{
|
||||
var txt = "Sie haben Rechnungen mit verschiedenen Rechnungsadressen ausgewählt.";
|
||||
var result = MessageBox.Show(txt, "Hinweis", MessageBoxButton.OK);
|
||||
return;
|
||||
}
|
||||
|
||||
var already_used_invoices = checked_invoice_bases.Where(x => x.IsAlreadyInActiveGkvAbrechnung.Value);
|
||||
if (already_used_invoices.Any())
|
||||
if (ShowAllInvoices)
|
||||
{
|
||||
var txt = "Sie haben eine oder mehrere Rechnungen ausgewählt, welche bereits in einer " +
|
||||
"anderen aktiven GKV-Abrechnung enthalten sind. Möchten Sie fortfahren?";
|
||||
var result = MessageBox.Show(txt, "Hinweis", MessageBoxButton.OKCancel);
|
||||
datagrid_gkvAbrechnungen.FixedFilter = null;
|
||||
}
|
||||
else
|
||||
{
|
||||
var filterByInvoiceDate = radioFilterByInvoiceDate.IsChecked.Value;
|
||||
|
||||
if (result != MessageBoxResult.OK)
|
||||
return;
|
||||
var filter_start = _Viewmodel.DateTimeSpanFilter.StartDate;
|
||||
var filter_ende = _Viewmodel.DateTimeSpanFilter.EndDate.AddDays(1).AddMilliseconds(-1);
|
||||
|
||||
if (filterByInvoiceDate)
|
||||
{
|
||||
datagrid_gkvAbrechnungen.FixedFilter = CriteriaOperator.And(
|
||||
CriteriaOperator.FromLambda<GkvAbrechnungDC>(gkv => gkv.ErstelltAm >= filter_start),
|
||||
CriteriaOperator.FromLambda<GkvAbrechnungDC>(gkv => gkv.ErstelltAm <= filter_ende));
|
||||
}
|
||||
else
|
||||
{
|
||||
datagrid_gkvAbrechnungen.FixedFilter = CriteriaOperator.Or(
|
||||
CriteriaOperator.FromLambda<GkvAbrechnungDC>(gkv => filter_start <= gkv.AbrechnungsZeitraumStart && gkv.AbrechnungsZeitraumStart <= filter_ende),
|
||||
CriteriaOperator.FromLambda<GkvAbrechnungDC>(gkv => filter_start <= gkv.AbrechnungsZeitraumEnde && gkv.AbrechnungsZeitraumEnde <= filter_ende),
|
||||
CriteriaOperator.FromLambda<GkvAbrechnungDC>(gkv => gkv.AbrechnungsZeitraumStart <= filter_start && filter_ende <= gkv.AbrechnungsZeitraumEnde));
|
||||
}
|
||||
}
|
||||
|
||||
var bereits_bezahlt = checked_invoice_bases.Where(x => x.IsPaid);
|
||||
if (bereits_bezahlt.Any())
|
||||
{
|
||||
var txt = "Sie haben eine oder mehrere Rechnungen ausgewählt, welche bereits als 'Bezahlt' " +
|
||||
"markiert sind. Möchten Sie fortfahren?";
|
||||
var result = MessageBox.Show(txt, "Hinweis", MessageBoxButton.OKCancel);
|
||||
gridView.BestFitColumns();
|
||||
gridView.BestFitColumn(ColumnButtons);
|
||||
}
|
||||
|
||||
if (result != MessageBoxResult.OK)
|
||||
return;
|
||||
}
|
||||
private void NewGkvAbrechnungPopUpViewCancelButtonClicked(object sender, EventArgs e)
|
||||
{
|
||||
MainControl.CloseCurrentPopUp();
|
||||
}
|
||||
private void NewGkvAbrechnungPopUpViewCreateButtonClicked(object sender, EventArgs<GkvAbrechnungDC> e)
|
||||
{
|
||||
var gkv_abrechnung = e.Data;
|
||||
|
||||
MainControl.CloseCurrentPopUp();
|
||||
var checked_invoice_bases = _NewGkvAbrechnungPopUpView.ViewModel.InvoiceBases.Where(x => x.IsChecked);
|
||||
|
||||
if (!checked_invoice_bases.Any())
|
||||
return;
|
||||
|
||||
var success = ValidatorExtended.TryValidateGkvAbrechnung(gkv_abrechnung, checked_invoice_bases, false);
|
||||
if (!success)
|
||||
{
|
||||
var txt = "Sie haben Rechnungen mit verschiedenen Rechnungsadressen ausgewählt.";
|
||||
var result = MessageBox.Show(txt, "Hinweis", MessageBoxButton.OK);
|
||||
return;
|
||||
}
|
||||
|
||||
var already_used_invoices = checked_invoice_bases.Where(x => x.IsAlreadyInActiveGkvAbrechnung.Value);
|
||||
if (already_used_invoices.Any())
|
||||
{
|
||||
var txt = "Sie haben eine oder mehrere Rechnungen ausgewählt, welche bereits in einer " +
|
||||
"anderen aktiven GKV-Abrechnung enthalten sind. Möchten Sie fortfahren?";
|
||||
var result = MessageBox.Show(txt, "Hinweis", MessageBoxButton.OKCancel);
|
||||
|
||||
if (result != MessageBoxResult.OK)
|
||||
return;
|
||||
}
|
||||
|
||||
var bereits_bezahlt = checked_invoice_bases.Where(x => x.IsPaid);
|
||||
if (bereits_bezahlt.Any())
|
||||
{
|
||||
var txt = "Sie haben eine oder mehrere Rechnungen ausgewählt, welche bereits als 'Bezahlt' " +
|
||||
"markiert sind. Möchten Sie fortfahren?";
|
||||
var result = MessageBox.Show(txt, "Hinweis", MessageBoxButton.OKCancel);
|
||||
|
||||
if (result != MessageBoxResult.OK)
|
||||
return;
|
||||
}
|
||||
|
||||
MainControl.CloseCurrentPopUp();
|
||||
|
||||
var gkv_filter = new GkvAbrechnungCreateRequestDC
|
||||
{
|
||||
@@ -186,264 +190,245 @@ namespace BeWo.View.Detail.Accounting
|
||||
};
|
||||
|
||||
ServiceFacade.DoGkvAccountingServiceAsync(x => x.CreateNewGkvAbrechnung(gkv_filter),
|
||||
cb => Dispatcher.BeginInvoke(DispatcherPriority.Normal,
|
||||
(Action)delegate
|
||||
{
|
||||
if (cb.Success)
|
||||
{
|
||||
RefreshGkvAbrechnungenList();
|
||||
}
|
||||
else
|
||||
{
|
||||
BeWoWindowBuilder.ShowTitleErrorMessageBox(cb.Message, cb.TitleMessage);
|
||||
}
|
||||
}));
|
||||
}
|
||||
cb => Dispatcher.BeginInvoke(DispatcherPriority.Normal,
|
||||
(Action)delegate
|
||||
{
|
||||
if (cb.Success)
|
||||
{
|
||||
RefreshGkvAbrechnungenList();
|
||||
}
|
||||
else
|
||||
{
|
||||
BeWoWindowBuilder.ShowTitleErrorMessageBox(cb.Message, cb.TitleMessage);
|
||||
}
|
||||
}));
|
||||
}
|
||||
|
||||
private void YearMonthFilter_FilterSpanChanged(object sender, EventArgs<DateTimeSpan> e)
|
||||
{
|
||||
_Viewmodel.DateTimeSpanFilter = e.Data;
|
||||
UpdateDataGridFilter();
|
||||
}
|
||||
private void YearMonthFilter_FilterSpanChanged(object sender, EventArgs<DateTimeSpan> e)
|
||||
{
|
||||
_Viewmodel.DateTimeSpanFilter = e.Data;
|
||||
UpdateDataGridFilter();
|
||||
}
|
||||
|
||||
private void btn_details_Click(object sender, RoutedEventArgs e)
|
||||
{
|
||||
var vm = this.datagrid_gkvAbrechnungen.GetCurrentValue<GkvAbrechnungVM>();
|
||||
private void btn_details_Click(object sender, RoutedEventArgs e)
|
||||
{
|
||||
var vm = this.datagrid_gkvAbrechnungen.GetCurrentValue<GkvAbrechnungVM>();
|
||||
|
||||
var window = BeWoWindowBuilder.GetGkvAbrechnungDetailWindow(vm);
|
||||
var window = BeWoWindowBuilder.GetGkvAbrechnungDetailWindow(vm);
|
||||
|
||||
window.Closing += Detail_Window_Closing;
|
||||
window.Closing += Detail_Window_Closing;
|
||||
|
||||
window.ShowDialog();
|
||||
}
|
||||
window.ShowDialog();
|
||||
}
|
||||
|
||||
private void Detail_Window_Closing(object sender, System.ComponentModel.CancelEventArgs e)
|
||||
{
|
||||
var bewo_window = sender as BeWoWindow;
|
||||
var detail_control = bewo_window.GroupBoxContent as GkvAbrechnungDetailControl;
|
||||
private void Detail_Window_Closing(object sender, System.ComponentModel.CancelEventArgs e)
|
||||
{
|
||||
var bewo_window = sender as BeWoWindow;
|
||||
var detail_control = bewo_window.GroupBoxContent as GkvAbrechnungDetailControl;
|
||||
|
||||
var vm = detail_control.DataContext as GkvAbrechnungVM;
|
||||
var vm = detail_control.DataContext as GkvAbrechnungLightVM;
|
||||
|
||||
vm.CheckAllInvoiceBases();
|
||||
vm.CheckAllInvoiceBases();
|
||||
|
||||
var checkbox_checked = detail_control.Checkbox_Bezahlt.IsChecked;
|
||||
var textbox_text = detail_control.txt_Notice.Text;
|
||||
var checkbox_checked = detail_control.Checkbox_Bezahlt.IsChecked;
|
||||
var textbox_text = detail_control.txt_Notice.Text;
|
||||
|
||||
vm.Notice = textbox_text;
|
||||
vm.Notice = textbox_text;
|
||||
|
||||
if (vm.IsDirty)
|
||||
{
|
||||
var dc_in = vm.CommitToDataContract();
|
||||
if (vm.IsDirty)
|
||||
{
|
||||
var dc_in = vm.CommitToDataContract();
|
||||
|
||||
ServiceFacade.DoGkvAccountingServiceAsync(x => x.UpdateGkvAbrechnung(dc_in), dc_out =>
|
||||
{
|
||||
Dispatcher.Invoke(() => {
|
||||
vm.UpdateByDataContract(dc_out);
|
||||
});
|
||||
}, false);
|
||||
}
|
||||
}
|
||||
this.DoGkvAccountingServiceAsync(x => x.UpdateGkvAbrechnung(dc_in), vm.UpdateByDataContract, false);
|
||||
}
|
||||
}
|
||||
|
||||
private void btn_send_Click(object sender, RoutedEventArgs e)
|
||||
{
|
||||
var vm = datagrid_gkvAbrechnungen.GetCurrentValue<GkvAbrechnungVM>();
|
||||
private void btn_send_Click(object sender, RoutedEventArgs e)
|
||||
{
|
||||
var vm = datagrid_gkvAbrechnungen.GetCurrentValue<GkvAbrechnungLightVM>();
|
||||
|
||||
var state = vm.GetState();
|
||||
var state = vm.GetState();
|
||||
|
||||
string text = "Sind Sie sicher, dass Sie die gewählte GKV-Abrechnung senden möchten?";
|
||||
string text = "Sind Sie sicher, dass Sie die gewählte GKV-Abrechnung senden möchten?";
|
||||
|
||||
if (state == GkvState.ErrorSoft)
|
||||
text = "Die gewählte GKV-Abrechnung wurde nicht erfolgreich an die Krankenkasse übertragen. Möchten Sie sie erneut senden?";
|
||||
|
||||
if (MessageBox.Show(text, "GKV-Abrechnung senden", MessageBoxButton.YesNo, MessageBoxImage.Warning) == MessageBoxResult.Yes)
|
||||
{
|
||||
vm.SendGkvAbrechnung();
|
||||
}
|
||||
}
|
||||
private void btn_delete_Click(object sender, RoutedEventArgs e)
|
||||
{
|
||||
var vm = datagrid_gkvAbrechnungen.GetCurrentValue<GkvAbrechnungVM>();
|
||||
if (state == GkvState.ErrorSoft)
|
||||
text = "Die gewählte GKV-Abrechnung wurde nicht erfolgreich an die Krankenkasse übertragen. Möchten Sie sie erneut senden?";
|
||||
|
||||
if (MessageBox.Show("Sind Sie sicher, dass Sie die gewählte GKV-Abrechnung löschen möchten?", "GKV-Abrechnung löschen", MessageBoxButton.YesNo, MessageBoxImage.Warning) == MessageBoxResult.Yes)
|
||||
{
|
||||
_Viewmodel.VMList.Remove(vm);
|
||||
if (MessageBox.Show(text, "GKV-Abrechnung senden", MessageBoxButton.YesNo, MessageBoxImage.Warning) != MessageBoxResult.Yes)
|
||||
return;
|
||||
|
||||
ServiceFacade.DoGkvAccountingServiceAsync(s => s.DeleteGkvAbrechnung(vm.CommitToDataContract()));
|
||||
}
|
||||
}
|
||||
private void NewButton_OnClick(object sender, RoutedEventArgs e)
|
||||
{
|
||||
GkvAbrechnungDC gkvAbrechnungDC = new GkvAbrechnungDC();
|
||||
var req = new GkvAbrechnungSendRequestDC();
|
||||
req.GkvAbrechnungOid = vm.Oid;
|
||||
|
||||
var start = DateTime.Today.AddMonths(-1);
|
||||
var first = new DateTime(start.Year, start.Month, 1);
|
||||
var last = first.AddMonths(1).AddDays(-1);
|
||||
this.DoGkvAccountingServiceAsync(s => s.SendNewGkvAbrechnung(req), vm.UpdateBySendResponse);
|
||||
}
|
||||
private void btn_delete_Click(object sender, RoutedEventArgs e)
|
||||
{
|
||||
var vm = datagrid_gkvAbrechnungen.GetCurrentValue<GkvAbrechnungLightVM>();
|
||||
|
||||
gkvAbrechnungDC.AbrechnungsZeitraumStart = first;
|
||||
gkvAbrechnungDC.AbrechnungsZeitraumEnde = last;
|
||||
if (MessageBox.Show("Sind Sie sicher, dass Sie die gewählte GKV-Abrechnung löschen möchten?", "GKV-Abrechnung löschen", MessageBoxButton.YesNo, MessageBoxImage.Warning) == MessageBoxResult.Yes)
|
||||
{
|
||||
this.DoGkvAccountingServiceAsync(s => s.DeleteGkvAbrechnung(vm.Oid, vm.Version), () => _Viewmodel.VMList.Remove(vm));
|
||||
}
|
||||
}
|
||||
private void NewButton_OnClick(object sender, RoutedEventArgs e)
|
||||
{
|
||||
GkvAbrechnungDC gkvAbrechnungDC = new GkvAbrechnungDC();
|
||||
|
||||
GkvAbrechnungVM gkvAbrechnungVM = new GkvAbrechnungVM(gkvAbrechnungDC);
|
||||
_NewGkvAbrechnungPopUpView.Clear();
|
||||
_NewGkvAbrechnungPopUpView.ViewModel = gkvAbrechnungVM;
|
||||
this.MainControl.ShowControlAsModalPopup(this._NewGkvAbrechnungPopUpView);
|
||||
}
|
||||
private void ReloadButton_OnClick(object sender, RoutedEventArgs e)
|
||||
{
|
||||
RefreshGkvAbrechnungenList();
|
||||
}
|
||||
var start = DateTime.Today.AddMonths(-1);
|
||||
var first = new DateTime(start.Year, start.Month, 1);
|
||||
var last = first.AddMonths(1).AddDays(-1);
|
||||
|
||||
private void gridView_Loaded(object sender, RoutedEventArgs e)
|
||||
{
|
||||
this.gridView.BestFitColumns();
|
||||
}
|
||||
private void gridView_ShownEditor(object sender, EditorEventArgs e)
|
||||
{
|
||||
if (e.Editor is CheckEdit)
|
||||
{
|
||||
var ed = (CheckEdit)e.Editor;
|
||||
ed.Tag = e.Row;
|
||||
}
|
||||
else if (int.TryParse(datagrid_gkvAbrechnungen.CurrentColumn.Tag?.ToString(), out int tag) && gridView.ActiveEditor is TextEdit)
|
||||
{
|
||||
((TextEdit)gridView.ActiveEditor).SetPropertyValue("MaxLength", tag);
|
||||
}
|
||||
}
|
||||
private void gridView_CellValueChanging(object sender, CellValueChangedEventArgs e)
|
||||
{
|
||||
if (e.Column is null)
|
||||
return;
|
||||
gkvAbrechnungDC.AbrechnungsZeitraumStart = first;
|
||||
gkvAbrechnungDC.AbrechnungsZeitraumEnde = last;
|
||||
|
||||
if (e.Column.FieldName == nameof(GkvAbrechnungVM.Bezahlt))
|
||||
{
|
||||
if (e.Value is bool b && e.Row is GkvAbrechnungVM vm)
|
||||
{
|
||||
SaveBezahltChange(vm, b);
|
||||
}
|
||||
}
|
||||
else if (e.Column.FieldName == nameof(GkvAbrechnungVM.UrbelegeGesendet))
|
||||
{
|
||||
if (e.Value is bool b && e.Row is GkvAbrechnungVM vm)
|
||||
{
|
||||
SaveUrbelegeGesendetChange(vm, b);
|
||||
}
|
||||
}
|
||||
}
|
||||
private void TableView_OnCustomRowAppearance(object sender, CustomRowAppearanceEventArgs e)
|
||||
{
|
||||
if (e.Property != null && e.Property.Name == "Background")
|
||||
{
|
||||
var gkvAbrechnungVM = datagrid_gkvAbrechnungen.GetRow(e.RowHandle) as GkvAbrechnungVM;
|
||||
GkvAbrechnungVM gkvAbrechnungVM = new GkvAbrechnungVM(gkvAbrechnungDC);
|
||||
_NewGkvAbrechnungPopUpView.Clear();
|
||||
_NewGkvAbrechnungPopUpView.ViewModel = gkvAbrechnungVM;
|
||||
this.MainControl.ShowControlAsModalPopup(this._NewGkvAbrechnungPopUpView);
|
||||
}
|
||||
private void ReloadButton_OnClick(object sender, RoutedEventArgs e)
|
||||
{
|
||||
RefreshGkvAbrechnungenList();
|
||||
}
|
||||
|
||||
if (gkvAbrechnungVM is null)
|
||||
return;
|
||||
private void gridView_Loaded(object sender, RoutedEventArgs e)
|
||||
{
|
||||
this.gridView.BestFitColumns();
|
||||
}
|
||||
private void gridView_ShownEditor(object sender, EditorEventArgs e)
|
||||
{
|
||||
if (e.Editor is CheckEdit)
|
||||
{
|
||||
var ed = (CheckEdit)e.Editor;
|
||||
ed.Tag = e.Row;
|
||||
}
|
||||
else if (int.TryParse(datagrid_gkvAbrechnungen.CurrentColumn.Tag?.ToString(), out int tag) && gridView.ActiveEditor is TextEdit)
|
||||
{
|
||||
((TextEdit)gridView.ActiveEditor).SetPropertyValue("MaxLength", tag);
|
||||
}
|
||||
}
|
||||
private void gridView_CellValueChanging(object sender, CellValueChangedEventArgs e)
|
||||
{
|
||||
if (e.Column is null)
|
||||
return;
|
||||
|
||||
if (gkvAbrechnungVM.GkvState == GkvState.WaitingForKrankenkasseTooLong && BeWoApp.Mandator.ColorWaitTooLong is string colorWaiting)
|
||||
{
|
||||
e.Result = ColorExtensions.ParseSolidColorBrush(colorWaiting);
|
||||
e.Handled = true;
|
||||
}
|
||||
else if (gkvAbrechnungVM.GkvState == GkvState.WaitingForUrbelege && BeWoApp.Mandator.ColorSendUrbelege is string colorSend)
|
||||
{
|
||||
e.Result = ColorExtensions.ParseSolidColorBrush(colorSend);
|
||||
e.Handled = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (e.Column.FieldName == nameof(GkvAbrechnungLightVM.Bezahlt))
|
||||
{
|
||||
if (e.Value is bool b && e.Row is GkvAbrechnungLightVM vm)
|
||||
{
|
||||
SaveBezahltChange(vm, b);
|
||||
}
|
||||
}
|
||||
else if (e.Column.FieldName == nameof(GkvAbrechnungLightVM.UrbelegeGesendet))
|
||||
{
|
||||
if (e.Value is bool b && e.Row is GkvAbrechnungLightVM vm)
|
||||
{
|
||||
SaveUrbelegeGesendetChange(vm, b);
|
||||
}
|
||||
}
|
||||
}
|
||||
private void TableView_OnCustomRowAppearance(object sender, CustomRowAppearanceEventArgs e)
|
||||
{
|
||||
if (e.Property != null && e.Property.Name == "Background")
|
||||
{
|
||||
var gkvAbrechnungVM = datagrid_gkvAbrechnungen.GetRow(e.RowHandle) as GkvAbrechnungLightVM;
|
||||
|
||||
private void radioFilterByInvoiceDate_Click(object sender, RoutedEventArgs e)
|
||||
{
|
||||
UpdateDataGridFilter();
|
||||
}
|
||||
if (gkvAbrechnungVM is null)
|
||||
return;
|
||||
|
||||
private void SaveBezahltChange(GkvAbrechnungVM vm, bool b)
|
||||
{
|
||||
var dc_in = vm.CommitToDataContract();
|
||||
if (gkvAbrechnungVM.GkvState == GkvState.WaitingForKrankenkasseTooLong && BeWoApp.Mandator.ColorWaitTooLong is string colorWaiting)
|
||||
{
|
||||
e.Result = ColorExtensions.ParseSolidColorBrush(colorWaiting);
|
||||
e.Handled = true;
|
||||
}
|
||||
else if (gkvAbrechnungVM.GkvState == GkvState.WaitingForUrbelege && BeWoApp.Mandator.ColorSendUrbelege is string colorSend)
|
||||
{
|
||||
e.Result = ColorExtensions.ParseSolidColorBrush(colorSend);
|
||||
e.Handled = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
dc_in.Bezahlt = b;
|
||||
private void radioFilterByInvoiceDate_Click(object sender, RoutedEventArgs e)
|
||||
{
|
||||
UpdateDataGridFilter();
|
||||
}
|
||||
|
||||
ServiceFacade.DoGkvAccountingServiceAsync(x => x.UpdateGkvAbrechnung(dc_in), dc_out =>
|
||||
{
|
||||
Dispatcher.Invoke(() => {
|
||||
vm.UpdateByDataContract(dc_out);
|
||||
});
|
||||
}, false);
|
||||
}
|
||||
private void SaveBezahltChange(GkvAbrechnungLightVM vm, bool b)
|
||||
{
|
||||
var dc_in = vm.CommitToDataContract();
|
||||
|
||||
private void SaveUrbelegeGesendetChange(GkvAbrechnungVM vm, bool b)
|
||||
{
|
||||
var dc_in = vm.CommitToDataContract();
|
||||
dc_in.Bezahlt = b;
|
||||
|
||||
dc_in.UrbelegeGesendet = b;
|
||||
this.DoGkvAccountingServiceAsync(x => x.UpdateGkvAbrechnung(dc_in), vm.UpdateByDataContract, false);
|
||||
}
|
||||
|
||||
ServiceFacade.DoGkvAccountingServiceAsync(x => x.UpdateGkvAbrechnung(dc_in), dc_out =>
|
||||
{
|
||||
Dispatcher.Invoke(() => {
|
||||
vm.UpdateByDataContract(dc_out);
|
||||
});
|
||||
}, false);
|
||||
}
|
||||
private void SaveUrbelegeGesendetChange(GkvAbrechnungLightVM vm, bool b)
|
||||
{
|
||||
var dc_in = vm.CommitToDataContract();
|
||||
|
||||
private void SaveNoticeChange(GkvAbrechnungVM vm, string notice)
|
||||
{
|
||||
var dc_in = vm.CommitToDataContract();
|
||||
dc_in.UrbelegeGesendet = b;
|
||||
|
||||
ServiceFacade.DoGkvAccountingServiceAsync(x => x.UpdateGkvAbrechnung(dc_in), dc_out =>
|
||||
{
|
||||
Dispatcher.Invoke(() => {
|
||||
vm.UpdateByDataContract(dc_out);
|
||||
});
|
||||
}, false);
|
||||
}
|
||||
this.DoGkvAccountingServiceAsync(x => x.UpdateGkvAbrechnung(dc_in), vm.UpdateByDataContract, false);
|
||||
}
|
||||
|
||||
private void gridView_CellValueChanged_1(object sender, CellValueChangedEventArgs e)
|
||||
{
|
||||
if (e.Column != null && e.Column.FieldName == "Notice")
|
||||
{
|
||||
if (e.Value is string s && e.Row is GkvAbrechnungVM vm)
|
||||
{
|
||||
SaveNoticeChange(vm, s);
|
||||
}
|
||||
}
|
||||
}
|
||||
private void SaveNoticeChange(GkvAbrechnungLightVM vm, string notice)
|
||||
{
|
||||
var dc_in = vm.CommitToDataContract();
|
||||
|
||||
this.DoGkvAccountingServiceAsync(x => x.UpdateGkvAbrechnung(dc_in), vm.UpdateByDataContract, false);
|
||||
}
|
||||
|
||||
private void gridView_CellValueChanged_1(object sender, CellValueChangedEventArgs e)
|
||||
{
|
||||
if (e.Column != null && e.Column.FieldName == "Notice")
|
||||
{
|
||||
if (e.Value is string s && e.Row is GkvAbrechnungLightVM vm)
|
||||
{
|
||||
SaveNoticeChange(vm, s);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void BeWoView_Loaded(object sender, RoutedEventArgs e)
|
||||
{
|
||||
_Viewmodel.FirePropertyChangedItself();
|
||||
_Viewmodel.FirePropertyChangedItself();
|
||||
|
||||
if (_NewGkvAbrechnungPopUpView.PopupObjectList is object)
|
||||
_NewGkvAbrechnungPopUpView.PopupObjectList = null;
|
||||
if (_NewGkvAbrechnungPopUpView.PopupObjectList is object)
|
||||
_NewGkvAbrechnungPopUpView.PopupObjectList = null;
|
||||
|
||||
RefreshGkvAbrechnungenList();
|
||||
}
|
||||
RefreshGkvAbrechnungenList();
|
||||
}
|
||||
|
||||
private void Hyperlink_OnRequestNavigate(object sender, RequestNavigateEventArgs e)
|
||||
{
|
||||
var vm = datagrid_gkvAbrechnungen.GetCurrentValue<GkvAbrechnungVM>();
|
||||
private void Hyperlink_OnRequestNavigate(object sender, RequestNavigateEventArgs e)
|
||||
{
|
||||
var vm = datagrid_gkvAbrechnungen.GetCurrentValue<GkvAbrechnungLightVM>();
|
||||
|
||||
string what2send = "unterschriebene Leistungsnachweise";
|
||||
string what2send = "unterschriebene Leistungsnachweise";
|
||||
|
||||
if (vm.Verfahrensstufe != GkvVerfahrensstufe.Echt)
|
||||
what2send += " und Rechnungen";
|
||||
if (vm.Verfahrensstufe != GkvVerfahrensstufe.Echt)
|
||||
what2send += " und Rechnungen";
|
||||
|
||||
BeWoApp.ShowInfoMessage($"Begleitzettel bitte inklusive der enthaltenen Urbelege ({what2send}) ausdrucken, " +
|
||||
$"Anzahl der Urbelege noch eintragen und alles zusammen versenden.");
|
||||
BeWoApp.ShowInfoMessage($"Begleitzettel bitte inklusive der enthaltenen Urbelege ({what2send}) ausdrucken, " +
|
||||
$"Anzahl der Urbelege noch eintragen und alles zusammen versenden.");
|
||||
|
||||
BeWoUtils.NavigateToReportUri(vm.ReportLink, "Druckvorschau");
|
||||
}
|
||||
BeWoUtils.NavigateToReportUri(vm.ReportLink, "Druckvorschau");
|
||||
}
|
||||
|
||||
private void Hyperlink_OnRequestNavigate2(object sender, RequestNavigateEventArgs e)
|
||||
{
|
||||
var vm = datagrid_gkvAbrechnungen.GetCurrentValue<GkvAbrechnungVM>();
|
||||
var vm = datagrid_gkvAbrechnungen.GetCurrentValue<GkvAbrechnungLightVM>();
|
||||
|
||||
string what2send = "Leistungsnachweise";
|
||||
string what2send = "Leistungsnachweise";
|
||||
|
||||
if (vm.Verfahrensstufe != GkvVerfahrensstufe.Echt)
|
||||
what2send += " und Rechnungen";
|
||||
if (vm.Verfahrensstufe != GkvVerfahrensstufe.Echt)
|
||||
what2send += " und Rechnungen";
|
||||
|
||||
BeWoApp.ShowInfoMessage($"Begleitzettel bitte inklusive der enthaltenen Urbelege ({what2send}) ausdrucken, " +
|
||||
$"Anzahl der Urbelege noch eintragen und alles zusammen versenden.");
|
||||
BeWoApp.ShowInfoMessage($"Begleitzettel bitte inklusive der enthaltenen Urbelege ({what2send}) ausdrucken, " +
|
||||
$"Anzahl der Urbelege noch eintragen und alles zusammen versenden.");
|
||||
|
||||
BeWoUtils.NavigateToReportUri(vm.ReportLink2, "Druckvorschau");
|
||||
}
|
||||
BeWoUtils.NavigateToReportUri(vm.ReportLink2, "Druckvorschau");
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -50,21 +50,12 @@ namespace BeWo.ViewModel
|
||||
private BindingList<InvoiceBaseVM> _InvoiceBases;
|
||||
private OrganisationDC _Organisation;
|
||||
|
||||
private List<GkvTransferProtokollDC> _TransferProtokolle;
|
||||
private List<GkvTransferProtokollDC> _Protokolle;
|
||||
|
||||
public GkvAbrechnungVM(GkvAbrechnungDC pDC) : base(pDC, !pDC.GkvAbrechnungOid.HasValue)
|
||||
public GkvAbrechnungVM(GkvAbrechnungDC pDC) : base(pDC, !pDC.Oid.HasValue)
|
||||
{
|
||||
_InvoiceBases = new BindingList<InvoiceBaseVM>();
|
||||
|
||||
CheckAllInvoiceBasesCommand = new DelegateCommand(CheckAllInvoiceBases, HasAnyInvoiceBases);
|
||||
UncheckAllInvoiceBasesCommand = new DelegateCommand(UncheckAllInvoicesBases, HasAnyInvoiceBases);
|
||||
PrintSelectedInvoiceBasesCommand = new DelegateCommand(PrintSelectedInvoiceBases, HasAnySelectedInvoiceBases);
|
||||
}
|
||||
|
||||
public DelegateCommand CheckAllInvoiceBasesCommand { get; set; }
|
||||
public DelegateCommand UncheckAllInvoiceBasesCommand { get; set; }
|
||||
public DelegateCommand PrintSelectedInvoiceBasesCommand { get; set; }
|
||||
|
||||
#region
|
||||
|
||||
public string AbrechnungsZeitraum => $"{AbrechnungsZeitraumStart.Value.ToShortDateString()} - {AbrechnungsZeitraumEnde.Value.ToShortDateString()}";
|
||||
@@ -126,7 +117,7 @@ namespace BeWo.ViewModel
|
||||
if (this.AreDifferent(this._GkvAbrechnungOid, value))
|
||||
{
|
||||
this._GkvAbrechnungOid = value;
|
||||
this.StoreDirtyInformation(this.AreDifferent(this.DataContract.GkvAbrechnungOid, value), nameof(GkvAbrechnungOid));
|
||||
this.StoreDirtyInformation(this.AreDifferent(this.DataContract.Oid, value), nameof(GkvAbrechnungOid));
|
||||
this.FirePropertyChanged(nameof(GkvAbrechnungOid));
|
||||
}
|
||||
}
|
||||
@@ -140,7 +131,7 @@ namespace BeWo.ViewModel
|
||||
if (this.AreDifferent(this._GkvAbrechnungVersion, value))
|
||||
{
|
||||
this._GkvAbrechnungVersion = value;
|
||||
this.StoreDirtyInformation(this.AreDifferent(this.DataContract.GkvAbrechnungVersion, value), nameof(GkvAbrechnungVersion));
|
||||
this.StoreDirtyInformation(this.AreDifferent(this.DataContract.Version, value), nameof(GkvAbrechnungVersion));
|
||||
this.FirePropertyChanged(nameof(GkvAbrechnungVersion));
|
||||
}
|
||||
}
|
||||
@@ -233,13 +224,13 @@ namespace BeWo.ViewModel
|
||||
get { return _InvoiceBases; }
|
||||
set { _InvoiceBases = value; }
|
||||
}
|
||||
public List<GkvTransferProtokollDC> TransferProtokolle
|
||||
public List<GkvTransferProtokollDC> Protokolle
|
||||
{
|
||||
get { return _TransferProtokolle; }
|
||||
get { return _Protokolle; }
|
||||
set
|
||||
{
|
||||
_TransferProtokolle = value;
|
||||
FirePropertyChanged(nameof(TransferProtokolle));
|
||||
_Protokolle = value;
|
||||
FirePropertyChanged(nameof(Protokolle));
|
||||
FirePropertyChanged(nameof(GkvState));
|
||||
FirePropertyChanged(nameof(Fehlermeldung));
|
||||
FirePropertyChanged(nameof(LastTransferDateTime));
|
||||
@@ -287,7 +278,6 @@ namespace BeWo.ViewModel
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
public IGkvTransferProtokoll LastTransferProtokoll => TransferProtokolle?.LastOrDefault();
|
||||
|
||||
public string RecipientString
|
||||
{
|
||||
@@ -352,17 +342,20 @@ namespace BeWo.ViewModel
|
||||
}
|
||||
}
|
||||
|
||||
public IEnumerable<IGkvTransferProtokoll> TransferProtokolle => Protokolle;
|
||||
public IGkvTransferProtokoll LastTransferProtokoll => Protokolle?.LastOrDefault();
|
||||
|
||||
public bool IsFormularEnabled => LastTransferProtokoll is object ;
|
||||
public bool IsUrbelegeEditEnabled => LastTransferProtokoll is object;
|
||||
public bool IsBezahltEditEnabled => UrbelegeGesendet;
|
||||
|
||||
public GkvAbrechnungReportRequest ReportRequest
|
||||
=> new GkvAbrechnungReportRequest(DataContract.GkvAbrechnungOid.Value, false);
|
||||
=> new GkvAbrechnungReportRequest(DataContract.Oid.Value, false);
|
||||
public string ReportLink
|
||||
=> BeWoApp.SiteOfOrigin + "/ReportView.aspx" + ReportRequest.GetUrlPathString();
|
||||
|
||||
public GkvAbrechnungReportRequest ReportRequest2
|
||||
=> new GkvAbrechnungReportRequest(DataContract.GkvAbrechnungOid.Value, true);
|
||||
=> new GkvAbrechnungReportRequest(DataContract.Oid.Value, true);
|
||||
public string ReportLink2
|
||||
=> BeWoApp.SiteOfOrigin + "/ReportView.aspx" + ReportRequest2.GetUrlPathString();
|
||||
|
||||
@@ -373,7 +366,7 @@ namespace BeWo.ViewModel
|
||||
|
||||
public void UpdateByDataContract(GkvAbrechnungDC pDataContract)
|
||||
{
|
||||
GkvAbrechnungVersion = pDataContract.GkvAbrechnungVersion;
|
||||
GkvAbrechnungVersion = pDataContract.Version;
|
||||
|
||||
Notice = pDataContract.Notice;
|
||||
|
||||
@@ -393,8 +386,8 @@ namespace BeWo.ViewModel
|
||||
|
||||
_ErstelltAm = pDataContract.ErstelltAm;
|
||||
|
||||
_GkvAbrechnungOid = pDataContract.GkvAbrechnungOid;
|
||||
_GkvAbrechnungVersion = pDataContract.GkvAbrechnungVersion;
|
||||
_GkvAbrechnungOid = pDataContract.Oid;
|
||||
_GkvAbrechnungVersion = pDataContract.Version;
|
||||
|
||||
_Notice = pDataContract.Notice;
|
||||
|
||||
@@ -411,7 +404,7 @@ namespace BeWo.ViewModel
|
||||
|
||||
if (pDataContract.TransferProtokolle != null)
|
||||
{
|
||||
_TransferProtokolle = new List<GkvTransferProtokollDC>(pDataContract.TransferProtokolle);
|
||||
_Protokolle = new List<GkvTransferProtokollDC>(pDataContract.Protokolle);
|
||||
}
|
||||
|
||||
_Organisation = pDataContract.Organisation;
|
||||
@@ -426,8 +419,8 @@ namespace BeWo.ViewModel
|
||||
|
||||
pDataContract.ErstelltAm = _ErstelltAm;
|
||||
|
||||
pDataContract.GkvAbrechnungOid = _GkvAbrechnungOid;
|
||||
pDataContract.GkvAbrechnungVersion = _GkvAbrechnungVersion;
|
||||
pDataContract.Oid = _GkvAbrechnungOid;
|
||||
pDataContract.Version = _GkvAbrechnungVersion;
|
||||
|
||||
pDataContract.Notice = _Notice;
|
||||
pDataContract.Betrag = _Betrag;
|
||||
@@ -441,97 +434,9 @@ namespace BeWo.ViewModel
|
||||
pDataContract.InvoiceBases = _InvoiceBases2.Where(x => x.IsChecked).Select(vm => vm.CommitToDataContract()).ToList();
|
||||
|
||||
pDataContract.Organisation = _Organisation;
|
||||
pDataContract.TransferProtokolle = _TransferProtokolle?.ToList();
|
||||
pDataContract.Protokolle = _Protokolle?.ToList();
|
||||
|
||||
return pDataContract;
|
||||
}
|
||||
|
||||
public void SendGkvAbrechnung()
|
||||
{
|
||||
var req = new GkvAbrechnungSendRequestDC();
|
||||
|
||||
req.GkvAbrechnungOid = GkvAbrechnungOid.Value;
|
||||
|
||||
ServiceFacade.DoGkvAccountingServiceAsync(s => s.SendNewGkvAbrechnung(req),
|
||||
cb => Application.Current.Dispatch(() => UpdateBySendResponse(cb)), true);
|
||||
}
|
||||
public void UpdateBySendResponse(GkvAbrechnungSendResponseDC cb)
|
||||
{
|
||||
var dc = cb.GkvAbrechnungDC;
|
||||
|
||||
if (dc is null)
|
||||
{
|
||||
MessageBox.Show(Application.Current.MainWindow, cb.Message);
|
||||
return;
|
||||
}
|
||||
|
||||
GkvAbrechnungVersion = dc.GkvAbrechnungVersion;
|
||||
TransferProtokolle = dc.TransferProtokolle.ToList();
|
||||
|
||||
IsReady2Send = dc.IsReady2Send;
|
||||
SendTooltip = dc.SendTooltip;
|
||||
|
||||
var protokoll = cb.TransferProtokoll;
|
||||
|
||||
if (protokoll.ResultType == GkvTransferResultType.FailSoft)
|
||||
{
|
||||
MessageBox.Show(Application.Current.MainWindow, protokoll.Fehlernachricht, protokoll.Fehlertitel);
|
||||
}
|
||||
else if (protokoll.ResultType == GkvTransferResultType.FailFatal)
|
||||
{
|
||||
BeWoApp.ShowError(protokoll.Fehlertitel + ": " + protokoll.Fehlernachricht, null, false, false);
|
||||
}
|
||||
else
|
||||
{
|
||||
MessageBox.Show(Application.Current.MainWindow, "Ihre Sendung wurde korrekt übertragen");
|
||||
}
|
||||
}
|
||||
|
||||
public bool HasAnyInvoiceBases()
|
||||
{
|
||||
return InvoiceBases2 is object && InvoiceBases2.Any();
|
||||
}
|
||||
|
||||
public void CheckAllInvoiceBases()
|
||||
{
|
||||
if (!HasAnyInvoiceBases())
|
||||
return;
|
||||
|
||||
foreach (var invoice_base in InvoiceBases2)
|
||||
{
|
||||
invoice_base.IsChecked = true;
|
||||
}
|
||||
}
|
||||
|
||||
internal void UncheckAllInvoicesBases()
|
||||
{
|
||||
if (!HasAnyInvoiceBases())
|
||||
return;
|
||||
|
||||
foreach (var invoice_base in InvoiceBases2)
|
||||
{
|
||||
invoice_base.IsChecked = false;
|
||||
}
|
||||
}
|
||||
|
||||
public bool HasAnySelectedInvoiceBases()
|
||||
{
|
||||
return HasAnyInvoiceBases() && getSelectedInvoiceBases().Any();
|
||||
}
|
||||
|
||||
internal void PrintSelectedInvoiceBases()
|
||||
{
|
||||
var selected = new List<long>(getSelectedInvoiceBases());
|
||||
|
||||
if (!selected.Any())
|
||||
return;
|
||||
|
||||
ServiceFacade.DoReportServiceAsync(s => s.CreateInvoiceListReport(selected), ms => BeWoApp.MainControl.Dispatch(() => BeWoUtils.ShowReportWindow(ms, "Rechnungen")));
|
||||
}
|
||||
|
||||
private IEnumerable<long> getSelectedInvoiceBases()
|
||||
{
|
||||
return InvoiceBases2.Where(x => x.IsChecked).Select(x => x.DataContract.InvoiceBaseOid.Value);
|
||||
}
|
||||
}
|
||||
}
|
||||
521
BeWo/ViewModel/Light/GkvAbrechnungLightVM.cs
Normal file
521
BeWo/ViewModel/Light/GkvAbrechnungLightVM.cs
Normal file
@@ -0,0 +1,521 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Linq;
|
||||
using System.Windows;
|
||||
using System.Windows.Threading;
|
||||
using BeWo.Core;
|
||||
using BeWo.ServiceProxy;
|
||||
using BeWo.Validation;
|
||||
using BS.Shared;
|
||||
using BS.Shared.Core;
|
||||
using BS.Shared.DataContracts;
|
||||
using BS.Shared.DataContracts.Compact;
|
||||
using BS.Shared.DataContracts.GkvAbrechnung;
|
||||
using BS.Shared.DataContracts.Light;
|
||||
using BS.Shared.Extensions;
|
||||
using BS.Shared.Interface;
|
||||
using BS.Shared.ReportRequests;
|
||||
using DevExpress.Mvvm;
|
||||
using DevExpress.Xpf.Core;
|
||||
|
||||
namespace BeWo.ViewModel.Light
|
||||
{
|
||||
public class GkvAbrechnungLightVM : AbstractDCMapperVM<GkvAbrechnungLightDC>, IGkvAbrechnung
|
||||
{
|
||||
public static string PropertyName_AbrechnungsZeitraumStart = "AbrechnungsZeitraumStart";
|
||||
public static string PropertyName_AbrechnungsZeitraumEnde = "AbrechnungsZeitraumEnde";
|
||||
|
||||
public static string PropertyName_ErstelltAm = "ErstelltAm";
|
||||
|
||||
private long _Oid;
|
||||
private long _Version;
|
||||
private string _Notice;
|
||||
|
||||
private long _OrganisationOid;
|
||||
private string _OrganisationName;
|
||||
|
||||
private DateTime? _AbrechnungsZeitraumStart;
|
||||
private DateTime? _AbrechnungsZeitraumEnde;
|
||||
|
||||
private DateTime _ErstelltAm;
|
||||
|
||||
private decimal _Betrag;
|
||||
private bool _Bezahlt;
|
||||
private bool _UrbelegeGesendet;
|
||||
private GkvVerfahrensstufe _Verfahrensstufe;
|
||||
|
||||
internal bool _IsChecked;
|
||||
|
||||
private bool _IsReady2Send;
|
||||
private string _SendTooltip;
|
||||
|
||||
private List<GkvTransferProtokollLightDC> _Protokolle;
|
||||
|
||||
public GkvAbrechnungLightVM(GkvAbrechnungLightDC pDC) : base(pDC, false)
|
||||
{
|
||||
InvoiceBases = new BindingList<InvoiceBaseLightVM>();
|
||||
|
||||
CheckAllInvoiceBasesCommand = new DelegateCommand(CheckAllInvoiceBases, HasAnyInvoiceBases);
|
||||
UncheckAllInvoiceBasesCommand = new DelegateCommand(UncheckAllInvoicesBases, HasAnyInvoiceBases);
|
||||
PrintSelectedInvoiceBasesCommand = new DelegateCommand(PrintSelectedInvoiceBases, HasAnySelectedInvoiceBases);
|
||||
}
|
||||
|
||||
public DelegateCommand CheckAllInvoiceBasesCommand { get; set; }
|
||||
public DelegateCommand UncheckAllInvoiceBasesCommand { get; set; }
|
||||
public DelegateCommand PrintSelectedInvoiceBasesCommand { get; set; }
|
||||
|
||||
#region
|
||||
|
||||
public string AbrechnungsZeitraum => $"{AbrechnungsZeitraumStart.Value.ToShortDateString()} - {AbrechnungsZeitraumEnde.Value.ToShortDateString()}";
|
||||
|
||||
public DateTime? AbrechnungsZeitraumStart
|
||||
{
|
||||
get { return this._AbrechnungsZeitraumStart; }
|
||||
|
||||
set
|
||||
{
|
||||
if (this.AreDifferent(this._AbrechnungsZeitraumStart, value))
|
||||
{
|
||||
this._AbrechnungsZeitraumStart = value;
|
||||
this.StoreDirtyInformation(this.AreDifferent(this.DataContract.AbrechnungsZeitraumStart, value), PropertyName_AbrechnungsZeitraumStart);
|
||||
this.FirePropertyChanged(PropertyName_AbrechnungsZeitraumStart);
|
||||
|
||||
// RE893748923
|
||||
// var day = value.Value.Day;
|
||||
// AbrechnungsZeitraumEnde = value.Value.AddDays(1 - day).AddMonths(1).AddDays(-1);
|
||||
}
|
||||
}
|
||||
}
|
||||
public DateTime? AbrechnungsZeitraumEnde
|
||||
{
|
||||
get { return this._AbrechnungsZeitraumEnde; }
|
||||
|
||||
set
|
||||
{
|
||||
if (this.AreDifferent(this._AbrechnungsZeitraumEnde, value))
|
||||
{
|
||||
this._AbrechnungsZeitraumEnde = value;
|
||||
this.StoreDirtyInformation(this.AreDifferent(this.DataContract.AbrechnungsZeitraumEnde, value), PropertyName_AbrechnungsZeitraumEnde);
|
||||
this.FirePropertyChanged(PropertyName_AbrechnungsZeitraumEnde);
|
||||
}
|
||||
}
|
||||
}
|
||||
public DateTime ErstelltAm
|
||||
{
|
||||
get { return this._ErstelltAm; }
|
||||
|
||||
set
|
||||
{
|
||||
if (AreDifferent(_ErstelltAm, value))
|
||||
{
|
||||
_ErstelltAm = value;
|
||||
StoreDirtyInformation(AreDifferent(DataContract.ErstelltAm, value), nameof(ErstelltAm));
|
||||
FirePropertyChanged(nameof(ErstelltAm));
|
||||
FirePropertyChanged(nameof(ErstelltAmDate));
|
||||
}
|
||||
}
|
||||
}
|
||||
public DateTime ErstelltAmDate => ErstelltAm.Date;
|
||||
public long Oid
|
||||
{
|
||||
get { return this._Oid; }
|
||||
|
||||
set
|
||||
{
|
||||
if (this.AreDifferent(this._Oid, value))
|
||||
{
|
||||
this._Oid = value;
|
||||
this.StoreDirtyInformation(this.AreDifferent(this.DataContract.Oid, value), nameof(Oid));
|
||||
this.FirePropertyChanged(nameof(Oid));
|
||||
}
|
||||
}
|
||||
}
|
||||
public long Version
|
||||
{
|
||||
get { return this._Oid; }
|
||||
|
||||
set
|
||||
{
|
||||
if (this.AreDifferent(this._Version, value))
|
||||
{
|
||||
this._Version = value;
|
||||
this.StoreDirtyInformation(this.AreDifferent(this.DataContract.Version, value), nameof(Version));
|
||||
this.FirePropertyChanged(nameof(Version));
|
||||
}
|
||||
}
|
||||
}
|
||||
public string Notice
|
||||
{
|
||||
get { return this._Notice; }
|
||||
|
||||
set
|
||||
{
|
||||
if (this.AreDifferent(this._Notice, value))
|
||||
{
|
||||
this._Notice = value;
|
||||
this.StoreDirtyInformation(this.AreDifferent(this.DataContract.Notice, value), nameof(Notice));
|
||||
this.FirePropertyChanged(nameof(Notice));
|
||||
}
|
||||
}
|
||||
}
|
||||
public decimal Betrag
|
||||
{
|
||||
get { return this._Betrag; }
|
||||
|
||||
set
|
||||
{
|
||||
if (this.AreDifferent(this._Betrag, value))
|
||||
{
|
||||
this._Betrag = value;
|
||||
this.StoreDirtyInformation(this.AreDifferent(this.DataContract.Betrag, value), nameof(Betrag));
|
||||
this.FirePropertyChanged(nameof(Betrag));
|
||||
}
|
||||
}
|
||||
}
|
||||
public bool Bezahlt
|
||||
{
|
||||
get { return _Bezahlt; }
|
||||
|
||||
set
|
||||
{
|
||||
if (AreDifferent(this._Bezahlt, value))
|
||||
{
|
||||
_Bezahlt = value;
|
||||
StoreDirtyInformation(AreDifferent(DataContract.Bezahlt, value), nameof(Bezahlt));
|
||||
FirePropertyChanged(nameof(Bezahlt));
|
||||
FirePropertyChanged(nameof(GkvState));
|
||||
FirePropertyChanged(nameof(Fehlermeldung));
|
||||
}
|
||||
}
|
||||
}
|
||||
public bool UrbelegeGesendet
|
||||
{
|
||||
get { return _UrbelegeGesendet; }
|
||||
|
||||
set
|
||||
{
|
||||
if (!AreDifferent(_UrbelegeGesendet, value))
|
||||
return;
|
||||
_UrbelegeGesendet = value;
|
||||
StoreDirtyInformation(AreDifferent(DataContract.UrbelegeGesendet, value), nameof(UrbelegeGesendet));
|
||||
FirePropertyChanged(nameof(UrbelegeGesendet));
|
||||
FirePropertyChanged(nameof(GkvState));
|
||||
FirePropertyChanged(nameof(IsBezahltEditEnabled));
|
||||
}
|
||||
}
|
||||
public GkvState GkvState
|
||||
{
|
||||
get { return this.GetState(); }
|
||||
}
|
||||
|
||||
public bool IsChecked
|
||||
{
|
||||
get { return _IsChecked; }
|
||||
|
||||
set
|
||||
{
|
||||
if (AreDifferent(_IsChecked, value))
|
||||
{
|
||||
_IsChecked = value;
|
||||
FirePropertyChanged(nameof(IsChecked));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public BindingList<InvoiceBaseLightVM> InvoiceBases { get; set; }
|
||||
|
||||
public List<GkvTransferProtokollLightDC> Protokolle
|
||||
{
|
||||
get { return _Protokolle; }
|
||||
set
|
||||
{
|
||||
_Protokolle = value;
|
||||
FirePropertyChanged(nameof(Protokolle));
|
||||
FirePropertyChanged(nameof(GkvState));
|
||||
FirePropertyChanged(nameof(Fehlermeldung));
|
||||
FirePropertyChanged(nameof(LastTransferDateTime));
|
||||
}
|
||||
}
|
||||
public long OrganisationOid
|
||||
{
|
||||
get { return _OrganisationOid; }
|
||||
|
||||
set
|
||||
{
|
||||
if (!AreDifferent(_OrganisationOid, value))
|
||||
return;
|
||||
|
||||
_OrganisationOid = value;
|
||||
StoreDirtyInformation(this.AreDifferent(this.DataContract.OrganisationOid, value), nameof(OrganisationOid));
|
||||
FirePropertyChanged(nameof(OrganisationOid));
|
||||
}
|
||||
}
|
||||
public string OrganisationName
|
||||
{
|
||||
get { return _OrganisationName; }
|
||||
|
||||
set
|
||||
{
|
||||
if (!AreDifferent(_OrganisationName, value))
|
||||
return;
|
||||
|
||||
_OrganisationName = value;
|
||||
StoreDirtyInformation(this.AreDifferent(this.DataContract.OrganisationName, value), nameof(OrganisationName));
|
||||
FirePropertyChanged(nameof(OrganisationName));
|
||||
}
|
||||
}
|
||||
public GkvVerfahrensstufe Verfahrensstufe
|
||||
{
|
||||
get { return this._Verfahrensstufe; }
|
||||
|
||||
set
|
||||
{
|
||||
if (this.AreDifferent(this._Verfahrensstufe, value))
|
||||
{
|
||||
this._Verfahrensstufe = value;
|
||||
this.StoreDirtyInformation(this.AreDifferent(this.DataContract.Verfahrensstufe, value), nameof(Verfahrensstufe));
|
||||
this.FirePropertyChanged(nameof(Verfahrensstufe));
|
||||
}
|
||||
}
|
||||
}
|
||||
public int VerfahrensstufeInt
|
||||
{
|
||||
get { return (int)Verfahrensstufe; }
|
||||
|
||||
set
|
||||
{
|
||||
if (!AreDifferent(this.VerfahrensstufeInt, value))
|
||||
return;
|
||||
|
||||
Verfahrensstufe = (GkvVerfahrensstufe)value;
|
||||
//FirePropertyChanged(nameof(VerfahrensstufeInt));
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
|
||||
public string RecipientString
|
||||
{
|
||||
get
|
||||
{
|
||||
if (InvoiceBases != null && InvoiceBases.Any())
|
||||
{
|
||||
return InvoiceBases.First().RecipientOrganisation;
|
||||
}
|
||||
|
||||
return string.Empty;
|
||||
}
|
||||
}
|
||||
public string Fehlermeldung
|
||||
{
|
||||
get
|
||||
{
|
||||
if (!(LastTransferProtokoll is GkvTransferProtokollDC last))
|
||||
return null;
|
||||
|
||||
if (string.IsNullOrWhiteSpace(last.Fehlernachricht))
|
||||
return null;
|
||||
|
||||
if (string.IsNullOrWhiteSpace(last.Fehlertitel))
|
||||
return last.Fehlernachricht;
|
||||
|
||||
return $"{last.Fehlertitel}: {last.Fehlernachricht}";
|
||||
}
|
||||
}
|
||||
public DateTime? LastTransferDateTime
|
||||
{
|
||||
get
|
||||
{
|
||||
if (LastTransferProtokoll is GkvTransferProtokollDC last)
|
||||
return last.ErstelltAm?.Date;
|
||||
|
||||
return null;
|
||||
}
|
||||
}
|
||||
public bool IsReady2Send
|
||||
{
|
||||
get { return _IsReady2Send; }
|
||||
set
|
||||
{
|
||||
if (!AreDifferent(IsReady2Send, value))
|
||||
return;
|
||||
|
||||
_IsReady2Send = value;
|
||||
FirePropertyChanged(nameof(IsReady2Send));
|
||||
}
|
||||
}
|
||||
public string SendTooltip
|
||||
{
|
||||
get { return _SendTooltip; }
|
||||
set
|
||||
{
|
||||
if (!AreDifferent(SendTooltip, value))
|
||||
return;
|
||||
|
||||
_SendTooltip = value;
|
||||
FirePropertyChanged(nameof(SendTooltip));
|
||||
}
|
||||
}
|
||||
|
||||
public IEnumerable<IGkvTransferProtokoll> TransferProtokolle => Protokolle;
|
||||
public IGkvTransferProtokoll LastTransferProtokoll => Protokolle?.LastOrDefault();
|
||||
|
||||
public bool IsFormularEnabled => LastTransferProtokoll is object ;
|
||||
public bool IsUrbelegeEditEnabled => LastTransferProtokoll is object;
|
||||
public bool IsBezahltEditEnabled => UrbelegeGesendet;
|
||||
|
||||
public GkvAbrechnungReportRequest ReportRequest
|
||||
=> new GkvAbrechnungReportRequest(DataContract.Oid, false);
|
||||
public string ReportLink
|
||||
=> BeWoApp.SiteOfOrigin + "/ReportView.aspx" + ReportRequest.GetUrlPathString();
|
||||
|
||||
public GkvAbrechnungReportRequest ReportRequest2
|
||||
=> new GkvAbrechnungReportRequest(DataContract.Oid, true);
|
||||
public string ReportLink2
|
||||
=> BeWoApp.SiteOfOrigin + "/ReportView.aspx" + ReportRequest2.GetUrlPathString();
|
||||
|
||||
public void FirePropertyIsReady2CreateChanged()
|
||||
=> FirePropertyChanged(nameof(IsReady2Create));
|
||||
public bool IsReady2Create
|
||||
=> InvoiceBases?.Where(x => x.IsChecked).Any() ?? false;
|
||||
|
||||
public void UpdateByDataContract(GkvAbrechnungLightDC pDataContract)
|
||||
{
|
||||
Version = pDataContract.Version;
|
||||
|
||||
Notice = pDataContract.Notice;
|
||||
|
||||
Betrag = pDataContract.Betrag;
|
||||
Bezahlt = pDataContract.Bezahlt;
|
||||
|
||||
if (pDataContract.InvoiceBases != null)
|
||||
{
|
||||
var l = pDataContract.InvoiceBases.Select(x => new InvoiceBaseLightVM(x, true)).ToList();
|
||||
InvoiceBases = new BindingList<InvoiceBaseLightVM>(l);
|
||||
}
|
||||
}
|
||||
protected override void InitByDataContract(GkvAbrechnungLightDC pDataContract)
|
||||
{
|
||||
_AbrechnungsZeitraumStart = pDataContract.AbrechnungsZeitraumStart;
|
||||
_AbrechnungsZeitraumEnde = pDataContract.AbrechnungsZeitraumEnde;
|
||||
|
||||
_ErstelltAm = pDataContract.ErstelltAm;
|
||||
|
||||
_Oid = pDataContract.Oid;
|
||||
_Version = pDataContract.Version;
|
||||
|
||||
_Notice = pDataContract.Notice;
|
||||
|
||||
_Betrag = pDataContract.Betrag;
|
||||
_Bezahlt = pDataContract.Bezahlt;
|
||||
_UrbelegeGesendet = pDataContract.UrbelegeGesendet;
|
||||
_Verfahrensstufe = pDataContract.Verfahrensstufe;
|
||||
|
||||
if (pDataContract.InvoiceBases != null)
|
||||
{
|
||||
var l = pDataContract.InvoiceBases.Select(x => new InvoiceBaseLightVM(x, true)).ToList();
|
||||
InvoiceBases = new BindingList<InvoiceBaseLightVM>(l);
|
||||
}
|
||||
|
||||
if (pDataContract.Protokolle != null)
|
||||
{
|
||||
_Protokolle = new List<GkvTransferProtokollLightDC>(pDataContract.Protokolle);
|
||||
}
|
||||
|
||||
_OrganisationOid = pDataContract.OrganisationOid;
|
||||
_OrganisationName = pDataContract.OrganisationName;
|
||||
|
||||
_IsReady2Send = pDataContract.IsReady2Send;
|
||||
_SendTooltip = pDataContract.SendTooltip;
|
||||
}
|
||||
protected override GkvAbrechnungLightDC MapToDataContract(GkvAbrechnungLightDC pDataContract, bool doCommit)
|
||||
{
|
||||
pDataContract.Version = _Version;
|
||||
|
||||
pDataContract.Notice = _Notice;
|
||||
pDataContract.Betrag = _Betrag;
|
||||
pDataContract.Bezahlt = _Bezahlt;
|
||||
|
||||
return pDataContract;
|
||||
}
|
||||
|
||||
public void UpdateBySendResponse(GkvAbrechnungSendResponseDC cb)
|
||||
{
|
||||
var dc = cb.GkvAbrechnungDC;
|
||||
|
||||
if (dc is null)
|
||||
{
|
||||
MessageBox.Show(Application.Current.MainWindow, cb.Message);
|
||||
return;
|
||||
}
|
||||
|
||||
Version = dc.Version;
|
||||
Protokolle = dc.Protokolle.ToList();
|
||||
|
||||
IsReady2Send = dc.IsReady2Send;
|
||||
SendTooltip = dc.SendTooltip;
|
||||
|
||||
var protokoll = cb.TransferProtokoll;
|
||||
|
||||
if (protokoll.ResultType == GkvTransferResultType.FailSoft)
|
||||
{
|
||||
MessageBox.Show(Application.Current.MainWindow, protokoll.Fehlernachricht, protokoll.Fehlertitel);
|
||||
}
|
||||
else if (protokoll.ResultType == GkvTransferResultType.FailFatal)
|
||||
{
|
||||
BeWoApp.ShowError(protokoll.Fehlertitel + ": " + protokoll.Fehlernachricht, null, false, false);
|
||||
}
|
||||
else
|
||||
{
|
||||
MessageBox.Show(Application.Current.MainWindow, "Ihre Sendung wurde korrekt übertragen");
|
||||
}
|
||||
}
|
||||
|
||||
public bool HasAnyInvoiceBases()
|
||||
{
|
||||
return InvoiceBases is object && InvoiceBases.Any();
|
||||
}
|
||||
|
||||
public void CheckAllInvoiceBases()
|
||||
{
|
||||
if (!HasAnyInvoiceBases())
|
||||
return;
|
||||
|
||||
foreach (var invoice_base in InvoiceBases)
|
||||
{
|
||||
invoice_base.IsChecked = true;
|
||||
}
|
||||
}
|
||||
|
||||
internal void UncheckAllInvoicesBases()
|
||||
{
|
||||
if (!HasAnyInvoiceBases())
|
||||
return;
|
||||
|
||||
foreach (var invoice_base in InvoiceBases)
|
||||
{
|
||||
invoice_base.IsChecked = false;
|
||||
}
|
||||
}
|
||||
|
||||
public bool HasAnySelectedInvoiceBases()
|
||||
{
|
||||
return HasAnyInvoiceBases() && getSelectedInvoiceBases().Any();
|
||||
}
|
||||
|
||||
internal void PrintSelectedInvoiceBases()
|
||||
{
|
||||
var selected = new List<long>(getSelectedInvoiceBases());
|
||||
|
||||
if (!selected.Any())
|
||||
return;
|
||||
|
||||
ServiceFacade.DoReportServiceAsync(s => s.CreateInvoiceListReport(selected), ms => BeWoApp.MainControl.Dispatch(() => BeWoUtils.ShowReportWindow(ms, "Rechnungen")));
|
||||
}
|
||||
|
||||
private IEnumerable<long> getSelectedInvoiceBases()
|
||||
{
|
||||
return InvoiceBases.Where(x => x.IsChecked).Select(x => x.DataContract.Oid.Value);
|
||||
}
|
||||
}
|
||||
}
|
||||
312
BeWo/ViewModel/Light/InvoiceBaseLightVM.cs
Normal file
312
BeWo/ViewModel/Light/InvoiceBaseLightVM.cs
Normal file
@@ -0,0 +1,312 @@
|
||||
using BeWo.Validation;
|
||||
using BeWo.ViewModel.ListViewModel;
|
||||
using BS.Shared.DataContracts;
|
||||
using BS.Shared;
|
||||
using BS.Shared.DataContracts.Light;
|
||||
using BS.Shared.Interface;
|
||||
using BS.Shared.Translation;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using BS.Shared.Core;
|
||||
|
||||
namespace BeWo.ViewModel.Light
|
||||
{
|
||||
public class InvoiceBaseLightVM : AbstractDCMapperVM<InvoiceBaseLightDC>
|
||||
{
|
||||
private readonly Dictionary<InvoiceType, string> _TypeTranslation = new Dictionary<InvoiceType, string>
|
||||
{
|
||||
{
|
||||
InvoiceType.CustomerEquity, Translator.Translate("Eigenanteil")
|
||||
},
|
||||
{
|
||||
InvoiceType.General, Translator.Translate("Allgemein")
|
||||
},
|
||||
{
|
||||
InvoiceType.Settlement, Translator.Translate("Spitzabrechnung")
|
||||
},
|
||||
{
|
||||
InvoiceType.Service, Translator.Translate("Rechnung")
|
||||
}
|
||||
};
|
||||
|
||||
private DateTime? _AccountingPeriodEnd;
|
||||
private DateTime? _AccountingPeriodStart;
|
||||
private string _CustomerName = string.Empty;
|
||||
private string _RecipientOrganisation = string.Empty;
|
||||
private DateTime? _InvoiceDate;
|
||||
private string _InvoiceNumber = string.Empty;
|
||||
private string _InvoiceTypeText = string.Empty;
|
||||
private decimal? _TotalAmount;
|
||||
internal bool _IsPaid;
|
||||
internal bool _IsChecked;
|
||||
private string _Notice = string.Empty;
|
||||
|
||||
public InvoiceBaseLightVM(InvoiceBaseLightDC pDC, bool isChecked = false)
|
||||
: base(pDC, false)
|
||||
{
|
||||
_IsChecked = isChecked;
|
||||
}
|
||||
|
||||
public bool IsGkvValid { get; private set; }
|
||||
public string IsGkvValidError { get; private set; }
|
||||
public bool? IsAlreadyInActiveGkvAbrechnung { get; private set; }
|
||||
|
||||
public bool IsChecked
|
||||
{
|
||||
get { return _IsChecked; }
|
||||
|
||||
set
|
||||
{
|
||||
if (AreDifferent(_IsChecked, value))
|
||||
{
|
||||
_IsChecked = value;
|
||||
FirePropertyChanged("IsChecked");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
[Validation(ValidationRule = ValidationRules.NotNullOrStringEmpty)]
|
||||
public DateTime? AccountingPeriodEnd
|
||||
{
|
||||
get { return _AccountingPeriodEnd; }
|
||||
|
||||
set
|
||||
{
|
||||
if (AreDifferent(_AccountingPeriodEnd, value))
|
||||
{
|
||||
_AccountingPeriodEnd = value;
|
||||
StoreDirtyInformation(AreDifferent(DataContract.AccountingPeriodEnd, value), nameof(AccountingPeriodEnd));
|
||||
FirePropertyChanged(nameof(AccountingPeriodEnd));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
[Validation(ValidationRule = ValidationRules.NotNullOrStringEmpty)]
|
||||
public DateTime? AccountingPeriodStart
|
||||
{
|
||||
get { return _AccountingPeriodStart; }
|
||||
|
||||
set
|
||||
{
|
||||
if (AreDifferent(_AccountingPeriodStart, value))
|
||||
{
|
||||
_AccountingPeriodStart = value;
|
||||
StoreDirtyInformation(AreDifferent(DataContract.AccountingPeriodStart, value), nameof(AccountingPeriodStart));
|
||||
FirePropertyChanged(nameof(AccountingPeriodStart));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public string AccountingPeriodString
|
||||
{
|
||||
get
|
||||
{
|
||||
return _AccountingPeriodEnd.HasValue && _AccountingPeriodStart.HasValue
|
||||
? _AccountingPeriodStart.Value.ToShortDateString() + " - " + _AccountingPeriodEnd.Value.ToShortDateString()
|
||||
: string.Empty;
|
||||
}
|
||||
|
||||
set { }
|
||||
}
|
||||
|
||||
public string CustomerName
|
||||
{
|
||||
get { return _CustomerName; }
|
||||
|
||||
set
|
||||
{
|
||||
if (AreDifferent(_CustomerName, value))
|
||||
{
|
||||
_CustomerName = value;
|
||||
StoreDirtyInformation(AreDifferent(DataContract.CustomerName, value), nameof(CustomerName));
|
||||
FirePropertyChanged(nameof(CustomerName));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
[Validation(ValidationRule = ValidationRules.NotNullOrStringEmpty)]
|
||||
public DateTime? InvoiceDate
|
||||
{
|
||||
get { return _InvoiceDate; }
|
||||
|
||||
set
|
||||
{
|
||||
if (AreDifferent(_InvoiceDate, value))
|
||||
{
|
||||
_InvoiceDate = value;
|
||||
StoreDirtyInformation(AreDifferent(DataContract.InvoiceDate, value), nameof(InvoiceDate));
|
||||
FirePropertyChanged(nameof(InvoiceDate));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public string InvoiceNumber
|
||||
{
|
||||
get { return _InvoiceNumber; }
|
||||
|
||||
set
|
||||
{
|
||||
if (AreDifferent(_InvoiceNumber, value))
|
||||
{
|
||||
_InvoiceNumber = value;
|
||||
StoreDirtyInformation(AreDifferent(DataContract.InvoiceNumber, value), nameof(InvoiceNumber));
|
||||
FirePropertyChanged(nameof(InvoiceNumber));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public string InvoiceTypeText
|
||||
{
|
||||
get { return _InvoiceTypeText; }
|
||||
|
||||
set
|
||||
{
|
||||
if (AreDifferent(InvoiceTypeText, value))
|
||||
{
|
||||
_InvoiceTypeText = value;
|
||||
StoreDirtyInformation(AreDifferent(DataContract.InvoiceTypeText, value), nameof(InvoiceTypeText));
|
||||
FirePropertyChanged(nameof(InvoiceTypeText));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public bool IsPaid
|
||||
{
|
||||
get { return _IsPaid; }
|
||||
|
||||
set
|
||||
{
|
||||
if (AreDifferent(_IsPaid, value))
|
||||
{
|
||||
_IsPaid = value;
|
||||
StoreDirtyInformation(AreDifferent(DataContract.IsPaid, value), nameof(IsPaid));
|
||||
FirePropertyChanged(nameof(IsPaid));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public string Notice
|
||||
{
|
||||
get { return _Notice; }
|
||||
|
||||
set
|
||||
{
|
||||
if (AreDifferent(_Notice, value))
|
||||
{
|
||||
_Notice = value;
|
||||
StoreDirtyInformation(AreDifferent(DataContract.Notice, value), nameof(Notice));
|
||||
FirePropertyChanged(nameof(Notice));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public string RecipientOrganisation
|
||||
{
|
||||
get { return _RecipientOrganisation; }
|
||||
|
||||
set
|
||||
{
|
||||
if (AreDifferent(_RecipientOrganisation, value))
|
||||
{
|
||||
_RecipientOrganisation = value;
|
||||
StoreDirtyInformation(AreDifferent(DataContract.RecipientOrganisation, value), nameof(RecipientOrganisation));
|
||||
FirePropertyChanged(nameof(RecipientOrganisation));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public string ReportLink
|
||||
{
|
||||
get
|
||||
{
|
||||
string url = string.Empty;
|
||||
|
||||
switch (DataContract.Type)
|
||||
{
|
||||
case InvoiceType.CustomerEquity:
|
||||
url = BeWoApp.SiteOfOrigin + "/ReportView.aspx?ioid=" + DataContract.Oid + "&type=CustomerInvoice";
|
||||
break;
|
||||
case InvoiceType.General:
|
||||
url = BeWoApp.SiteOfOrigin + "/ReportView.aspx?ioid=" + DataContract.Oid + "&type=CustomerInvoice";
|
||||
break;
|
||||
case InvoiceType.Settlement:
|
||||
url = BeWoApp.SiteOfOrigin + "/ReportView.aspx?ibid=" + DataContract.Oid + "&type=" + Utils.EnumName(ReportTypes.Settlement);
|
||||
break;
|
||||
case InvoiceType.Service:
|
||||
url = BeWoApp.SiteOfOrigin + "/ReportView.aspx?ibid=" + DataContract.Oid + "&type=" + Utils.EnumName(ReportTypes.ServiceInvoice);
|
||||
break;
|
||||
default:
|
||||
url = string.Empty;
|
||||
break;
|
||||
}
|
||||
|
||||
return url;
|
||||
}
|
||||
}
|
||||
|
||||
public decimal? TotalAmount
|
||||
{
|
||||
get { return _TotalAmount; }
|
||||
|
||||
set
|
||||
{
|
||||
if (AreDifferent(_TotalAmount, value))
|
||||
{
|
||||
_TotalAmount = value;
|
||||
StoreDirtyInformation(AreDifferent(DataContract.TotalAmount, value), nameof(TotalAmount));
|
||||
FirePropertyChanged(nameof(TotalAmount));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public string TypeString
|
||||
{
|
||||
get
|
||||
{
|
||||
if (!String.IsNullOrEmpty(DataContract.InvoiceTypeText))
|
||||
{
|
||||
return DataContract.InvoiceTypeText;
|
||||
}
|
||||
return _TypeTranslation[DataContract.Type];
|
||||
}
|
||||
}
|
||||
|
||||
public String BackgroundColor
|
||||
{
|
||||
get; set;
|
||||
}
|
||||
|
||||
protected override void InitByDataContract(InvoiceBaseLightDC pDataContract)
|
||||
{
|
||||
// private DateTime? _AccountingPeriodEnd;
|
||||
//private DateTime? _AccountingPeriodStart;
|
||||
//private string _CustomerName = string.Empty;
|
||||
//private string _RecipientOrganisation = string.Empty;
|
||||
//private string InvoiceTypeText = string.Empty;
|
||||
//private DateTime _InvoiceDate;
|
||||
_AccountingPeriodStart = pDataContract.AccountingPeriodStart;
|
||||
_AccountingPeriodEnd = pDataContract.AccountingPeriodEnd;
|
||||
_CustomerName = pDataContract.CustomerName;
|
||||
_RecipientOrganisation = pDataContract.RecipientOrganisation;
|
||||
_IsPaid = pDataContract.IsPaid;
|
||||
_InvoiceTypeText = pDataContract.InvoiceTypeText;
|
||||
_InvoiceNumber = pDataContract.InvoiceNumber;
|
||||
_InvoiceDate = pDataContract.InvoiceDate;
|
||||
_AccountingPeriodEnd = pDataContract.AccountingPeriodEnd;
|
||||
_AccountingPeriodStart = pDataContract.AccountingPeriodStart;
|
||||
_Notice = pDataContract.Notice;
|
||||
_TotalAmount = pDataContract.TotalAmount;
|
||||
}
|
||||
|
||||
protected override InvoiceBaseLightDC MapToDataContract(InvoiceBaseLightDC pDataContract, bool doCommit)
|
||||
{
|
||||
pDataContract.IsPaid = _IsPaid;
|
||||
pDataContract.Notice = _Notice;
|
||||
|
||||
return pDataContract;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,60 +1,62 @@
|
||||
using System.Collections.Generic;
|
||||
using BS.Shared.Core;
|
||||
using BS.Shared.DataContracts;
|
||||
using BS.Shared.DataContracts.GkvAbrechnung;
|
||||
|
||||
namespace BeWo.ViewModel.ListViewModel
|
||||
{
|
||||
public class GkvAbrechnungListVM : AbstractDCListMapperVM<GkvAbrechnungDC, GkvAbrechnungVM>
|
||||
{
|
||||
public static string PropertyName_DateTimeSpanFilter = "DateTimeSpanFilter";
|
||||
|
||||
public static string PropertyName_FilterResultAmountSum = "FilterResultAmountSum";
|
||||
public static string PropertyName_FilterResultAmountNotPaidSum = "FilterResultAmountNotPaidSum";
|
||||
|
||||
private DateTimeSpan _DateTimeSpanFilter;
|
||||
|
||||
public GkvAbrechnungListVM(List<GkvAbrechnungDC> pDCList) : base(pDCList)
|
||||
{
|
||||
this.VMList.ListChanged += (s, e) => this.FirePropertyChanged(PropertyName_FilterResultAmountSum);
|
||||
this.VMList.ListChanged += (s, e) => this.FirePropertyChanged(PropertyName_FilterResultAmountNotPaidSum);
|
||||
}
|
||||
public GkvAbrechnungListVM() : this(null)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public DateTimeSpan DateTimeSpanFilter
|
||||
{
|
||||
get
|
||||
{
|
||||
return this._DateTimeSpanFilter;
|
||||
}
|
||||
|
||||
set
|
||||
{
|
||||
if (this.AreDifferent(this._DateTimeSpanFilter, value))
|
||||
{
|
||||
this._DateTimeSpanFilter = value;
|
||||
this.FirePropertyChanged(PropertyName_DateTimeSpanFilter);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
internal void UpdateList(IList<GkvAbrechnungDC> dcList)
|
||||
{
|
||||
VMList.Clear();
|
||||
|
||||
if (dcList is object)
|
||||
foreach (var dc in dcList)
|
||||
{
|
||||
VMList.Add(CreateVM(dc));
|
||||
}
|
||||
|
||||
FirePropertyChanged(PropertyName_FilterResultAmountSum);
|
||||
FirePropertyChanged(PropertyName_FilterResultAmountNotPaidSum);
|
||||
}
|
||||
|
||||
internal void ClearList() => UpdateList(null);
|
||||
}
|
||||
using System.Collections.Generic;
|
||||
using BeWo.ViewModel.Light;
|
||||
using BS.Shared.Core;
|
||||
using BS.Shared.DataContracts;
|
||||
using BS.Shared.DataContracts.GkvAbrechnung;
|
||||
using BS.Shared.DataContracts.Light;
|
||||
|
||||
namespace BeWo.ViewModel.ListViewModel.Light
|
||||
{
|
||||
public class GkvAbrechnungLightListVM : AbstractDCListMapperVM<GkvAbrechnungLightDC, GkvAbrechnungLightVM>
|
||||
{
|
||||
public static string PropertyName_DateTimeSpanFilter = "DateTimeSpanFilter";
|
||||
|
||||
public static string PropertyName_FilterResultAmountSum = "FilterResultAmountSum";
|
||||
public static string PropertyName_FilterResultAmountNotPaidSum = "FilterResultAmountNotPaidSum";
|
||||
|
||||
private DateTimeSpan _DateTimeSpanFilter;
|
||||
|
||||
public GkvAbrechnungLightListVM(List<GkvAbrechnungLightDC> pDCList) : base(pDCList)
|
||||
{
|
||||
this.VMList.ListChanged += (s, e) => this.FirePropertyChanged(PropertyName_FilterResultAmountSum);
|
||||
this.VMList.ListChanged += (s, e) => this.FirePropertyChanged(PropertyName_FilterResultAmountNotPaidSum);
|
||||
}
|
||||
public GkvAbrechnungLightListVM() : this(null)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public DateTimeSpan DateTimeSpanFilter
|
||||
{
|
||||
get
|
||||
{
|
||||
return this._DateTimeSpanFilter;
|
||||
}
|
||||
|
||||
set
|
||||
{
|
||||
if (this.AreDifferent(this._DateTimeSpanFilter, value))
|
||||
{
|
||||
this._DateTimeSpanFilter = value;
|
||||
this.FirePropertyChanged(PropertyName_DateTimeSpanFilter);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
internal void UpdateList(IList<GkvAbrechnungLightDC> dcList)
|
||||
{
|
||||
VMList.Clear();
|
||||
|
||||
if (dcList is object)
|
||||
foreach (var dc in dcList)
|
||||
{
|
||||
VMList.Add(CreateVM(dc));
|
||||
}
|
||||
|
||||
FirePropertyChanged(PropertyName_FilterResultAmountSum);
|
||||
FirePropertyChanged(PropertyName_FilterResultAmountNotPaidSum);
|
||||
}
|
||||
|
||||
internal void ClearList() => UpdateList(null);
|
||||
}
|
||||
}
|
||||
@@ -10,12 +10,16 @@ namespace BeWo.Data.Access
|
||||
/// Kleiner Fix bzgl Threadsafe
|
||||
private static readonly Lazy<AdoDAO> _AdoDAO = new Lazy<AdoDAO>(() => new AdoDAO());
|
||||
private static readonly Lazy<GenericDAO> _GenericDAO = new Lazy<GenericDAO>(() => new GenericDAO());
|
||||
private static readonly Lazy<FinanceDAO> _FinanceDAO = new Lazy<FinanceDAO>(() => new FinanceDAO());
|
||||
private static readonly Lazy<OrganisationDAO> _OrganisationDAO = new Lazy<OrganisationDAO>(() => new OrganisationDAO());
|
||||
private static readonly Lazy<ScriptDAO> _ScriptDAO = new Lazy<ScriptDAO>(() => new ScriptDAO());
|
||||
private static readonly Lazy<SearchDAO> _SearchDAO = new Lazy<SearchDAO>(() => new SearchDAO());
|
||||
private static readonly Lazy<UserDAO> _UserDAO = new Lazy<UserDAO>(() => new UserDAO());
|
||||
|
||||
public static AdoDAO AdoDAO => _AdoDAO.Value;
|
||||
public static GenericDAO GenericDAO => _GenericDAO.Value;
|
||||
public static FinanceDAO FinanceDAO => _FinanceDAO.Value;
|
||||
public static OrganisationDAO OrganisationDAO => _OrganisationDAO.Value;
|
||||
public static ScriptDAO ScriptDAO => _ScriptDAO.Value;
|
||||
public static SearchDAO SearchDAO => _SearchDAO.Value;
|
||||
public static UserDAO UserDAO => _UserDAO.Value;
|
||||
|
||||
101
Data/Access/FinanceDAO.cs
Normal file
101
Data/Access/FinanceDAO.cs
Normal file
@@ -0,0 +1,101 @@
|
||||
using BeWo.Data.Entities;
|
||||
using BS.Shared.DataContracts.GkvAbrechnung;
|
||||
using BS.Shared.DataContracts;
|
||||
using NHibernate.Criterion;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using BS.Shared.Interface;
|
||||
using BeWo.Data.Entities.Light;
|
||||
using BS.Shared;
|
||||
|
||||
namespace BeWo.Data.Access
|
||||
{
|
||||
/// <summary>
|
||||
///
|
||||
/// Ggf Gkv in eigene DAO auslagern
|
||||
///
|
||||
/// </summary>
|
||||
public class FinanceDAO : AbstractBaseDAO
|
||||
{
|
||||
public bool HaveIKDatenannahmestelleChanged(IGkvAbrechnung gkvAbrechnung, string ikdatenannahmestelle)
|
||||
{
|
||||
if (gkvAbrechnung.TransferProtokolle is IEnumerable<IGkvTransferProtokoll> list && list.Any())
|
||||
{
|
||||
var last_prot_w_daten = list.Select(x => x.IKDatenannahmestelle).Where((x) => !string.IsNullOrEmpty(x)).LastOrDefault();
|
||||
|
||||
if (!string.IsNullOrEmpty(last_prot_w_daten) && last_prot_w_daten != ikdatenannahmestelle)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public IEnumerable<GkvAbrechnungLight> GetGkvAbrechnungen(DateTime? startDate, DateTime? endDate, bool useInvoiceDate = true)
|
||||
{
|
||||
if (endDate.HasValue)
|
||||
endDate = endDate.Value.Date.AddDays(1).AddMilliseconds(-1);
|
||||
|
||||
var lCriteria = CreateCriteriaIsActive<GkvAbrechnungLight>();
|
||||
if (useInvoiceDate)
|
||||
{
|
||||
if (startDate.HasValue)
|
||||
lCriteria.Add(Restrictions.Ge(nameof(GkvAbrechnungLight.ErstelltAm), startDate));
|
||||
if (endDate.HasValue)
|
||||
lCriteria.Add(Restrictions.Le(nameof(GkvAbrechnungLight.ErstelltAm), endDate));
|
||||
}
|
||||
else
|
||||
{
|
||||
if (startDate.HasValue)
|
||||
lCriteria.Add(Restrictions.Ge(nameof(GkvAbrechnungLight.AbrechnungsZeitraumEnde), startDate));
|
||||
if (endDate.HasValue)
|
||||
lCriteria.Add(Restrictions.Le(nameof(GkvAbrechnungLight.AbrechnungsZeitraumStart), endDate));
|
||||
}
|
||||
|
||||
return lCriteria.List<GkvAbrechnungLight>();
|
||||
}
|
||||
|
||||
public IEnumerable<GkvTransferProtokoll> GetGkvTransferProtokollByDateRange(DateTime? start, DateTime? end)
|
||||
{
|
||||
var lCriteria = CreateCriteria<GkvTransferProtokoll>();
|
||||
|
||||
if (start.HasValue)
|
||||
lCriteria.Add(Restrictions.Ge(nameof(GkvTransferProtokoll.ErstelltAm), start));
|
||||
if (end.HasValue)
|
||||
lCriteria.Add(Restrictions.Le(nameof(GkvTransferProtokoll.ErstelltAm), end));
|
||||
|
||||
return lCriteria.List<GkvTransferProtokoll>();
|
||||
}
|
||||
|
||||
public long GetGkvParentByProtokollOid(long oid)
|
||||
{
|
||||
return oid;
|
||||
}
|
||||
|
||||
public string GetGkvRawData(long oid, GkvRawDataType gkvRawData)
|
||||
{
|
||||
var criteria = CreateCriteria<GkvTransferProtokoll>()
|
||||
.Add(Restrictions.Where<GkvTransferProtokoll>(x => x.Oid == oid));
|
||||
|
||||
if (gkvRawData == GkvRawDataType.Auftragsdatei)
|
||||
{
|
||||
criteria = criteria.SetProjection(Projections.Property(nameof(GkvTransferProtokoll.Auftragsdatei)));
|
||||
}
|
||||
else if (gkvRawData == GkvRawDataType.Nutzdatendatei)
|
||||
{
|
||||
criteria = criteria.SetProjection(Projections.Property(nameof(GkvTransferProtokoll.Nutzdatendatei)));
|
||||
}
|
||||
else
|
||||
{
|
||||
throw new ArgumentOutOfRangeException(nameof(gkvRawData), $"GkvRawDataType \'{gkvRawData}\' unbekannt.");
|
||||
}
|
||||
|
||||
var t = criteria.List<string>().SingleOrDefault();
|
||||
|
||||
return t;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -3,9 +3,9 @@ using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Windows.Forms.VisualStyles;
|
||||
using BeWo.Data.Entities;
|
||||
|
||||
using BeWo.Data.Entities.Light;
|
||||
using BS.Shared;
|
||||
|
||||
using BS.Shared.DataContracts.Light;
|
||||
using NHibernate;
|
||||
using NHibernate.Bytecode;
|
||||
using NHibernate.Criterion;
|
||||
@@ -131,7 +131,10 @@ namespace BeWo.Data.Access
|
||||
|
||||
public virtual void Insert(BeWoEntityBase pEntity)
|
||||
{
|
||||
try
|
||||
if (pEntity is LightEntity)
|
||||
throw new InvalidOperationException("Cannot insert LightEntity, only update! str:" + pEntity.ToString());
|
||||
|
||||
try
|
||||
{
|
||||
ISession session = Session;
|
||||
if (session == null)
|
||||
@@ -163,7 +166,10 @@ namespace BeWo.Data.Access
|
||||
{
|
||||
foreach (BeWoEntityBase iEntity in pEntitys)
|
||||
{
|
||||
this.Session.Save(iEntity);
|
||||
if (iEntity is LightEntity)
|
||||
throw new InvalidOperationException("Cannot insert LightEntity, only update! str:" + iEntity.ToString());
|
||||
|
||||
this.Session.Save(iEntity);
|
||||
}
|
||||
|
||||
lTransaction.Commit();
|
||||
|
||||
41
Data/Access/OrganisationDAO.cs
Normal file
41
Data/Access/OrganisationDAO.cs
Normal file
@@ -0,0 +1,41 @@
|
||||
using BeWo.Data.Entities;
|
||||
using BeWo.Data.Entities.Light;
|
||||
using BS.Shared.Core;
|
||||
using NHibernate.Criterion;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace BeWo.Data.Access
|
||||
{
|
||||
public class OrganisationDAO : AbstractBaseDAO
|
||||
{
|
||||
public IList<Organisation> GetAllOrganisation2PersonRelations(long personOid)
|
||||
{
|
||||
var c = CreateCriteriaIsActive<Person>()
|
||||
.Add(Restrictions.Eq(BeWoEntityBase.PropertyName_Oid, personOid)).UniqueResult<Person>().Organisation2Persons.Select(s => s.Organisation).ToList();
|
||||
return c;
|
||||
}
|
||||
|
||||
public List<Organisation> GetAllOrganisationByIKKrankenkasse(string ikkrankenkasse)
|
||||
{
|
||||
var criteria = CreateCriteria<Organisation>()
|
||||
.Add(Restrictions.Where<Organisation>(x => x.IKKrankenkasse == ikkrankenkasse));
|
||||
|
||||
return criteria.List<Organisation>().ToList();
|
||||
}
|
||||
|
||||
public virtual IEnumerable<Organisation> FindOrganisation(string pName, bool pOnlyCostBearer)
|
||||
{
|
||||
var lCriteria = CreateCriteria<Organisation>()
|
||||
.Add(Restrictions.Like(Organisation.PropertyName_Name, pName, MatchMode.Anywhere));
|
||||
|
||||
if (pOnlyCostBearer)
|
||||
lCriteria.Add(Restrictions.IsNotNull(Organisation.PropertyName_CostBearer));
|
||||
|
||||
return lCriteria.List<Organisation>();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -132,17 +132,6 @@ namespace BeWo.Data.Access
|
||||
return lCriteria.List<Person>();
|
||||
}
|
||||
|
||||
public virtual IEnumerable<Organisation> FindOrganisation(string pName, bool pOnlyCostBearer)
|
||||
{
|
||||
var lCriteria = CreateCriteria<Organisation>()
|
||||
.Add(Restrictions.Like(Organisation.PropertyName_Name, pName, MatchMode.Anywhere));
|
||||
|
||||
if (pOnlyCostBearer)
|
||||
lCriteria.Add(Restrictions.IsNotNull(Organisation.PropertyName_CostBearer));
|
||||
|
||||
return lCriteria.List<Organisation>();
|
||||
}
|
||||
|
||||
public virtual IEnumerable<Team> FindTeams(string pTeamName, string pLeaderFirstName, string pLeaderLastName)
|
||||
{
|
||||
return CreateCriteria<Team>()
|
||||
@@ -1758,42 +1747,6 @@ WHERE sc.Billable = 1 and sr.StartDate >= '{0:yyyy-MM-dd}' and sr.StartDate < '{
|
||||
return lCriteria.List<InvoiceBase>();
|
||||
}
|
||||
|
||||
public IEnumerable<GkvAbrechnung> GetGkvAbrechnungen(DateTime? startDate, DateTime? endDate, bool useInvoiceDate = true)
|
||||
{
|
||||
if (endDate.HasValue)
|
||||
endDate = endDate.Value.Date.AddDays(1).AddMilliseconds(-1);
|
||||
|
||||
var lCriteria = CreateCriteriaIsActive<GkvAbrechnung>();
|
||||
if (useInvoiceDate)
|
||||
{
|
||||
if (startDate.HasValue)
|
||||
lCriteria.Add(Restrictions.Ge(nameof(GkvAbrechnung.ErstelltAm), startDate));
|
||||
if (endDate.HasValue)
|
||||
lCriteria.Add(Restrictions.Le(nameof(GkvAbrechnung.ErstelltAm), endDate));
|
||||
}
|
||||
else
|
||||
{
|
||||
if (startDate.HasValue)
|
||||
lCriteria.Add(Restrictions.Ge(nameof(GkvAbrechnung.AbrechnungsZeitraumEnde), startDate));
|
||||
if (endDate.HasValue)
|
||||
lCriteria.Add(Restrictions.Le(nameof(GkvAbrechnung.AbrechnungsZeitraumStart), endDate));
|
||||
}
|
||||
|
||||
return lCriteria.List<GkvAbrechnung>();
|
||||
}
|
||||
|
||||
public IEnumerable<GkvTransferProtokoll> GetGkvTransferProtokollByDateRange(DateTime? start, DateTime? end)
|
||||
{
|
||||
var lCriteria = CreateCriteria<GkvTransferProtokoll>();
|
||||
|
||||
if (start.HasValue)
|
||||
lCriteria.Add(Restrictions.Ge(nameof(GkvTransferProtokoll.ErstelltAm), start));
|
||||
if (end.HasValue)
|
||||
lCriteria.Add(Restrictions.Le(nameof(GkvTransferProtokoll.ErstelltAm), end));
|
||||
|
||||
return lCriteria.List<GkvTransferProtokoll>();
|
||||
}
|
||||
|
||||
public IEnumerable<InvoiceBase> GetInvoiceBases(DateTime? startDate, DateTime? endDate, long costBearerOid, String invoiceId)
|
||||
{
|
||||
var lCriteria = CreateCriteriaIsActive<InvoiceBase>();
|
||||
@@ -2559,15 +2512,6 @@ WHERE sc.Billable = 1 and sr.StartDate >= '{0:yyyy-MM-dd}' and sr.StartDate < '{
|
||||
return c.UniqueResult<NewestChatMessage>();
|
||||
}
|
||||
|
||||
public IList<Organisation> GetAllOrganisation2PersonRelations(long personOid)
|
||||
{
|
||||
var c = CreateCriteriaIsActive<Person>()
|
||||
.Add(Restrictions.Eq(BeWoEntityBase.PropertyName_Oid, personOid)).UniqueResult<Person>().Organisation2Persons.Select(s => s.Organisation).ToList();
|
||||
|
||||
|
||||
return c;
|
||||
}
|
||||
|
||||
public IList<Person> GetAllPerson2OrganisationRelations(long organisationOid)
|
||||
{
|
||||
var c = CreateCriteriaIsActive<Organisation>()
|
||||
@@ -6052,14 +5996,6 @@ WHERE sc.Billable = 1 and sr.StartDate >= '{0:yyyy-MM-dd}' and sr.StartDate < '{
|
||||
return t + 1 ?? 0;
|
||||
}
|
||||
|
||||
public List<Organisation> GetAllOrganisationByIKKrankenkasse(string ikkrankenkasse)
|
||||
{
|
||||
var criteria = CreateCriteria<Organisation>()
|
||||
.Add(Restrictions.Where<Organisation>(x => x.IKKrankenkasse == ikkrankenkasse));
|
||||
|
||||
return criteria.List<Organisation>().ToList();
|
||||
}
|
||||
|
||||
public List<Bargeldtransaktionshistory> LoadBargeldtransaktionshistoryEntriesByTransaktionsOids(List<long> transaktionsOids)
|
||||
{
|
||||
var criteria = CreateCriteriaIsActive<Bargeldtransaktionshistory>()
|
||||
@@ -6209,28 +6145,5 @@ WHERE sc.Billable = 1 and sr.StartDate >= '{0:yyyy-MM-dd}' and sr.StartDate < '{
|
||||
var q = Session.CreateSQLQuery(sql);
|
||||
return q.List<long>().First();
|
||||
}
|
||||
|
||||
public string GetGkvRawData(long oid, GkvRawDataType gkvRawData)
|
||||
{
|
||||
var criteria = CreateCriteria<GkvTransferProtokoll>()
|
||||
.Add(Restrictions.Where<GkvTransferProtokoll>(x => x.Oid == oid));
|
||||
|
||||
if(gkvRawData == GkvRawDataType.Auftragsdatei)
|
||||
{
|
||||
criteria = criteria.SetProjection(Projections.Property(nameof(GkvTransferProtokoll.Auftragsdatei)));
|
||||
}
|
||||
else if(gkvRawData == GkvRawDataType.Nutzdatendatei)
|
||||
{
|
||||
criteria = criteria.SetProjection(Projections.Property(nameof(GkvTransferProtokoll.Nutzdatendatei)));
|
||||
}
|
||||
else
|
||||
{
|
||||
throw new ArgumentOutOfRangeException(nameof(gkvRawData), $"GkvRawDataType \'{gkvRawData}\' unbekannt.");
|
||||
}
|
||||
|
||||
var t = criteria.List<string>().SingleOrDefault();
|
||||
|
||||
return t;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -212,6 +212,8 @@
|
||||
<Compile Include="Access\AdoDAO.cs" />
|
||||
<Compile Include="Access\DAOFactory.cs" />
|
||||
<Compile Include="Access\GenericDAO.cs" />
|
||||
<Compile Include="Access\FinanceDAO.cs" />
|
||||
<Compile Include="Access\OrganisationDAO.cs" />
|
||||
<Compile Include="Access\ScriptDAO.cs" />
|
||||
<Compile Include="Access\SearchDAO.cs" />
|
||||
<Compile Include="Access\UserDAO.cs" />
|
||||
@@ -220,6 +222,11 @@
|
||||
<Compile Include="Entities\AiSettings.cs" />
|
||||
<Compile Include="Entities\CustomerVermittlungArbeit.cs" />
|
||||
<Compile Include="Entities\CustomerWohnhilfe.cs" />
|
||||
<Compile Include="Entities\Light\GkvAbrechnungLight.cs" />
|
||||
<Compile Include="Entities\Light\GkvTransferProtokollLight.cs" />
|
||||
<Compile Include="Entities\Light\InvoiceBaseLight.cs" />
|
||||
<Compile Include="Entities\Light\LightEntity.cs" />
|
||||
<Compile Include="Entities\Light\OrganisationLight.cs" />
|
||||
<Compile Include="Entities\TwoFactorCode.cs" />
|
||||
<Compile Include="Entities\AbwesenheitsInformationPrint.cs" />
|
||||
<Compile Include="Entities\AddressHistory.cs" />
|
||||
|
||||
@@ -28,6 +28,7 @@ namespace BeWo.Data.Entities
|
||||
public virtual IList<InvoiceBase> InvoiceBases { get; set; }
|
||||
public virtual IList<GkvTransferProtokoll> GkvTransferProtokolle { get; set; }
|
||||
|
||||
public virtual IGkvTransferProtokoll LastTransferProtokoll => GkvTransferProtokolle?.LastOrDefault();
|
||||
}
|
||||
public virtual IEnumerable<IGkvTransferProtokoll> TransferProtokolle => GkvTransferProtokolle;
|
||||
public virtual IGkvTransferProtokoll LastTransferProtokoll => GkvTransferProtokolle?.LastOrDefault();
|
||||
}
|
||||
}
|
||||
31
Data/Entities/Light/GkvAbrechnungLight.cs
Normal file
31
Data/Entities/Light/GkvAbrechnungLight.cs
Normal file
@@ -0,0 +1,31 @@
|
||||
using BS.Shared.DataContracts.Light;
|
||||
using BS.Shared.Interface;
|
||||
using BS.Shared;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Runtime.Serialization;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using BS.Shared.DataContracts.GkvAbrechnung;
|
||||
|
||||
namespace BeWo.Data.Entities.Light
|
||||
{
|
||||
public class GkvAbrechnungLight : LightEntity, IGkvAbrechnung
|
||||
{
|
||||
public virtual DateTime ErstelltAm { get; set; }
|
||||
public virtual decimal Betrag { get; set; }
|
||||
public virtual long OrganisationOid { get; set; }
|
||||
public virtual string OrganisationName { get; set; }
|
||||
public virtual DateTime? AbrechnungsZeitraumStart { get; set; }
|
||||
public virtual DateTime? AbrechnungsZeitraumEnde { get; set; }
|
||||
public virtual bool UrbelegeGesendet { get; set; }
|
||||
public virtual bool Bezahlt { get; set; }
|
||||
public virtual GkvVerfahrensstufe Verfahrensstufe { get; set; }
|
||||
public virtual IList<InvoiceBaseLight> InvoiceBases { get; set; }
|
||||
public virtual IList<GkvTransferProtokollLight> Protokolle { get; set; }
|
||||
|
||||
public virtual IEnumerable<IGkvTransferProtokoll> TransferProtokolle => Protokolle;
|
||||
public virtual IGkvTransferProtokoll LastTransferProtokoll => Protokolle?.LastOrDefault();
|
||||
}
|
||||
}
|
||||
38
Data/Entities/Light/GkvTransferProtokollLight.cs
Normal file
38
Data/Entities/Light/GkvTransferProtokollLight.cs
Normal file
@@ -0,0 +1,38 @@
|
||||
using BS.Shared;
|
||||
using BS.Shared.Interface;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Runtime.Serialization;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace BeWo.Data.Entities.Light
|
||||
{
|
||||
public class GkvTransferProtokollLight : LightEntity, IGkvTransferProtokoll
|
||||
{
|
||||
public virtual long GkvAbrechnungOid { get; set; }
|
||||
public virtual string AbsenderBezeichnung { get; set; }
|
||||
public virtual string EmpfangerBezeichnung { get; set; }
|
||||
public virtual string IKLeistungserbringer { get; set; }
|
||||
public virtual string IKKrankenkasse { get; set; }
|
||||
public virtual string IKKostentrager { get; set; }
|
||||
public virtual string IKDatenannahmestelle { get; set; }
|
||||
public virtual string Rechnungsnummer { get; set; }
|
||||
public virtual int Datenaustauschreferenz { get; set; }
|
||||
public virtual int Transfernummer { get; set; }
|
||||
public virtual string Transfername { get; set; }
|
||||
public virtual DateTime? ErstelltAm { get; set; }
|
||||
public virtual string Dateityp { get; set; }
|
||||
public virtual string Dateiname { get; set; }
|
||||
public virtual int Dateigrosse { get; set; }
|
||||
public virtual bool SentApp8Success { get; set; }
|
||||
public virtual bool SentDakotaSuccess { get; set; }
|
||||
public virtual GkvTransferResultType? ResultType { get; set; }
|
||||
public virtual string Fehlertitel { get; set; }
|
||||
public virtual DateTime? Fehlerdatum { get; set; }
|
||||
public virtual string Fehlernachricht { get; set; }
|
||||
|
||||
public string BezDatenannahmestelle => EmpfangerBezeichnung;
|
||||
}
|
||||
}
|
||||
24
Data/Entities/Light/InvoiceBaseLight.cs
Normal file
24
Data/Entities/Light/InvoiceBaseLight.cs
Normal file
@@ -0,0 +1,24 @@
|
||||
using BS.Shared;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Runtime.Serialization;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace BeWo.Data.Entities.Light
|
||||
{
|
||||
public class InvoiceBaseLight : LightEntity
|
||||
{
|
||||
public virtual DateTime? AccountingPeriodEnd { get; set; }
|
||||
public virtual DateTime? AccountingPeriodStart { get; set; }
|
||||
public virtual string CustomerName { get; set; }
|
||||
public virtual string RecipientOrganisation { get; set; }
|
||||
public virtual InvoiceType Type { get; set; }
|
||||
public virtual string InvoiceTypeText { get; set; }
|
||||
public virtual DateTime? InvoiceDate { get; set; }
|
||||
public virtual string InvoiceNumber { get; set; }
|
||||
public virtual decimal? TotalAmount { get; set; }
|
||||
public virtual bool IsPaid { get; set; }
|
||||
}
|
||||
}
|
||||
13
Data/Entities/Light/LightEntity.cs
Normal file
13
Data/Entities/Light/LightEntity.cs
Normal file
@@ -0,0 +1,13 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace BeWo.Data.Entities.Light
|
||||
{
|
||||
public class LightEntity : BeWoEntityBase
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
19
Data/Entities/Light/OrganisationLight.cs
Normal file
19
Data/Entities/Light/OrganisationLight.cs
Normal file
@@ -0,0 +1,19 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Diagnostics;
|
||||
using BS.Shared;
|
||||
using BS.Shared.Interface;
|
||||
|
||||
namespace BeWo.Data.Entities.Light
|
||||
{
|
||||
[DebuggerDisplay("{Name}")]
|
||||
public class OrganisationLight : LightEntity, IOrganisation
|
||||
{
|
||||
public virtual long OrganisationOid { get; set; }
|
||||
public virtual long OrganisationVersion { get; set; }
|
||||
public virtual string Name { get; set; }
|
||||
public virtual string IKKrankenkasse { get; set; }
|
||||
public virtual string IKKostentrager { get; set; }
|
||||
public virtual string IKDatenannahmestelle { get; set; }
|
||||
public virtual string BezDatenannahmestelle { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -1,11 +1,12 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Diagnostics;
|
||||
using BS.Shared;
|
||||
using BS.Shared.Interface;
|
||||
|
||||
namespace BeWo.Data.Entities
|
||||
{
|
||||
[DebuggerDisplay("{Name}")]
|
||||
public class Organisation : BeWoEntityBase
|
||||
public class Organisation : BeWoEntityBase, IOrganisation
|
||||
{
|
||||
public static string PropertyName_Address = "Address";
|
||||
|
||||
|
||||
@@ -1,71 +1,71 @@
|
||||
using System.Linq;
|
||||
|
||||
using BeWo.Data.Access;
|
||||
using BeWo.Data.Entities;
|
||||
|
||||
using BS.Shared.DataContracts.Compact;
|
||||
using BS.Shared.Extensions;
|
||||
|
||||
namespace BeWo.Service.DCEntityMapper
|
||||
{
|
||||
public class CompactCustomerDC_Customer : AbstractIDCEntityMapper<Customer, CompactCustomerDC>
|
||||
{
|
||||
public override CompactCustomerDC MergeWithDC(Customer pEntity, CompactCustomerDC pDataContract)
|
||||
{
|
||||
pDataContract.CustomerOid = pEntity.Oid.Value;
|
||||
pDataContract.PersonOid = pEntity.Person.Oid.Value;
|
||||
pDataContract.CustomerVersion = pEntity.Version.Value;
|
||||
pDataContract.FirstName = pEntity.Person.FirstName;
|
||||
pDataContract.LastName = pEntity.Person.LastName;
|
||||
pDataContract.DateOfBirth = pEntity.Person.DateOfBirth;
|
||||
pDataContract.Sex = pEntity.Person.Sex;
|
||||
pDataContract.ActivationType = pEntity.IsActive;
|
||||
pDataContract.TerminationDate = pEntity.TerminationDate;
|
||||
pDataContract.SubstitutionStartingDayCount = pEntity.AbWelchemKrankheitsTag;
|
||||
pDataContract.IsSubstitutionWanted = pEntity.VertretungGewuenscht;
|
||||
pDataContract.SubstitutionNeed = pEntity.SubstitutionNeed;
|
||||
pDataContract.IsSubstitutionNeeded = pEntity.VertretungDringendErforderlich;
|
||||
|
||||
if (pEntity.TerminationReason != null)
|
||||
{
|
||||
pDataContract.TerminationReason = pEntity.TerminationReason.Value;
|
||||
}
|
||||
//else if (pEntity.TerminationDate.HasValue)
|
||||
//{
|
||||
// pDataContract.TerminationReason = $"Betreuung vorzeitig beendet am {pEntity.TerminationDate:dd.MM.yyyy}";
|
||||
//}
|
||||
|
||||
pDataContract.AssistanceBegin = pEntity.AssistanceBegin;
|
||||
pDataContract.EquityContribution = pEntity.EquityContribution;
|
||||
pDataContract.CustomerAlias = pEntity.CustomerAlias;
|
||||
pDataContract.DebitorNumber = pEntity.DebitorNumber;
|
||||
pDataContract.CostCenter = pEntity.CostCenter;
|
||||
|
||||
if (pEntity.Person.Address != null)
|
||||
{
|
||||
pDataContract.Street = pEntity.Person.Address.Street;
|
||||
pDataContract.PostalCode = pEntity.Person.Address.PostalCode;
|
||||
pDataContract.Town = pEntity.Person.Address.Town;
|
||||
}
|
||||
|
||||
pDataContract.AbsenceTimes = MapperFactory.AbsenceTimeDC_AbsenceTime.MapToNewDCs(pEntity.AbsenceTimes);
|
||||
|
||||
pEntity.Customer2CostBearerList.DoForEach(c2cb => pDataContract.CostBearerReferenceNumbers[c2cb.CostBearer.Oid.Value] = c2cb.ReferenceNumber);
|
||||
|
||||
pDataContract.RelatedTeamOids = pEntity.Team2CustomerList.Select(t2c => t2c.TeamOid.Value).ToList();
|
||||
|
||||
return pDataContract;
|
||||
}
|
||||
|
||||
// Are not editable
|
||||
public override Customer MergeWithEntity(CompactCustomerDC pDataContract, Customer pEntity)
|
||||
{
|
||||
return DAOFactory.GenericDAO.LoadByID<Customer>(pDataContract.CustomerOid);
|
||||
}
|
||||
|
||||
protected override bool AreDCAndEntityEqual(CompactCustomerDC pDC, Customer pEntity)
|
||||
{
|
||||
return pDC.CustomerOid == pEntity.Oid;
|
||||
}
|
||||
}
|
||||
using System.Linq;
|
||||
|
||||
using BeWo.Data.Access;
|
||||
using BeWo.Data.Entities;
|
||||
|
||||
using BS.Shared.DataContracts.Compact;
|
||||
using BS.Shared.Extensions;
|
||||
|
||||
namespace BeWo.Service.DCEntityMapper.Compact
|
||||
{
|
||||
public class CompactCustomerDC_Customer : AbstractIDCEntityMapper<Customer, CompactCustomerDC>
|
||||
{
|
||||
public override CompactCustomerDC MergeWithDC(Customer pEntity, CompactCustomerDC pDataContract)
|
||||
{
|
||||
pDataContract.CustomerOid = pEntity.Oid.Value;
|
||||
pDataContract.PersonOid = pEntity.Person.Oid.Value;
|
||||
pDataContract.CustomerVersion = pEntity.Version.Value;
|
||||
pDataContract.FirstName = pEntity.Person.FirstName;
|
||||
pDataContract.LastName = pEntity.Person.LastName;
|
||||
pDataContract.DateOfBirth = pEntity.Person.DateOfBirth;
|
||||
pDataContract.Sex = pEntity.Person.Sex;
|
||||
pDataContract.ActivationType = pEntity.IsActive;
|
||||
pDataContract.TerminationDate = pEntity.TerminationDate;
|
||||
pDataContract.SubstitutionStartingDayCount = pEntity.AbWelchemKrankheitsTag;
|
||||
pDataContract.IsSubstitutionWanted = pEntity.VertretungGewuenscht;
|
||||
pDataContract.SubstitutionNeed = pEntity.SubstitutionNeed;
|
||||
pDataContract.IsSubstitutionNeeded = pEntity.VertretungDringendErforderlich;
|
||||
|
||||
if (pEntity.TerminationReason != null)
|
||||
{
|
||||
pDataContract.TerminationReason = pEntity.TerminationReason.Value;
|
||||
}
|
||||
//else if (pEntity.TerminationDate.HasValue)
|
||||
//{
|
||||
// pDataContract.TerminationReason = $"Betreuung vorzeitig beendet am {pEntity.TerminationDate:dd.MM.yyyy}";
|
||||
//}
|
||||
|
||||
pDataContract.AssistanceBegin = pEntity.AssistanceBegin;
|
||||
pDataContract.EquityContribution = pEntity.EquityContribution;
|
||||
pDataContract.CustomerAlias = pEntity.CustomerAlias;
|
||||
pDataContract.DebitorNumber = pEntity.DebitorNumber;
|
||||
pDataContract.CostCenter = pEntity.CostCenter;
|
||||
|
||||
if (pEntity.Person.Address != null)
|
||||
{
|
||||
pDataContract.Street = pEntity.Person.Address.Street;
|
||||
pDataContract.PostalCode = pEntity.Person.Address.PostalCode;
|
||||
pDataContract.Town = pEntity.Person.Address.Town;
|
||||
}
|
||||
|
||||
pDataContract.AbsenceTimes = MapperFactory.AbsenceTimeDC_AbsenceTime.MapToNewDCs(pEntity.AbsenceTimes);
|
||||
|
||||
pEntity.Customer2CostBearerList.DoForEach(c2cb => pDataContract.CostBearerReferenceNumbers[c2cb.CostBearer.Oid.Value] = c2cb.ReferenceNumber);
|
||||
|
||||
pDataContract.RelatedTeamOids = pEntity.Team2CustomerList.Select(t2c => t2c.TeamOid.Value).ToList();
|
||||
|
||||
return pDataContract;
|
||||
}
|
||||
|
||||
// Are not editable
|
||||
public override Customer MergeWithEntity(CompactCustomerDC pDataContract, Customer pEntity)
|
||||
{
|
||||
return DAOFactory.GenericDAO.LoadByID<Customer>(pDataContract.CustomerOid);
|
||||
}
|
||||
|
||||
protected override bool AreDCAndEntityEqual(CompactCustomerDC pDC, Customer pEntity)
|
||||
{
|
||||
return pDC.CustomerOid == pEntity.Oid;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,43 +1,43 @@
|
||||
using System.Linq;
|
||||
|
||||
using BeWo.Data.Access;
|
||||
using BeWo.Data.Entities;
|
||||
|
||||
using BS.Shared.DataContracts.Compact;
|
||||
|
||||
namespace BeWo.Service.DCEntityMapper
|
||||
{
|
||||
public class CompactCustomerDC_CustomerCompact : AbstractIDCEntityMapper<Customer, CompactCustomerDC>
|
||||
{
|
||||
public override CompactCustomerDC MergeWithDC(Customer pEntity, CompactCustomerDC pDataContract)
|
||||
{
|
||||
pDataContract.CustomerOid = pEntity.Oid.Value;
|
||||
pDataContract.CustomerVersion = pEntity.Version.Value;
|
||||
pDataContract.FirstName = pEntity.Person.FirstName;
|
||||
pDataContract.LastName = pEntity.Person.LastName;
|
||||
pDataContract.DateOfBirth = pEntity.Person.DateOfBirth;
|
||||
pDataContract.Sex = pEntity.Person.Sex;
|
||||
pDataContract.ActivationType = pEntity.IsActive;
|
||||
pDataContract.AssistanceBegin = pEntity.AssistanceBegin;
|
||||
pDataContract.TerminationDate = pEntity.TerminationDate;
|
||||
|
||||
|
||||
pDataContract.EquityContribution = pEntity.EquityContribution;
|
||||
pDataContract.RelatedTeamOids = pEntity.Team2CustomerList.Select(t2c => t2c.CustomerOid.Value).ToList();
|
||||
pDataContract.CustomerAlias = pEntity.CustomerAlias;
|
||||
|
||||
return pDataContract;
|
||||
}
|
||||
|
||||
// Are not editable
|
||||
public override Customer MergeWithEntity(CompactCustomerDC pDataContract, Customer pEntity)
|
||||
{
|
||||
return DAOFactory.GenericDAO.LoadByID<Customer>(pDataContract.CustomerOid);
|
||||
}
|
||||
|
||||
protected override bool AreDCAndEntityEqual(CompactCustomerDC pDC, Customer pEntity)
|
||||
{
|
||||
return pDC.CustomerOid == pEntity.Oid;
|
||||
}
|
||||
}
|
||||
using System.Linq;
|
||||
|
||||
using BeWo.Data.Access;
|
||||
using BeWo.Data.Entities;
|
||||
|
||||
using BS.Shared.DataContracts.Compact;
|
||||
|
||||
namespace BeWo.Service.DCEntityMapper.Compact
|
||||
{
|
||||
public class CompactCustomerDC_CustomerCompact : AbstractIDCEntityMapper<Customer, CompactCustomerDC>
|
||||
{
|
||||
public override CompactCustomerDC MergeWithDC(Customer pEntity, CompactCustomerDC pDataContract)
|
||||
{
|
||||
pDataContract.CustomerOid = pEntity.Oid.Value;
|
||||
pDataContract.CustomerVersion = pEntity.Version.Value;
|
||||
pDataContract.FirstName = pEntity.Person.FirstName;
|
||||
pDataContract.LastName = pEntity.Person.LastName;
|
||||
pDataContract.DateOfBirth = pEntity.Person.DateOfBirth;
|
||||
pDataContract.Sex = pEntity.Person.Sex;
|
||||
pDataContract.ActivationType = pEntity.IsActive;
|
||||
pDataContract.AssistanceBegin = pEntity.AssistanceBegin;
|
||||
pDataContract.TerminationDate = pEntity.TerminationDate;
|
||||
|
||||
|
||||
pDataContract.EquityContribution = pEntity.EquityContribution;
|
||||
pDataContract.RelatedTeamOids = pEntity.Team2CustomerList.Select(t2c => t2c.CustomerOid.Value).ToList();
|
||||
pDataContract.CustomerAlias = pEntity.CustomerAlias;
|
||||
|
||||
return pDataContract;
|
||||
}
|
||||
|
||||
// Are not editable
|
||||
public override Customer MergeWithEntity(CompactCustomerDC pDataContract, Customer pEntity)
|
||||
{
|
||||
return DAOFactory.GenericDAO.LoadByID<Customer>(pDataContract.CustomerOid);
|
||||
}
|
||||
|
||||
protected override bool AreDCAndEntityEqual(CompactCustomerDC pDC, Customer pEntity)
|
||||
{
|
||||
return pDC.CustomerOid == pEntity.Oid;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -4,7 +4,7 @@ using BeWo.Data.Entities;
|
||||
|
||||
using BS.Shared.DataContracts.Compact;
|
||||
|
||||
namespace BeWo.Service.DCEntityMapper
|
||||
namespace BeWo.Service.DCEntityMapper.Compact
|
||||
{
|
||||
public class CompactCustomerTeamDC_CustomerTeam : AbstractIDCEntityMapper<CustomerTeam, CompactCustomerTeamDC>
|
||||
{
|
||||
@@ -1,38 +1,38 @@
|
||||
using BeWo.Data.Access;
|
||||
using BeWo.Data.Entities;
|
||||
using System.Linq;
|
||||
using BS.Shared.DataContracts.Compact;
|
||||
|
||||
namespace BeWo.Service.DCEntityMapper
|
||||
{
|
||||
public class CompactEmployeeDC_Employee : AbstractIDCEntityMapper<Employee, CompactEmployeeDC>
|
||||
{
|
||||
public override CompactEmployeeDC MergeWithDC(Employee pEntity, CompactEmployeeDC pDataContract)
|
||||
{
|
||||
pDataContract.EmployeeOid = pEntity.Oid.Value;
|
||||
pDataContract.PersonOid = pEntity.Person.Oid.Value;
|
||||
pDataContract.EmployeeVersion = pEntity.Version.Value;
|
||||
pDataContract.FirstName = pEntity.Person.FirstName;
|
||||
pDataContract.LastName = pEntity.Person.LastName;
|
||||
pDataContract.PersonnelNumber = pEntity.PersonnelNumber;
|
||||
//pDataContract.FLSPerWeek = pEntity.WeeklyFLS;
|
||||
pDataContract.ActivationType = pEntity.IsActive;
|
||||
pDataContract.ValueListEntries = pEntity.ValueList.ToDictionary(i => i.Entry.Oid.Value, i => i.Entry.Type);
|
||||
pDataContract.EmployeeColor = pEntity.EmployeeColor;
|
||||
pDataContract.RelatedCustomerOIDList = pEntity.Employee2CustomerList.Where(w => w.CustomerOid.HasValue).Select(s => s.CustomerOid.Value).ToList();
|
||||
|
||||
return pDataContract;
|
||||
}
|
||||
|
||||
// COMPACT EMPLOYEES ARE NOT EDITABLE
|
||||
public override Employee MergeWithEntity(CompactEmployeeDC pDataContract, Employee pEntity)
|
||||
{
|
||||
return DAOFactory.GenericDAO.LoadByID<Employee>(pDataContract.EmployeeOid);
|
||||
}
|
||||
|
||||
protected override bool AreDCAndEntityEqual(CompactEmployeeDC pDC, Employee pEntity)
|
||||
{
|
||||
return pDC.EmployeeOid == pEntity.Oid;
|
||||
}
|
||||
}
|
||||
using BeWo.Data.Access;
|
||||
using BeWo.Data.Entities;
|
||||
using System.Linq;
|
||||
using BS.Shared.DataContracts.Compact;
|
||||
|
||||
namespace BeWo.Service.DCEntityMapper.Compact
|
||||
{
|
||||
public class CompactEmployeeDC_Employee : AbstractIDCEntityMapper<Employee, CompactEmployeeDC>
|
||||
{
|
||||
public override CompactEmployeeDC MergeWithDC(Employee pEntity, CompactEmployeeDC pDataContract)
|
||||
{
|
||||
pDataContract.EmployeeOid = pEntity.Oid.Value;
|
||||
pDataContract.PersonOid = pEntity.Person.Oid.Value;
|
||||
pDataContract.EmployeeVersion = pEntity.Version.Value;
|
||||
pDataContract.FirstName = pEntity.Person.FirstName;
|
||||
pDataContract.LastName = pEntity.Person.LastName;
|
||||
pDataContract.PersonnelNumber = pEntity.PersonnelNumber;
|
||||
//pDataContract.FLSPerWeek = pEntity.WeeklyFLS;
|
||||
pDataContract.ActivationType = pEntity.IsActive;
|
||||
pDataContract.ValueListEntries = pEntity.ValueList.ToDictionary(i => i.Entry.Oid.Value, i => i.Entry.Type);
|
||||
pDataContract.EmployeeColor = pEntity.EmployeeColor;
|
||||
pDataContract.RelatedCustomerOIDList = pEntity.Employee2CustomerList.Where(w => w.CustomerOid.HasValue).Select(s => s.CustomerOid.Value).ToList();
|
||||
|
||||
return pDataContract;
|
||||
}
|
||||
|
||||
// COMPACT EMPLOYEES ARE NOT EDITABLE
|
||||
public override Employee MergeWithEntity(CompactEmployeeDC pDataContract, Employee pEntity)
|
||||
{
|
||||
return DAOFactory.GenericDAO.LoadByID<Employee>(pDataContract.EmployeeOid);
|
||||
}
|
||||
|
||||
protected override bool AreDCAndEntityEqual(CompactEmployeeDC pDC, Employee pEntity)
|
||||
{
|
||||
return pDC.EmployeeOid == pEntity.Oid;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,31 +1,31 @@
|
||||
using System;
|
||||
|
||||
using BeWo.Data.Entities;
|
||||
|
||||
using BS.Shared.DataContracts.Compact;
|
||||
|
||||
namespace BeWo.Service.DCEntityMapper
|
||||
{
|
||||
public class CompactGroupOfPeopleDC_GroupOfPeople : AbstractIDCEntityMapper<GroupOfPeople, CompactGroupOfPeopleDC>
|
||||
{
|
||||
public override CompactGroupOfPeopleDC MergeWithDC(GroupOfPeople pEntity, CompactGroupOfPeopleDC pDataContract)
|
||||
{
|
||||
pDataContract.Name = pEntity.Name;
|
||||
pDataContract.GroupOfPeopleOid = pEntity.Oid.Value;
|
||||
pDataContract.GroupOfPeopleVersion = pEntity.Version.Value;
|
||||
pDataContract.GroupType = pEntity.GroupType;
|
||||
|
||||
return pDataContract;
|
||||
}
|
||||
|
||||
public override GroupOfPeople MergeWithEntity(CompactGroupOfPeopleDC pDataContract, GroupOfPeople pEntity)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
protected override bool AreDCAndEntityEqual(CompactGroupOfPeopleDC pDC, GroupOfPeople pEntity)
|
||||
{
|
||||
return pDC.GroupOfPeopleOid == pEntity.Oid;
|
||||
}
|
||||
}
|
||||
using System;
|
||||
|
||||
using BeWo.Data.Entities;
|
||||
|
||||
using BS.Shared.DataContracts.Compact;
|
||||
|
||||
namespace BeWo.Service.DCEntityMapper.Compact
|
||||
{
|
||||
public class CompactGroupOfPeopleDC_GroupOfPeople : AbstractIDCEntityMapper<GroupOfPeople, CompactGroupOfPeopleDC>
|
||||
{
|
||||
public override CompactGroupOfPeopleDC MergeWithDC(GroupOfPeople pEntity, CompactGroupOfPeopleDC pDataContract)
|
||||
{
|
||||
pDataContract.Name = pEntity.Name;
|
||||
pDataContract.GroupOfPeopleOid = pEntity.Oid.Value;
|
||||
pDataContract.GroupOfPeopleVersion = pEntity.Version.Value;
|
||||
pDataContract.GroupType = pEntity.GroupType;
|
||||
|
||||
return pDataContract;
|
||||
}
|
||||
|
||||
public override GroupOfPeople MergeWithEntity(CompactGroupOfPeopleDC pDataContract, GroupOfPeople pEntity)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
protected override bool AreDCAndEntityEqual(CompactGroupOfPeopleDC pDC, GroupOfPeople pEntity)
|
||||
{
|
||||
return pDC.GroupOfPeopleOid == pEntity.Oid;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,104 @@
|
||||
using System;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using BS.Shared.Core;
|
||||
using BeWo.Data.Access;
|
||||
using BeWo.Data.Entities;
|
||||
|
||||
using BS.Shared;
|
||||
using BS.Shared.DataContracts;
|
||||
using BS.Shared.DataContracts.Light;
|
||||
using DevExpress.CodeParser;
|
||||
|
||||
namespace BeWo.Service.DCEntityMapper.Compact
|
||||
{
|
||||
public class CompactInvoiceBaseDC_InvoiceBase : AbstractIDCEntityMapper<InvoiceBase, CompactInvoiceBaseDC>
|
||||
{
|
||||
public override CompactInvoiceBaseDC MergeWithDC(InvoiceBase pEntity, CompactInvoiceBaseDC pDataContract)
|
||||
{
|
||||
pDataContract.InvoiceBaseOid = pEntity.Oid;
|
||||
|
||||
pDataContract.RecipientOrganisation = pEntity.RecipientOrganisation;
|
||||
pDataContract.InvoiceNumber = pEntity.InvoiceNumber;
|
||||
pDataContract.InvoiceDate = pEntity.InvoiceDate;
|
||||
pDataContract.AccountingPeriodEnd = pEntity.AccountingPeriodEnd;
|
||||
pDataContract.AccountingPeriodStart = pEntity.AccountingPeriodStart;
|
||||
pDataContract.Notice = pEntity.Notice;
|
||||
pDataContract.InvoiceTypeText = pEntity.InvoiceTypeText;
|
||||
pDataContract.IsPaid = pEntity.IsPaid;
|
||||
|
||||
if (pEntity.Type == InvoiceType.Service && pEntity.Oid.HasValue)
|
||||
{
|
||||
var inv = DAOFactory.SearchDAO.GetServiceInvoiceByInvoiceBaseOid(pEntity.Oid.Value);
|
||||
if (inv != null)
|
||||
{
|
||||
pDataContract.TotalAmount = inv.GetTotalClaim();
|
||||
}
|
||||
else
|
||||
{
|
||||
//pDataContract.TotalAmount = -99999999;
|
||||
}
|
||||
}
|
||||
else if (pEntity.Type == InvoiceType.Settlement)
|
||||
{
|
||||
//Ist eigentlich ein Fehler. Bei Spitzabrechnungen muss immer ein InvoiceItem vorhanden sein.
|
||||
//Durch einen mittlerweile behobenen Programmfehler gibt es einzelen ältere Rechnungen, bei denen das nicht so ist.
|
||||
if (!string.IsNullOrEmpty(pEntity.XMLData))
|
||||
{
|
||||
var settlementdc = Utils.XMLDeserializeFromString<SettlementDC>(pEntity.XMLData);
|
||||
pDataContract.TotalAmount = settlementdc.Claim;
|
||||
}
|
||||
else
|
||||
{
|
||||
pDataContract.TotalAmount = pEntity.InvoiceItems.Sum(i => i.AmountTotal);
|
||||
}
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
pDataContract.TotalAmount = pEntity.InvoiceItems.Sum(i => i.AmountTotal);
|
||||
}
|
||||
|
||||
Customer customer = null;
|
||||
if (pEntity.CostBearer2SupportConcept != null)
|
||||
{
|
||||
try
|
||||
{
|
||||
customer = pEntity.CostBearer2SupportConcept.SupportConcept.Customer;
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
//ignore
|
||||
}
|
||||
|
||||
}
|
||||
else if (pEntity.SupportConceptOid.HasValue)
|
||||
{
|
||||
SupportConcept sc = DAOFactory.GenericDAO.LoadByID<SupportConcept>(pEntity.SupportConceptOid.Value);
|
||||
customer = sc.Customer;
|
||||
}
|
||||
|
||||
if (customer is object)
|
||||
{
|
||||
pDataContract.CustomerName = customer.Person.LastNameFirstName;
|
||||
}
|
||||
|
||||
return pDataContract;
|
||||
}
|
||||
|
||||
public override InvoiceBase MergeWithEntity(CompactInvoiceBaseDC pDataContract, InvoiceBase pEntity)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
protected override bool AreDCAndEntityEqual(CompactInvoiceBaseDC pDataContract, InvoiceBase pEntity)
|
||||
{
|
||||
if (pDataContract.InvoiceBaseOid == null)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
return pDataContract.InvoiceBaseOid == pEntity.Oid;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,68 +1,68 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using BS.Shared.DataContracts;
|
||||
using BeWo.Data.Access;
|
||||
using BeWo.Data.Entities;
|
||||
|
||||
using BS.Shared;
|
||||
using BS.Shared.DataContracts.Compact;
|
||||
using BS.Shared.Extensions;
|
||||
|
||||
namespace BeWo.Service.DCEntityMapper
|
||||
{
|
||||
public class CompactOrganisationDC_Organisation : AbstractIDCEntityMapper<Organisation, CompactOrganisationDC>
|
||||
{
|
||||
public override CompactOrganisationDC MergeWithDC(Organisation pEntity, CompactOrganisationDC pDataContract)
|
||||
{
|
||||
pDataContract.OrganisationOid = pEntity.Oid.Value;
|
||||
pDataContract.OrganisationVersion = pEntity.Version.Value;
|
||||
pDataContract.Name = pEntity.Name;
|
||||
pDataContract.Name2 = pEntity.Name2;
|
||||
pDataContract.ActivationType = pEntity.IsActive;
|
||||
pDataContract.DebitorNumber = pEntity.DebitorNumber;
|
||||
pDataContract.BusinessPartnerId = pEntity.BusinessPartnerId;
|
||||
pDataContract.IKDatenannahmestelle = pEntity.IKDatenannahmestelle;
|
||||
pDataContract.IKKostentrager = pEntity.IKKostentrager;
|
||||
pDataContract.IKKrankenkasse = pEntity.IKKrankenkasse;
|
||||
|
||||
if (pEntity.CostBearer != null)
|
||||
{
|
||||
pDataContract.CostBearerID = pEntity.CostBearer.ID;
|
||||
pDataContract.CostBearerOid = pEntity.CostBearer.Oid;
|
||||
pDataContract.CostBearerVersion = pEntity.CostBearer.Version;
|
||||
|
||||
pDataContract.CostRatePeriods = pEntity.CostBearer.CostRatePeriods.MapToNewDCs();
|
||||
|
||||
pDataContract.ActualHourlyRate = pDataContract.CostRatePeriods.GetCurrentlyValidRateValue(CostRatePeriodType.HourlyRate) ?? 0m;
|
||||
pDataContract.ActualRateFactor = pDataContract.CostRatePeriods.GetCurrentlyValidRateValue(CostRatePeriodType.RateFactor) ?? 0m;
|
||||
pDataContract.ActualMinuteIntervall = Convert.ToInt32(pDataContract.CostRatePeriods.GetCurrentlyValidRateValue(CostRatePeriodType.MinutesIntervall) ?? 0m);
|
||||
|
||||
pDataContract.IsCalculatingWithFactor = pEntity.CostBearer.IsCalculatingWithFactor;
|
||||
}
|
||||
if (pEntity.Function != null)
|
||||
{
|
||||
pDataContract.Function = pEntity.Function.Value;
|
||||
}
|
||||
return pDataContract;
|
||||
}
|
||||
|
||||
// Compact Organisations are readonly
|
||||
public override Organisation MergeWithEntity(CompactOrganisationDC pDataContract, Organisation pEntity)
|
||||
{
|
||||
return DAOFactory.GenericDAO.LoadByID<Organisation>(pDataContract.OrganisationOid);
|
||||
}
|
||||
|
||||
protected override bool AreDCAndEntityEqual(CompactOrganisationDC pDC, Organisation pEntity)
|
||||
{
|
||||
return pDC.OrganisationOid == pEntity.Oid;
|
||||
}
|
||||
|
||||
//public override CompactOrganisationDC CreateNewDC()
|
||||
//{
|
||||
// CompactOrganisationDC dc = new CompactOrganisationDC();
|
||||
// dc.CostRatePeriods = new List<CostRatePeriodDC>();
|
||||
// return dc;
|
||||
//}
|
||||
|
||||
}
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using BS.Shared.DataContracts;
|
||||
using BeWo.Data.Access;
|
||||
using BeWo.Data.Entities;
|
||||
|
||||
using BS.Shared;
|
||||
using BS.Shared.DataContracts.Compact;
|
||||
using BS.Shared.Extensions;
|
||||
|
||||
namespace BeWo.Service.DCEntityMapper.Compact
|
||||
{
|
||||
public class CompactOrganisationDC_Organisation : AbstractIDCEntityMapper<Organisation, CompactOrganisationDC>
|
||||
{
|
||||
public override CompactOrganisationDC MergeWithDC(Organisation pEntity, CompactOrganisationDC pDataContract)
|
||||
{
|
||||
pDataContract.OrganisationOid = pEntity.Oid.Value;
|
||||
pDataContract.OrganisationVersion = pEntity.Version.Value;
|
||||
pDataContract.Name = pEntity.Name;
|
||||
pDataContract.Name2 = pEntity.Name2;
|
||||
pDataContract.ActivationType = pEntity.IsActive;
|
||||
pDataContract.DebitorNumber = pEntity.DebitorNumber;
|
||||
pDataContract.BusinessPartnerId = pEntity.BusinessPartnerId;
|
||||
pDataContract.IKDatenannahmestelle = pEntity.IKDatenannahmestelle;
|
||||
pDataContract.IKKostentrager = pEntity.IKKostentrager;
|
||||
pDataContract.IKKrankenkasse = pEntity.IKKrankenkasse;
|
||||
|
||||
if (pEntity.CostBearer != null)
|
||||
{
|
||||
pDataContract.CostBearerID = pEntity.CostBearer.ID;
|
||||
pDataContract.CostBearerOid = pEntity.CostBearer.Oid;
|
||||
pDataContract.CostBearerVersion = pEntity.CostBearer.Version;
|
||||
|
||||
pDataContract.CostRatePeriods = pEntity.CostBearer.CostRatePeriods.MapToNewDCs();
|
||||
|
||||
pDataContract.ActualHourlyRate = pDataContract.CostRatePeriods.GetCurrentlyValidRateValue(CostRatePeriodType.HourlyRate) ?? 0m;
|
||||
pDataContract.ActualRateFactor = pDataContract.CostRatePeriods.GetCurrentlyValidRateValue(CostRatePeriodType.RateFactor) ?? 0m;
|
||||
pDataContract.ActualMinuteIntervall = Convert.ToInt32(pDataContract.CostRatePeriods.GetCurrentlyValidRateValue(CostRatePeriodType.MinutesIntervall) ?? 0m);
|
||||
|
||||
pDataContract.IsCalculatingWithFactor = pEntity.CostBearer.IsCalculatingWithFactor;
|
||||
}
|
||||
if (pEntity.Function != null)
|
||||
{
|
||||
pDataContract.Function = pEntity.Function.Value;
|
||||
}
|
||||
return pDataContract;
|
||||
}
|
||||
|
||||
// Compact Organisations are readonly
|
||||
public override Organisation MergeWithEntity(CompactOrganisationDC pDataContract, Organisation pEntity)
|
||||
{
|
||||
return DAOFactory.GenericDAO.LoadByID<Organisation>(pDataContract.OrganisationOid);
|
||||
}
|
||||
|
||||
protected override bool AreDCAndEntityEqual(CompactOrganisationDC pDC, Organisation pEntity)
|
||||
{
|
||||
return pDC.OrganisationOid == pEntity.Oid;
|
||||
}
|
||||
|
||||
//public override CompactOrganisationDC CreateNewDC()
|
||||
//{
|
||||
// CompactOrganisationDC dc = new CompactOrganisationDC();
|
||||
// dc.CostRatePeriods = new List<CostRatePeriodDC>();
|
||||
// return dc;
|
||||
//}
|
||||
|
||||
}
|
||||
}
|
||||
@@ -1,63 +1,63 @@
|
||||
using BeWo.Data.Entities;
|
||||
|
||||
using BS.Shared.DataContracts.Compact;
|
||||
|
||||
namespace BeWo.Service.DCEntityMapper
|
||||
{
|
||||
public class CompactPersonDC_Person : AbstractIDCEntityMapper<Person, CompactPersonDC>
|
||||
{
|
||||
public override CompactPersonDC MergeWithDC(Person pEntity, CompactPersonDC pDataContract)
|
||||
{
|
||||
pDataContract.DateOfBirth = pEntity.DateOfBirth;
|
||||
pDataContract.FirstName = pEntity.FirstName;
|
||||
pDataContract.LastName = pEntity.LastName;
|
||||
pDataContract.PersonOid = pEntity.Oid.Value;
|
||||
pDataContract.PersonVersion = pEntity.Version.Value;
|
||||
pDataContract.ActivationType = pEntity.IsActive;
|
||||
pDataContract.PersonType = pEntity.Type;
|
||||
pDataContract.FamilyStatus = pEntity.FamilyStatus;
|
||||
pDataContract.Geschlecht = pEntity.Sex;
|
||||
|
||||
if (pEntity.Title != null)
|
||||
{
|
||||
pDataContract.Title = pEntity.Title.Value;
|
||||
}
|
||||
|
||||
if (pEntity.Function != null)
|
||||
{
|
||||
pDataContract.Function = pEntity.Function.Value;
|
||||
}
|
||||
|
||||
if (pEntity.Address != null)
|
||||
{
|
||||
pDataContract.Street = pEntity.Address.Street;
|
||||
pDataContract.PostalCode = pEntity.Address.PostalCode;
|
||||
pDataContract.Town = pEntity.Address.Town;
|
||||
}
|
||||
|
||||
pDataContract.OrganisationRelations = MapperFactory.Organisation2PersonDC_Organisation2Person.MapToNewDCs(pEntity.Organisation2Persons);
|
||||
|
||||
return pDataContract;
|
||||
}
|
||||
|
||||
public override Person MergeWithEntity(CompactPersonDC pDataContract, Person pEntity)
|
||||
{
|
||||
this.ConcurrencyCheck(pDataContract.PersonVersion, pEntity);
|
||||
|
||||
pEntity.Oid = pDataContract.PersonOid;
|
||||
pEntity.DateOfBirth = pDataContract.DateOfBirth;
|
||||
pEntity.FirstName = pDataContract.FirstName;
|
||||
pEntity.LastName = pDataContract.LastName;
|
||||
pEntity.IsActive = pDataContract.ActivationType;
|
||||
|
||||
MapperFactory.Organisation2PersonDC_Organisation2Person.MergeWithEntitys(pDataContract.OrganisationRelations, pEntity.Organisation2Persons);
|
||||
|
||||
return pEntity;
|
||||
}
|
||||
|
||||
protected override bool AreDCAndEntityEqual(CompactPersonDC pDC, Person pEntity)
|
||||
{
|
||||
return pDC.PersonOid == pEntity.Oid;
|
||||
}
|
||||
}
|
||||
using BeWo.Data.Entities;
|
||||
|
||||
using BS.Shared.DataContracts.Compact;
|
||||
|
||||
namespace BeWo.Service.DCEntityMapper.Compact
|
||||
{
|
||||
public class CompactPersonDC_Person : AbstractIDCEntityMapper<Person, CompactPersonDC>
|
||||
{
|
||||
public override CompactPersonDC MergeWithDC(Person pEntity, CompactPersonDC pDataContract)
|
||||
{
|
||||
pDataContract.DateOfBirth = pEntity.DateOfBirth;
|
||||
pDataContract.FirstName = pEntity.FirstName;
|
||||
pDataContract.LastName = pEntity.LastName;
|
||||
pDataContract.PersonOid = pEntity.Oid.Value;
|
||||
pDataContract.PersonVersion = pEntity.Version.Value;
|
||||
pDataContract.ActivationType = pEntity.IsActive;
|
||||
pDataContract.PersonType = pEntity.Type;
|
||||
pDataContract.FamilyStatus = pEntity.FamilyStatus;
|
||||
pDataContract.Geschlecht = pEntity.Sex;
|
||||
|
||||
if (pEntity.Title != null)
|
||||
{
|
||||
pDataContract.Title = pEntity.Title.Value;
|
||||
}
|
||||
|
||||
if (pEntity.Function != null)
|
||||
{
|
||||
pDataContract.Function = pEntity.Function.Value;
|
||||
}
|
||||
|
||||
if (pEntity.Address != null)
|
||||
{
|
||||
pDataContract.Street = pEntity.Address.Street;
|
||||
pDataContract.PostalCode = pEntity.Address.PostalCode;
|
||||
pDataContract.Town = pEntity.Address.Town;
|
||||
}
|
||||
|
||||
pDataContract.OrganisationRelations = MapperFactory.Organisation2PersonDC_Organisation2Person.MapToNewDCs(pEntity.Organisation2Persons);
|
||||
|
||||
return pDataContract;
|
||||
}
|
||||
|
||||
public override Person MergeWithEntity(CompactPersonDC pDataContract, Person pEntity)
|
||||
{
|
||||
this.ConcurrencyCheck(pDataContract.PersonVersion, pEntity);
|
||||
|
||||
pEntity.Oid = pDataContract.PersonOid;
|
||||
pEntity.DateOfBirth = pDataContract.DateOfBirth;
|
||||
pEntity.FirstName = pDataContract.FirstName;
|
||||
pEntity.LastName = pDataContract.LastName;
|
||||
pEntity.IsActive = pDataContract.ActivationType;
|
||||
|
||||
MapperFactory.Organisation2PersonDC_Organisation2Person.MergeWithEntitys(pDataContract.OrganisationRelations, pEntity.Organisation2Persons);
|
||||
|
||||
return pEntity;
|
||||
}
|
||||
|
||||
protected override bool AreDCAndEntityEqual(CompactPersonDC pDC, Person pEntity)
|
||||
{
|
||||
return pDC.PersonOid == pEntity.Oid;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,80 +1,80 @@
|
||||
using System;
|
||||
|
||||
using BeWo.Data.Entities;
|
||||
|
||||
using BS.Shared.DataContracts.Compact;
|
||||
|
||||
namespace BeWo.Service.DCEntityMapper
|
||||
{
|
||||
public class CompactSupportConceptDC_SupportConcept : AbstractIDCEntityMapper<SupportConcept, CompactSupportConceptDC>
|
||||
{
|
||||
#region Public Methods
|
||||
|
||||
public override CompactSupportConceptDC MergeWithDC(SupportConcept pEntity, CompactSupportConceptDC pDataContract)
|
||||
{
|
||||
pDataContract.SupportConceptOid = pEntity.Oid.Value;
|
||||
pDataContract.SupportConceptVersion = pEntity.Version.Value;
|
||||
pDataContract.Customer = MapperFactory.CompactCustomerDC_Customer.MapToNewDC(pEntity.Customer);
|
||||
pDataContract.ActivationType = pEntity.IsActive;
|
||||
pDataContract.ConferenceDate = pEntity.ConferenceDate;
|
||||
|
||||
foreach (var iCBRel in pEntity.CostBearer2SupportConceptList)
|
||||
{
|
||||
CompactCostBearerDC costBearer = new CompactCostBearerDC();
|
||||
|
||||
if (iCBRel.CostBearer.Organisation != null)
|
||||
{
|
||||
CompactOrganisationDC orgDC = new CompactOrganisationDC();
|
||||
orgDC.Name = iCBRel.CostBearer.Organisation.Name;
|
||||
orgDC.OrganisationOid = iCBRel.CostBearer.Organisation.Oid.Value;
|
||||
|
||||
if (iCBRel.CostBearer.Organisation.Address != null)
|
||||
{
|
||||
orgDC.Street = iCBRel.CostBearer.Organisation.Address.Street;
|
||||
orgDC.PostalCode = iCBRel.CostBearer.Organisation.Address.PostalCode;
|
||||
orgDC.Town = iCBRel.CostBearer.Organisation.Address.Town;
|
||||
}
|
||||
|
||||
costBearer.Organisation = orgDC;
|
||||
}
|
||||
costBearer.CostBearerID = iCBRel.CostBearer.ID;
|
||||
costBearer.CostBearerOid = iCBRel.CostBearer.Oid.Value;
|
||||
costBearer.CostBearer2SupportConceptOid = iCBRel.Oid.Value;
|
||||
costBearer.SupportConceptStatus = iCBRel.Status;
|
||||
costBearer.RequestedStartDate = iCBRel.RequestedStartDate;
|
||||
costBearer.RequestedEndDate = iCBRel.RequestedEndDate;
|
||||
costBearer.ApprovedStartDate = iCBRel.ApprovedStartDate;
|
||||
costBearer.ApprovedEndDate = iCBRel.ApprovedEndDate;
|
||||
|
||||
// costBearer.ApprovedFLS = iCBRel.ApprovedFLS;
|
||||
// costBearer.ApprovedFLSTotal = iCBRel.ApprovedFLSTotal;
|
||||
costBearer.CustomerReferenceNumber = iCBRel.CustomerReferenceNumber;
|
||||
costBearer.IsCalculatingWithFactor = iCBRel.CostBearer.IsCalculatingWithFactor;
|
||||
|
||||
pDataContract.IsApproved = iCBRel.ApprovedStartDate.HasValue;
|
||||
pDataContract.CostBearerList.Add(costBearer);
|
||||
pDataContract.CostBearerOids2CostBearerRelOids.Add(costBearer.Oid.Value, iCBRel.Oid.Value);
|
||||
pDataContract.CustomerReferenceNumbers.Add(iCBRel.CustomerReferenceNumber);
|
||||
pDataContract.CostBearerRelOids.Add(iCBRel.Oid.Value);
|
||||
}
|
||||
|
||||
return pDataContract;
|
||||
}
|
||||
|
||||
public override SupportConcept MergeWithEntity(CompactSupportConceptDC pDataContract, SupportConcept pEntity)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Methods
|
||||
|
||||
protected override bool AreDCAndEntityEqual(CompactSupportConceptDC pDC, SupportConcept pEntity)
|
||||
{
|
||||
return pDC.SupportConceptOid == pEntity.Oid;
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
using System;
|
||||
|
||||
using BeWo.Data.Entities;
|
||||
|
||||
using BS.Shared.DataContracts.Compact;
|
||||
|
||||
namespace BeWo.Service.DCEntityMapper.Compact
|
||||
{
|
||||
public class CompactSupportConceptDC_SupportConcept : AbstractIDCEntityMapper<SupportConcept, CompactSupportConceptDC>
|
||||
{
|
||||
#region Public Methods
|
||||
|
||||
public override CompactSupportConceptDC MergeWithDC(SupportConcept pEntity, CompactSupportConceptDC pDataContract)
|
||||
{
|
||||
pDataContract.SupportConceptOid = pEntity.Oid.Value;
|
||||
pDataContract.SupportConceptVersion = pEntity.Version.Value;
|
||||
pDataContract.Customer = MapperFactory.CompactCustomerDC_Customer.MapToNewDC(pEntity.Customer);
|
||||
pDataContract.ActivationType = pEntity.IsActive;
|
||||
pDataContract.ConferenceDate = pEntity.ConferenceDate;
|
||||
|
||||
foreach (var iCBRel in pEntity.CostBearer2SupportConceptList)
|
||||
{
|
||||
CompactCostBearerDC costBearer = new CompactCostBearerDC();
|
||||
|
||||
if (iCBRel.CostBearer.Organisation != null)
|
||||
{
|
||||
CompactOrganisationDC orgDC = new CompactOrganisationDC();
|
||||
orgDC.Name = iCBRel.CostBearer.Organisation.Name;
|
||||
orgDC.OrganisationOid = iCBRel.CostBearer.Organisation.Oid.Value;
|
||||
|
||||
if (iCBRel.CostBearer.Organisation.Address != null)
|
||||
{
|
||||
orgDC.Street = iCBRel.CostBearer.Organisation.Address.Street;
|
||||
orgDC.PostalCode = iCBRel.CostBearer.Organisation.Address.PostalCode;
|
||||
orgDC.Town = iCBRel.CostBearer.Organisation.Address.Town;
|
||||
}
|
||||
|
||||
costBearer.Organisation = orgDC;
|
||||
}
|
||||
costBearer.CostBearerID = iCBRel.CostBearer.ID;
|
||||
costBearer.CostBearerOid = iCBRel.CostBearer.Oid.Value;
|
||||
costBearer.CostBearer2SupportConceptOid = iCBRel.Oid.Value;
|
||||
costBearer.SupportConceptStatus = iCBRel.Status;
|
||||
costBearer.RequestedStartDate = iCBRel.RequestedStartDate;
|
||||
costBearer.RequestedEndDate = iCBRel.RequestedEndDate;
|
||||
costBearer.ApprovedStartDate = iCBRel.ApprovedStartDate;
|
||||
costBearer.ApprovedEndDate = iCBRel.ApprovedEndDate;
|
||||
|
||||
// costBearer.ApprovedFLS = iCBRel.ApprovedFLS;
|
||||
// costBearer.ApprovedFLSTotal = iCBRel.ApprovedFLSTotal;
|
||||
costBearer.CustomerReferenceNumber = iCBRel.CustomerReferenceNumber;
|
||||
costBearer.IsCalculatingWithFactor = iCBRel.CostBearer.IsCalculatingWithFactor;
|
||||
|
||||
pDataContract.IsApproved = iCBRel.ApprovedStartDate.HasValue;
|
||||
pDataContract.CostBearerList.Add(costBearer);
|
||||
pDataContract.CostBearerOids2CostBearerRelOids.Add(costBearer.Oid.Value, iCBRel.Oid.Value);
|
||||
pDataContract.CustomerReferenceNumbers.Add(iCBRel.CustomerReferenceNumber);
|
||||
pDataContract.CostBearerRelOids.Add(iCBRel.Oid.Value);
|
||||
}
|
||||
|
||||
return pDataContract;
|
||||
}
|
||||
|
||||
public override SupportConcept MergeWithEntity(CompactSupportConceptDC pDataContract, SupportConcept pEntity)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Methods
|
||||
|
||||
protected override bool AreDCAndEntityEqual(CompactSupportConceptDC pDC, SupportConcept pEntity)
|
||||
{
|
||||
return pDC.SupportConceptOid == pEntity.Oid;
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -1,31 +1,31 @@
|
||||
using System;
|
||||
|
||||
using BeWo.Data.Entities;
|
||||
|
||||
using BS.Shared.DataContracts.Compact;
|
||||
|
||||
namespace BeWo.Service.DCEntityMapper
|
||||
{
|
||||
public class CompactTeamDC_Team : AbstractIDCEntityMapper<Team, CompactTeamDC>
|
||||
{
|
||||
public override CompactTeamDC MergeWithDC(Team pEntity, CompactTeamDC pDataContract)
|
||||
{
|
||||
pDataContract.Name = pEntity.Name;
|
||||
pDataContract.LeaderString = pEntity.Leader.Person.LastName + ", " + pEntity.Leader.Person.FirstName;
|
||||
pDataContract.TeamOid = pEntity.Oid.Value;
|
||||
pDataContract.TeamVersion = pEntity.Version.Value;
|
||||
|
||||
return pDataContract;
|
||||
}
|
||||
|
||||
public override Team MergeWithEntity(CompactTeamDC pDataContract, Team pEntity)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
protected override bool AreDCAndEntityEqual(CompactTeamDC pDC, Team pEntity)
|
||||
{
|
||||
return pDC.TeamOid == pEntity.Oid;
|
||||
}
|
||||
}
|
||||
using System;
|
||||
|
||||
using BeWo.Data.Entities;
|
||||
|
||||
using BS.Shared.DataContracts.Compact;
|
||||
|
||||
namespace BeWo.Service.DCEntityMapper.Compact
|
||||
{
|
||||
public class CompactTeamDC_Team : AbstractIDCEntityMapper<Team, CompactTeamDC>
|
||||
{
|
||||
public override CompactTeamDC MergeWithDC(Team pEntity, CompactTeamDC pDataContract)
|
||||
{
|
||||
pDataContract.Name = pEntity.Name;
|
||||
pDataContract.LeaderString = pEntity.Leader.Person.LastName + ", " + pEntity.Leader.Person.FirstName;
|
||||
pDataContract.TeamOid = pEntity.Oid.Value;
|
||||
pDataContract.TeamVersion = pEntity.Version.Value;
|
||||
|
||||
return pDataContract;
|
||||
}
|
||||
|
||||
public override Team MergeWithEntity(CompactTeamDC pDataContract, Team pEntity)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
protected override bool AreDCAndEntityEqual(CompactTeamDC pDC, Team pEntity)
|
||||
{
|
||||
return pDC.TeamOid == pEntity.Oid;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -3,7 +3,7 @@ using BeWo.Data.Entities;
|
||||
using System.Linq;
|
||||
using BS.Shared.DataContracts.Compact;
|
||||
|
||||
namespace BeWo.Service.DCEntityMapper
|
||||
namespace BeWo.Service.DCEntityMapper.Compact
|
||||
{
|
||||
public class CompactTokenDC_Token : AbstractIDCEntityMapper<Token, CompactTokenDC>
|
||||
{
|
||||
@@ -1,37 +1,37 @@
|
||||
using System;
|
||||
|
||||
using BeWo.Data.Entities;
|
||||
|
||||
using BS.Shared.DataContracts.Compact;
|
||||
|
||||
namespace BeWo.Service.DCEntityMapper
|
||||
{
|
||||
public class CompactUserDC_ApplicationUser : AbstractIDCEntityMapper<ApplicationUser, CompactUserDC>
|
||||
{
|
||||
public override CompactUserDC MergeWithDC(ApplicationUser pEntity, CompactUserDC pDataContract)
|
||||
{
|
||||
pDataContract.LoginName = pEntity.LoginName;
|
||||
pDataContract.UserOid = pEntity.Oid.Value;
|
||||
pDataContract.UserVersion = pEntity.Version.Value;
|
||||
if (pEntity.Employee != null)
|
||||
{
|
||||
pDataContract.EmployeeOid = pEntity.Employee.Oid;
|
||||
pDataContract.EmployeeFirstName = pEntity.Employee.Person.FirstName;
|
||||
pDataContract.EmployeeLastName = pEntity.Employee.Person.LastName;
|
||||
}
|
||||
|
||||
return pDataContract;
|
||||
}
|
||||
|
||||
public override ApplicationUser MergeWithEntity(CompactUserDC pDataContract, ApplicationUser pEntity)
|
||||
{
|
||||
// compact is read only
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
protected override bool AreDCAndEntityEqual(CompactUserDC pDC, ApplicationUser pEntity)
|
||||
{
|
||||
return pDC.UserOid == pEntity.Oid;
|
||||
}
|
||||
}
|
||||
using System;
|
||||
|
||||
using BeWo.Data.Entities;
|
||||
|
||||
using BS.Shared.DataContracts.Compact;
|
||||
|
||||
namespace BeWo.Service.DCEntityMapper.Compact
|
||||
{
|
||||
public class CompactUserDC_ApplicationUser : AbstractIDCEntityMapper<ApplicationUser, CompactUserDC>
|
||||
{
|
||||
public override CompactUserDC MergeWithDC(ApplicationUser pEntity, CompactUserDC pDataContract)
|
||||
{
|
||||
pDataContract.LoginName = pEntity.LoginName;
|
||||
pDataContract.UserOid = pEntity.Oid.Value;
|
||||
pDataContract.UserVersion = pEntity.Version.Value;
|
||||
if (pEntity.Employee != null)
|
||||
{
|
||||
pDataContract.EmployeeOid = pEntity.Employee.Oid;
|
||||
pDataContract.EmployeeFirstName = pEntity.Employee.Person.FirstName;
|
||||
pDataContract.EmployeeLastName = pEntity.Employee.Person.LastName;
|
||||
}
|
||||
|
||||
return pDataContract;
|
||||
}
|
||||
|
||||
public override ApplicationUser MergeWithEntity(CompactUserDC pDataContract, ApplicationUser pEntity)
|
||||
{
|
||||
// compact is read only
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
protected override bool AreDCAndEntityEqual(CompactUserDC pDC, ApplicationUser pEntity)
|
||||
{
|
||||
return pDC.UserOid == pEntity.Oid;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -5,7 +5,7 @@ using System.Linq;
|
||||
using BS.Shared.DataContracts;
|
||||
using BS.Shared.DataContracts.Compact;
|
||||
|
||||
namespace BeWo.Service.DCEntityMapper
|
||||
namespace BeWo.Service.DCEntityMapper.Compact
|
||||
{
|
||||
public class CompactVertreterEmployeeDC_VertreterEmployee : AbstractIDCEntityMapper<Employee, CompactVertreterEmployeeDC>
|
||||
{
|
||||
@@ -1,41 +1,41 @@
|
||||
using BeWo.Data.Access;
|
||||
using BeWo.Data.Entities;
|
||||
using System.Linq;
|
||||
using BS.Shared.DataContracts.Compact;
|
||||
|
||||
namespace BeWo.Service.DCEntityMapper
|
||||
{
|
||||
public class CompactWohnheimDC_Wohnheim : AbstractIDCEntityMapper<Wohnheim, CompactWohnheimDC>
|
||||
{
|
||||
public override CompactWohnheimDC MergeWithDC(Wohnheim pEntity, CompactWohnheimDC pDataContract)
|
||||
{
|
||||
pDataContract.WohnheimOid = pEntity.Oid.Value;
|
||||
pDataContract.Version = pEntity.Version.Value;
|
||||
pDataContract.WohnheimName = pEntity.WohnheimName;
|
||||
pDataContract.Strasse = pEntity.Strasse;
|
||||
pDataContract.PLZ = pEntity.PLZ;
|
||||
pDataContract.Ort = pEntity.Ort;
|
||||
pDataContract.ActivationType = pEntity.IsActive;
|
||||
pDataContract.Bemerkung = pEntity.Bemerkung;
|
||||
pDataContract.PflichtbesetzungStart = pEntity.PflichtbesetzungStart;
|
||||
pDataContract.PflichtbesetzungEnde = pEntity.PflichtbesetzungEnde;
|
||||
pDataContract.PflichtbesetzungEinblenden = pEntity.PflichtbesetzungEinblenden;
|
||||
pDataContract.StandardZeilenanzahl = pEntity.StandardZeilenanzahl;
|
||||
pDataContract.CustomerOids = pEntity.Customer2WohnheimList.Select(c => c.CustomerOid.Value).ToList();
|
||||
pDataContract.EmployeeOids = pEntity.Employee2WohnheimList.Select(c => c.EmployeeOid.Value).ToList();
|
||||
|
||||
return pDataContract;
|
||||
}
|
||||
|
||||
// COMPACT Wohnheim ARE NOT EDITABLE
|
||||
public override Wohnheim MergeWithEntity(CompactWohnheimDC pDataContract, Wohnheim pEntity)
|
||||
{
|
||||
return DAOFactory.GenericDAO.LoadByID<Wohnheim>(pDataContract.WohnheimOid);
|
||||
}
|
||||
|
||||
protected override bool AreDCAndEntityEqual(CompactWohnheimDC pDC, Wohnheim pEntity)
|
||||
{
|
||||
return pDC.WohnheimOid == pEntity.Oid;
|
||||
}
|
||||
}
|
||||
using BeWo.Data.Access;
|
||||
using BeWo.Data.Entities;
|
||||
using System.Linq;
|
||||
using BS.Shared.DataContracts.Compact;
|
||||
|
||||
namespace BeWo.Service.DCEntityMapper.Compact
|
||||
{
|
||||
public class CompactWohnheimDC_Wohnheim : AbstractIDCEntityMapper<Wohnheim, CompactWohnheimDC>
|
||||
{
|
||||
public override CompactWohnheimDC MergeWithDC(Wohnheim pEntity, CompactWohnheimDC pDataContract)
|
||||
{
|
||||
pDataContract.WohnheimOid = pEntity.Oid.Value;
|
||||
pDataContract.Version = pEntity.Version.Value;
|
||||
pDataContract.WohnheimName = pEntity.WohnheimName;
|
||||
pDataContract.Strasse = pEntity.Strasse;
|
||||
pDataContract.PLZ = pEntity.PLZ;
|
||||
pDataContract.Ort = pEntity.Ort;
|
||||
pDataContract.ActivationType = pEntity.IsActive;
|
||||
pDataContract.Bemerkung = pEntity.Bemerkung;
|
||||
pDataContract.PflichtbesetzungStart = pEntity.PflichtbesetzungStart;
|
||||
pDataContract.PflichtbesetzungEnde = pEntity.PflichtbesetzungEnde;
|
||||
pDataContract.PflichtbesetzungEinblenden = pEntity.PflichtbesetzungEinblenden;
|
||||
pDataContract.StandardZeilenanzahl = pEntity.StandardZeilenanzahl;
|
||||
pDataContract.CustomerOids = pEntity.Customer2WohnheimList.Select(c => c.CustomerOid.Value).ToList();
|
||||
pDataContract.EmployeeOids = pEntity.Employee2WohnheimList.Select(c => c.EmployeeOid.Value).ToList();
|
||||
|
||||
return pDataContract;
|
||||
}
|
||||
|
||||
// COMPACT Wohnheim ARE NOT EDITABLE
|
||||
public override Wohnheim MergeWithEntity(CompactWohnheimDC pDataContract, Wohnheim pEntity)
|
||||
{
|
||||
return DAOFactory.GenericDAO.LoadByID<Wohnheim>(pDataContract.WohnheimOid);
|
||||
}
|
||||
|
||||
protected override bool AreDCAndEntityEqual(CompactWohnheimDC pDC, Wohnheim pEntity)
|
||||
{
|
||||
return pDC.WohnheimOid == pEntity.Oid;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,46 +0,0 @@
|
||||
using BeWo.Data.Entities;
|
||||
using BS.Shared.DataContracts.Compact;
|
||||
using BS.Shared.Interface;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace BeWo.Service.DCEntityMapper
|
||||
{
|
||||
public class CompactGkvAbrechnungDC_GkvAbrechnung : AbstractIDCEntityMapper<GkvAbrechnung, CompactGkvAbrechnungDC>
|
||||
{
|
||||
public override CompactGkvAbrechnungDC MergeWithDC(GkvAbrechnung pEntity, CompactGkvAbrechnungDC pDataContract)
|
||||
{
|
||||
pDataContract.GkvAbrechnungOid = pEntity.Oid.Value;
|
||||
pDataContract.GkvAbrechnungErstelltAm = pEntity.ErstelltAm;
|
||||
pDataContract.GkvAbrechnungBetrag = pEntity.Betrag;
|
||||
|
||||
if(pEntity.LastTransferProtokoll is GkvTransferProtokoll protokoll)
|
||||
{
|
||||
pDataContract.GkvProtokollZuletztGesendet = protokoll.ErstelltAm;
|
||||
pDataContract.GkvProtokollSentDakotaSuccess = protokoll.SentDakotaSuccess;
|
||||
pDataContract.GkvProtokollResultType = protokoll.ResultType;
|
||||
pDataContract.GkvProtokollResultDatum = protokoll.Fehlerdatum;
|
||||
|
||||
if(string.IsNullOrWhiteSpace(protokoll.Fehlertitel))
|
||||
pDataContract.GkvProtokollResultMessage = protokoll.Fehlernachricht;
|
||||
else
|
||||
pDataContract.GkvProtokollResultMessage = protokoll.Fehlertitel + ": " + protokoll.Fehlernachricht;
|
||||
}
|
||||
|
||||
return pDataContract;
|
||||
}
|
||||
|
||||
public override GkvAbrechnung MergeWithEntity(CompactGkvAbrechnungDC pDataContract, GkvAbrechnung pEntity)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
protected override bool AreDCAndEntityEqual(CompactGkvAbrechnungDC pDC, GkvAbrechnung pEntity)
|
||||
{
|
||||
return pDC.GkvAbrechnungOid == pEntity.Oid;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,11 +1,13 @@
|
||||
using BeWo.Data.Access;
|
||||
using BeWo.Data.Entities;
|
||||
using BeWo.Data.Entities.Light;
|
||||
using BS.Shared;
|
||||
using BS.Shared.Core;
|
||||
using BS.Shared.DataContracts;
|
||||
using BS.Shared.DataContracts.GkvAbrechnung;
|
||||
using BS.Shared.Extensions;
|
||||
using BS.Shared.Interface;
|
||||
using NHibernate.Linq;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
|
||||
@@ -13,26 +15,71 @@ namespace BeWo.Service.DCEntityMapper
|
||||
{
|
||||
public class GkvAbrechnungDC_GkvAbrechnung : AbstractIDCEntityMapper<GkvAbrechnung, GkvAbrechnungDC>
|
||||
{
|
||||
public void ClearRawData(List<GkvAbrechnungDC> gkvAbrechnungen)
|
||||
{
|
||||
if ((!gkvAbrechnungen?.Any()) ?? true)
|
||||
return;
|
||||
public static Tuple<bool, string> GetValidation(IGkvAbrechnung gkvAbrechnung, GkvState state, long orga_oid)
|
||||
{
|
||||
bool isReady = false;
|
||||
string tooltip = "unknown error";
|
||||
|
||||
foreach (var gkvAbrechnung in gkvAbrechnungen)
|
||||
switch (state)
|
||||
{
|
||||
ClearRawData(gkvAbrechnung);
|
||||
case GkvState.NoSend:
|
||||
isReady = true;
|
||||
tooltip = "Senden";
|
||||
break;
|
||||
case GkvState.ErrorSoft:
|
||||
isReady = true;
|
||||
tooltip = "Erneut senden";
|
||||
break;
|
||||
case GkvState.ErrorFatal:
|
||||
isReady = false;
|
||||
tooltip = "Fataler Fehler";
|
||||
break;
|
||||
case GkvState.ErrorFolgefehler:
|
||||
isReady = false;
|
||||
tooltip = "Folgefehler";
|
||||
break;
|
||||
case GkvState.Paid:
|
||||
isReady = false;
|
||||
tooltip = "Bereits bezahlt";
|
||||
break;
|
||||
case GkvState.WaitingForDakota:
|
||||
isReady = false;
|
||||
tooltip = "Warte auf Übertragung";
|
||||
break;
|
||||
case GkvState.WaitingForKrankenkasse:
|
||||
isReady = false;
|
||||
tooltip = "Warte auf Gkv";
|
||||
break;
|
||||
case GkvState.WaitingForKrankenkasseTooLong:
|
||||
isReady = false;
|
||||
tooltip = "Informieren sie sich bei der jeweiligen Gkv";
|
||||
break;
|
||||
case GkvState.WaitingForUrbelege:
|
||||
isReady = false;
|
||||
tooltip = "Urbelege noch nicht gesendet";
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
public void ClearRawData(GkvAbrechnungDC gkvAbrechnung)
|
||||
{
|
||||
if ((!gkvAbrechnung.TransferProtokolle?.Any()) ?? true)
|
||||
return;
|
||||
if (isReady)
|
||||
{
|
||||
// Hole OrganisationLight
|
||||
var orga = DAOFactory.GenericDAO.LoadByID<OrganisationLight>(orga_oid);
|
||||
|
||||
if (!Validator.IsOrganisationInformationValid(orga))
|
||||
{
|
||||
isReady = false;
|
||||
tooltip = "Organisation ist nicht Gkv Ready";
|
||||
}
|
||||
else if (!DAOFactory.FinanceDAO.HaveIKDatenannahmestelleChanged(gkvAbrechnung, orga.IKDatenannahmestelle))
|
||||
{
|
||||
isReady = false;
|
||||
tooltip = "Datenannahmestelle hat sich geändert. Bitte neue Abrechnung erstellen.";
|
||||
}
|
||||
}
|
||||
|
||||
foreach (var protokoll in gkvAbrechnung.TransferProtokolle)
|
||||
{
|
||||
MapperFactory.GkvTransferProtokollDC_GkvTransferprotokoll.ClearRawData(protokoll);
|
||||
}
|
||||
return new Tuple<bool, string>(isReady, tooltip);
|
||||
}
|
||||
|
||||
public override GkvAbrechnungDC MergeWithDC(GkvAbrechnung pEntity, GkvAbrechnungDC pDataContract)
|
||||
@@ -44,8 +91,8 @@ namespace BeWo.Service.DCEntityMapper
|
||||
|
||||
var orga = pEntity.Organisation;
|
||||
|
||||
pDataContract.GkvAbrechnungOid = pEntity.Oid;
|
||||
pDataContract.GkvAbrechnungVersion = pEntity.Version;
|
||||
pDataContract.Oid = pEntity.Oid;
|
||||
pDataContract.Version = pEntity.Version;
|
||||
pDataContract.Notice = pEntity.Notice;
|
||||
|
||||
pDataContract.AbrechnungsZeitraumStart = pEntity.AbrechnungsZeitraumStart;
|
||||
@@ -61,75 +108,11 @@ namespace BeWo.Service.DCEntityMapper
|
||||
|
||||
pDataContract.Organisation = MapperFactory.OrganisationDC_OrganisationMapper.MapToNewDC(orga);
|
||||
|
||||
pDataContract.TransferProtokolle = MapperFactory.GkvTransferProtokollDC_GkvTransferprotokoll.MapToNewDCs(pEntity.GkvTransferProtokolle);
|
||||
pDataContract.Protokolle = MapperFactory.GkvTransferProtokollDC_GkvTransferprotokoll.MapToNewDCs(pEntity.GkvTransferProtokolle);
|
||||
|
||||
bool isReady = false;
|
||||
string tooltip = "unknown error";
|
||||
var (isReady, tooltip) = GetValidation(pEntity, pEntity.GetState(), orga.Oid.Value);
|
||||
|
||||
var state = pDataContract.GetState();
|
||||
|
||||
switch (state)
|
||||
{
|
||||
case BS.Shared.GkvState.NoSend:
|
||||
isReady = true;
|
||||
tooltip = "Senden";
|
||||
break;
|
||||
case BS.Shared.GkvState.ErrorSoft:
|
||||
isReady = true;
|
||||
tooltip = "Erneut senden";
|
||||
break;
|
||||
case BS.Shared.GkvState.ErrorFatal:
|
||||
isReady = false;
|
||||
tooltip = "Fataler Fehler";
|
||||
break;
|
||||
case BS.Shared.GkvState.ErrorFolgefehler:
|
||||
isReady = false;
|
||||
tooltip = "Folgefehler";
|
||||
break;
|
||||
case BS.Shared.GkvState.Paid:
|
||||
isReady = false;
|
||||
tooltip = "Bereits bezahlt";
|
||||
break;
|
||||
case BS.Shared.GkvState.WaitingForDakota:
|
||||
isReady = false;
|
||||
tooltip = "Warte auf Übertragung";
|
||||
break;
|
||||
case BS.Shared.GkvState.WaitingForKrankenkasse:
|
||||
isReady = false;
|
||||
tooltip = "Warte auf Gkv";
|
||||
break;
|
||||
case BS.Shared.GkvState.WaitingForKrankenkasseTooLong:
|
||||
isReady = false;
|
||||
tooltip = "Informieren sie sich bei der jeweiligen Gkv";
|
||||
break;
|
||||
case BS.Shared.GkvState.WaitingForUrbelege:
|
||||
isReady = false;
|
||||
tooltip = "Urbelege noch nicht gesendet";
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
if (isReady)
|
||||
{
|
||||
if(!Validator.IsOrganisationInformationValid(orga.IKDatenannahmestelle, orga.IKKostentrager, orga.IKKrankenkasse, orga.BezDatenannahmestelle))
|
||||
{
|
||||
isReady = false;
|
||||
tooltip = "Organisation fehlen Informationen";
|
||||
}
|
||||
else if(pDataContract.TransferProtokolle is IList<GkvTransferProtokollDC> list && list.Any())
|
||||
{
|
||||
var last_prot_w_daten = list.Select(x => x.IKDatenannahmestelle).Where((x) => !string.IsNullOrEmpty(x)).LastOrDefault();
|
||||
|
||||
if (!string.IsNullOrEmpty(last_prot_w_daten) && last_prot_w_daten != orga.IKDatenannahmestelle)
|
||||
{
|
||||
isReady = false;
|
||||
tooltip = "Datenannahmestelle hat sich geändert. Bitte neue Abrechnung erstellen.";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
pDataContract.IsReady2Send = isReady;
|
||||
pDataContract.IsReady2Send = isReady;
|
||||
pDataContract.SendTooltip = tooltip;
|
||||
|
||||
return pDataContract;
|
||||
@@ -137,10 +120,10 @@ namespace BeWo.Service.DCEntityMapper
|
||||
|
||||
public override GkvAbrechnung MergeWithEntity(GkvAbrechnungDC pDataContract, GkvAbrechnung pEntity)
|
||||
{
|
||||
this.ConcurrencyCheck(pDataContract.GkvAbrechnungVersion, pEntity);
|
||||
this.ConcurrencyCheck(pDataContract.Version, pEntity);
|
||||
|
||||
pEntity.Oid = pDataContract.GkvAbrechnungOid;
|
||||
pEntity.Version = pDataContract.GkvAbrechnungVersion;
|
||||
pEntity.Oid = pDataContract.Oid;
|
||||
pEntity.Version = pDataContract.Version;
|
||||
pEntity.Notice = pDataContract.Notice;
|
||||
|
||||
pEntity.AbrechnungsZeitraumStart = pDataContract.AbrechnungsZeitraumStart;
|
||||
@@ -156,7 +139,7 @@ namespace BeWo.Service.DCEntityMapper
|
||||
if (pEntity.GkvTransferProtokolle is null)
|
||||
pEntity.GkvTransferProtokolle = new List<GkvTransferProtokoll>();
|
||||
|
||||
MapperFactory.GkvTransferProtokollDC_GkvTransferprotokoll.MergeWithEntitys(pDataContract.TransferProtokolle, pEntity.GkvTransferProtokolle);
|
||||
MapperFactory.GkvTransferProtokollDC_GkvTransferprotokoll.MergeWithEntitys(pDataContract.Protokolle, pEntity.GkvTransferProtokolle);
|
||||
|
||||
pEntity.InvoiceBases = DAOFactory.GenericDAO.LoadByIDs<InvoiceBase>(pDataContract.InvoiceBases.Select(x => x.InvoiceBaseOid.Value));
|
||||
|
||||
@@ -172,12 +155,12 @@ namespace BeWo.Service.DCEntityMapper
|
||||
|
||||
protected override bool AreDCAndEntityEqual(GkvAbrechnungDC pDC, GkvAbrechnung pEntity)
|
||||
{
|
||||
if (pDC.GkvAbrechnungOid == null)
|
||||
if (pDC.Oid == null)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
return pDC.GkvAbrechnungOid == pEntity.Oid;
|
||||
return pDC.Oid == pEntity.Oid;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -12,12 +12,6 @@ namespace BeWo.Service.DCEntityMapper
|
||||
{
|
||||
public class GkvTransferProtokollDC_GkvTransferprotokoll : AbstractIDCEntityMapper<GkvTransferProtokoll, GkvTransferProtokollDC>
|
||||
{
|
||||
public void ClearRawData(GkvTransferProtokollDC gkvTransfer)
|
||||
{
|
||||
gkvTransfer.Auftragsdatei = null;
|
||||
gkvTransfer.Nutzdatendatei = null;
|
||||
}
|
||||
|
||||
public override GkvTransferProtokollDC MergeWithDC(GkvTransferProtokoll pEntity, GkvTransferProtokollDC pDataContract)
|
||||
{
|
||||
pDataContract.IKDatenannahmestelle = pEntity.IKDatenannahmestelle;
|
||||
@@ -30,8 +24,8 @@ namespace BeWo.Service.DCEntityMapper
|
||||
pDataContract.Dateityp = pEntity.Dateityp;
|
||||
pDataContract.EmpfangerBezeichnung = pEntity.EmpfangerBezeichnung;
|
||||
pDataContract.GkvAbrechnungOid = pEntity.GkvAbrechnungOid;
|
||||
pDataContract.GkvTransferProtokollOid = pEntity.Oid;
|
||||
pDataContract.GkvTransferProtokollVersion = pEntity.Version;
|
||||
pDataContract.Oid = pEntity.Oid;
|
||||
pDataContract.Version = pEntity.Version;
|
||||
pDataContract.Notice = pEntity.Notice;
|
||||
|
||||
pDataContract.Rechnungsnummer = pEntity.Rechnungsnummer;
|
||||
@@ -58,15 +52,13 @@ namespace BeWo.Service.DCEntityMapper
|
||||
|
||||
public override GkvTransferProtokoll MergeWithEntity(GkvTransferProtokollDC pDataContract, GkvTransferProtokoll pEntity)
|
||||
{
|
||||
this.ConcurrencyCheck(pDataContract.GkvTransferProtokollVersion, pEntity);
|
||||
ConcurrencyCheck(pDataContract.Version, pEntity);
|
||||
|
||||
pEntity.AbsenderBezeichnung = pDataContract.AbsenderBezeichnung;
|
||||
pEntity.Dateiname = pDataContract.Dateiname;
|
||||
pEntity.Dateityp = pDataContract.Dateityp;
|
||||
pEntity.EmpfangerBezeichnung = pDataContract.EmpfangerBezeichnung;
|
||||
pEntity.GkvAbrechnungOid = pDataContract.GkvAbrechnungOid;
|
||||
pEntity.Oid = pDataContract.GkvTransferProtokollOid;
|
||||
pEntity.Version = pDataContract.GkvTransferProtokollVersion;
|
||||
pEntity.Notice = pDataContract.Notice;
|
||||
|
||||
pEntity.IKDatenannahmestelle = pDataContract.IKDatenannahmestelle;
|
||||
@@ -97,12 +89,12 @@ namespace BeWo.Service.DCEntityMapper
|
||||
|
||||
protected override bool AreDCAndEntityEqual(GkvTransferProtokollDC pDC, GkvTransferProtokoll pEntity)
|
||||
{
|
||||
if (pDC.GkvTransferProtokollOid == null)
|
||||
if (pDC.Oid == null)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
return pDC.GkvTransferProtokollOid == pEntity.Oid;
|
||||
return pDC.Oid == pEntity.Oid;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,69 @@
|
||||
using BeWo.Data.Entities;
|
||||
using BeWo.Data.Entities.Light;
|
||||
using BS.Shared;
|
||||
using BS.Shared.DataContracts;
|
||||
using BS.Shared.DataContracts.Compact;
|
||||
using BS.Shared.DataContracts.Light;
|
||||
using BS.Shared.Extensions;
|
||||
using BS.Shared.Interface;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace BeWo.Service.DCEntityMapper.Compact
|
||||
{
|
||||
public class GkvAbrechnungLightDC_GkvAbrechnungLight : AbstractIDCEntityMapper<GkvAbrechnungLight, GkvAbrechnungLightDC>
|
||||
{
|
||||
public override GkvAbrechnungLightDC MergeWithDC(GkvAbrechnungLight from, GkvAbrechnungLightDC to)
|
||||
{
|
||||
to.Oid = from.Oid.Value;
|
||||
to.Version = from.Version.Value;
|
||||
to.Notice = from.Notice;
|
||||
to.ErstelltAm = from.ErstelltAm;
|
||||
to.Betrag = from.Betrag;
|
||||
to.OrganisationOid = from.OrganisationOid;
|
||||
to.OrganisationName = from.OrganisationName;
|
||||
to.AbrechnungsZeitraumStart = from.AbrechnungsZeitraumStart;
|
||||
to.AbrechnungsZeitraumEnde = from.AbrechnungsZeitraumEnde;
|
||||
to.UrbelegeGesendet = from.UrbelegeGesendet;
|
||||
to.Bezahlt = from.Bezahlt;
|
||||
to.Verfahrensstufe = from.Verfahrensstufe;
|
||||
|
||||
to.InvoiceBases = MapperFactory.InvoiceBaseLightDC_InvoiceBaseLight.MapToNewDCs(from.InvoiceBases);
|
||||
to.Protokolle = MapperFactory.GkvTransferProtokollLightDC_GkvTransferprotokollLight.MapToNewDCs(from.Protokolle);
|
||||
|
||||
var (isReady, tooltip) = GkvAbrechnungDC_GkvAbrechnung.GetValidation(from, from.GetState(), from.OrganisationOid);
|
||||
|
||||
to.IsReady2Send = isReady;
|
||||
to.SendTooltip = tooltip;
|
||||
|
||||
return to;
|
||||
}
|
||||
|
||||
public override GkvAbrechnungLight MergeWithEntity(GkvAbrechnungLightDC from, GkvAbrechnungLight to)
|
||||
{
|
||||
this.ConcurrencyCheck(from.Version, to);
|
||||
|
||||
if (from.Bezahlt && !to.Bezahlt)
|
||||
{
|
||||
foreach (var invoice in to.InvoiceBases)
|
||||
{
|
||||
invoice.IsPaid = from.Bezahlt;
|
||||
}
|
||||
}
|
||||
|
||||
to.Bezahlt = from.Bezahlt;
|
||||
to.Notice = from.Notice;
|
||||
to.UrbelegeGesendet = from.UrbelegeGesendet;
|
||||
|
||||
return to;
|
||||
}
|
||||
|
||||
protected override bool AreDCAndEntityEqual(GkvAbrechnungLightDC pDC, GkvAbrechnungLight pEntity)
|
||||
{
|
||||
return pDC.Oid == pEntity.Oid;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,69 @@
|
||||
using BeWo.Data.Access;
|
||||
using BeWo.Data.Entities;
|
||||
using BeWo.Data.Entities.Light;
|
||||
using BS.Shared.DataContracts;
|
||||
using BS.Shared.DataContracts.Compact;
|
||||
using BS.Shared.DataContracts.GkvAbrechnung;
|
||||
using BS.Shared.DataContracts.Light;
|
||||
using NHibernate.Linq;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
|
||||
namespace BeWo.Service.DCEntityMapper.Compact
|
||||
{
|
||||
public class GkvTransferProtokollLightDC_GkvTransferprotokollLight : AbstractIDCEntityMapper<GkvTransferProtokollLight, GkvTransferProtokollLightDC>
|
||||
{
|
||||
public override GkvTransferProtokollLightDC MergeWithDC(GkvTransferProtokollLight pEntity, GkvTransferProtokollLightDC pDataContract)
|
||||
{
|
||||
pDataContract.Oid = pEntity.Oid;
|
||||
pDataContract.Version = pEntity.Version;
|
||||
|
||||
pDataContract.IKDatenannahmestelle = pEntity.IKDatenannahmestelle;
|
||||
pDataContract.IKKrankenkasse = pEntity.IKKrankenkasse;
|
||||
pDataContract.IKLeistungserbringer = pEntity.IKLeistungserbringer;
|
||||
pDataContract.IKKostentrager = pEntity.IKKostentrager;
|
||||
|
||||
pDataContract.AbsenderBezeichnung = pEntity.AbsenderBezeichnung;
|
||||
pDataContract.Dateiname = pEntity.Dateiname;
|
||||
pDataContract.Dateityp = pEntity.Dateityp;
|
||||
pDataContract.EmpfangerBezeichnung = pEntity.EmpfangerBezeichnung;
|
||||
pDataContract.GkvAbrechnungOid = pEntity.GkvAbrechnungOid;
|
||||
pDataContract.Notice = pEntity.Notice;
|
||||
|
||||
pDataContract.Rechnungsnummer = pEntity.Rechnungsnummer;
|
||||
pDataContract.Transfername = pEntity.Transfername;
|
||||
pDataContract.Transfernummer = pEntity.Transfernummer;
|
||||
pDataContract.Dateigrosse = pEntity.Dateigrosse;
|
||||
pDataContract.Datenaustauschreferenz = pEntity.Datenaustauschreferenz;
|
||||
|
||||
pDataContract.ErstelltAm = pEntity.ErstelltAm;
|
||||
|
||||
pDataContract.SentApp8Success = pEntity.SentApp8Success;
|
||||
pDataContract.SentDakotaSuccess = pEntity.SentDakotaSuccess;
|
||||
|
||||
//pDataContract.HasFehler = pEntity.Fehlerdatum.HasValue || !string.IsNullOrWhiteSpace(pEntity.Fehlernachricht);
|
||||
pDataContract.ResultType = pEntity.ResultType;
|
||||
pDataContract.Fehlerdatum = pEntity.Fehlerdatum;
|
||||
pDataContract.Fehlernachricht = pEntity.Fehlernachricht;
|
||||
pDataContract.Fehlertitel = pEntity.Fehlertitel;
|
||||
|
||||
return pDataContract;
|
||||
}
|
||||
|
||||
public override GkvTransferProtokollLight MergeWithEntity(GkvTransferProtokollLightDC pDataContract, GkvTransferProtokollLight pEntity)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
protected override bool AreDCAndEntityEqual(GkvTransferProtokollLightDC pDC, GkvTransferProtokollLight pEntity)
|
||||
{
|
||||
if (pDC.Oid == null)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
return pDC.Oid == pEntity.Oid;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,46 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using BS.Shared.DataContracts;
|
||||
using BeWo.Data.Access;
|
||||
using BeWo.Data.Entities;
|
||||
|
||||
using BS.Shared;
|
||||
using BS.Shared.DataContracts.Compact;
|
||||
using BS.Shared.Extensions;
|
||||
using BS.Shared.DataContracts.Light;
|
||||
using BeWo.Data.Entities.Light;
|
||||
|
||||
namespace BeWo.Service.DCEntityMapper.Compact
|
||||
{
|
||||
public class InvoiceBaseLightDC_InvoiceBaseLight : AbstractIDCEntityMapper<InvoiceBaseLight, InvoiceBaseLightDC>
|
||||
{
|
||||
public override InvoiceBaseLightDC MergeWithDC(InvoiceBaseLight pEntity, InvoiceBaseLightDC pDataContract)
|
||||
{
|
||||
pDataContract.Oid = pEntity.Oid.Value;
|
||||
pDataContract.Version = pEntity.Version.Value;
|
||||
pDataContract.Notice = pEntity.Notice;
|
||||
pDataContract.AccountingPeriodEnd = pEntity.AccountingPeriodEnd;
|
||||
pDataContract.AccountingPeriodStart = pEntity.AccountingPeriodStart;
|
||||
pDataContract.CustomerName = pEntity.CustomerName;
|
||||
pDataContract.RecipientOrganisation = pEntity.RecipientOrganisation;
|
||||
pDataContract.InvoiceTypeText = pEntity.InvoiceTypeText;
|
||||
pDataContract.Type = pEntity.Type;
|
||||
pDataContract.InvoiceDate = pEntity.InvoiceDate;
|
||||
pDataContract.InvoiceNumber = pEntity.InvoiceNumber;
|
||||
pDataContract.TotalAmount = pEntity.TotalAmount;
|
||||
pDataContract.IsPaid = pEntity.IsPaid;
|
||||
|
||||
return pDataContract;
|
||||
}
|
||||
|
||||
public override InvoiceBaseLight MergeWithEntity(InvoiceBaseLightDC pDataContract, InvoiceBaseLight pEntity)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
protected override bool AreDCAndEntityEqual(InvoiceBaseLightDC pDC, InvoiceBaseLight pEntity)
|
||||
{
|
||||
return pDC.Oid == pEntity.Oid;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,40 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using BS.Shared.DataContracts;
|
||||
using BeWo.Data.Access;
|
||||
using BeWo.Data.Entities;
|
||||
|
||||
using BS.Shared;
|
||||
using BS.Shared.DataContracts.Compact;
|
||||
using BS.Shared.Extensions;
|
||||
using BS.Shared.DataContracts.Light;
|
||||
using BeWo.Data.Entities.Light;
|
||||
|
||||
namespace BeWo.Service.DCEntityMapper.Compact
|
||||
{
|
||||
public class OrganisationLightDC_OrganisationLight : AbstractIDCEntityMapper<OrganisationLight, OrganisationLightDC>
|
||||
{
|
||||
public override OrganisationLightDC MergeWithDC(OrganisationLight pEntity, OrganisationLightDC pDataContract)
|
||||
{
|
||||
pDataContract.Oid = pEntity.Oid.Value;
|
||||
pDataContract.Version = pEntity.Version.Value;
|
||||
pDataContract.Name = pEntity.Name;
|
||||
pDataContract.IKDatenannahmestelle = pEntity.IKDatenannahmestelle;
|
||||
pDataContract.IKKostentrager = pEntity.IKKostentrager;
|
||||
pDataContract.IKKrankenkasse = pEntity.IKKrankenkasse;
|
||||
pDataContract.BezDatenannahmestelle = pEntity.BezDatenannahmestelle;
|
||||
|
||||
return pDataContract;
|
||||
}
|
||||
|
||||
public override OrganisationLight MergeWithEntity(OrganisationLightDC pDataContract, OrganisationLight pEntity)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
protected override bool AreDCAndEntityEqual(OrganisationLightDC pDC, OrganisationLight pEntity)
|
||||
{
|
||||
return pDC.Oid == pEntity.Oid;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,4 +1,5 @@
|
||||
using BeWo.Data.Entities;
|
||||
using BeWo.Service.DCEntityMapper.Compact;
|
||||
using BS.Shared.DataContracts;
|
||||
using DevExpress.CodeParser;
|
||||
|
||||
@@ -114,7 +115,11 @@ namespace BeWo.Service.DCEntityMapper
|
||||
|
||||
private static GkvTransferProtokollDC_GkvTransferprotokoll _GkvTransferProtokollDC_GkvTransferprotokoll;
|
||||
|
||||
private static GkvTransferProtokollLightDC_GkvTransferprotokollLight _CompactGkvTransferProtokollDC_GkvTransferprotokoll;
|
||||
|
||||
private static InvoiceBaseDC_InvoiceBase _InvoiceBaseDC_InvoiceBase;
|
||||
|
||||
private static CompactInvoiceBaseDC_InvoiceBase _CompactInvoiceBaseDC_InvoiceBase;
|
||||
|
||||
private static InvoiceDC_Invoice _InvoiceDC_Invoice;
|
||||
|
||||
@@ -310,7 +315,13 @@ namespace BeWo.Service.DCEntityMapper
|
||||
|
||||
private static AiSettingsDC_AiSettings _AiSettingsDC_AiSettings;
|
||||
|
||||
private static CompactGkvAbrechnungDC_GkvAbrechnung _CompactGkvAbrechnungDC_GkvAbrechnung;
|
||||
private static GkvAbrechnungLightDC_GkvAbrechnungLight _GkvAbrechnungLightDC_GkvAbrechnungLight;
|
||||
|
||||
private static GkvTransferProtokollLightDC_GkvTransferprotokollLight _GkvTransferProtokollLightDC_GkvTransferprotokollLight;
|
||||
|
||||
private static CompactOrganisationDC_Organisation _OrganisationLightDC_OrganisationLight;
|
||||
|
||||
private static InvoiceBaseLightDC_InvoiceBaseLight _InvoiceBaseLightDC_InvoiceBaseLight;
|
||||
|
||||
public static MedRecordDC_MedRecord MedRecordDC_MedRecord =>
|
||||
_MedRecordDC_MedRecord ?? (_MedRecordDC_MedRecord = new MedRecordDC_MedRecord());
|
||||
@@ -564,9 +575,15 @@ namespace BeWo.Service.DCEntityMapper
|
||||
|
||||
public static GkvTransferProtokollDC_GkvTransferprotokoll GkvTransferProtokollDC_GkvTransferprotokoll =>
|
||||
_GkvTransferProtokollDC_GkvTransferprotokoll ?? (_GkvTransferProtokollDC_GkvTransferprotokoll = new GkvTransferProtokollDC_GkvTransferprotokoll());
|
||||
|
||||
public static GkvTransferProtokollLightDC_GkvTransferprotokollLight CompactGkvTransferProtokollDC_GkvTransferprotokoll =>
|
||||
_CompactGkvTransferProtokollDC_GkvTransferprotokoll ?? (_CompactGkvTransferProtokollDC_GkvTransferprotokoll = new GkvTransferProtokollLightDC_GkvTransferprotokollLight());
|
||||
|
||||
public static InvoiceBaseDC_InvoiceBase InvoiceBaseDC_InvoiceBase =>
|
||||
_InvoiceBaseDC_InvoiceBase ?? (_InvoiceBaseDC_InvoiceBase = new InvoiceBaseDC_InvoiceBase());
|
||||
|
||||
public static CompactInvoiceBaseDC_InvoiceBase CompactInvoiceBaseDC_InvoiceBase =>
|
||||
_CompactInvoiceBaseDC_InvoiceBase ?? (_CompactInvoiceBaseDC_InvoiceBase = new CompactInvoiceBaseDC_InvoiceBase());
|
||||
|
||||
public static InvoiceDC_Invoice InvoiceDC_Invoice =>
|
||||
_InvoiceDC_Invoice ?? (_InvoiceDC_Invoice = new InvoiceDC_Invoice());
|
||||
@@ -781,8 +798,17 @@ namespace BeWo.Service.DCEntityMapper
|
||||
public static AiSettingsDC_AiSettings AiSettingsDC_AiSettings =>
|
||||
_AiSettingsDC_AiSettings ?? (_AiSettingsDC_AiSettings = new AiSettingsDC_AiSettings());
|
||||
|
||||
public static CompactGkvAbrechnungDC_GkvAbrechnung CompactGkvAbrechnungDC_GkvAbrechnung =>
|
||||
_CompactGkvAbrechnungDC_GkvAbrechnung ?? (_CompactGkvAbrechnungDC_GkvAbrechnung = new CompactGkvAbrechnungDC_GkvAbrechnung());
|
||||
public static GkvAbrechnungLightDC_GkvAbrechnungLight GkvAbrechnungLightDC_GkvAbrechnungLight =>
|
||||
_GkvAbrechnungLightDC_GkvAbrechnungLight ?? (_GkvAbrechnungLightDC_GkvAbrechnungLight = new GkvAbrechnungLightDC_GkvAbrechnungLight());
|
||||
|
||||
public static GkvTransferProtokollLightDC_GkvTransferprotokollLight GkvTransferProtokollLightDC_GkvTransferprotokollLight =>
|
||||
_GkvTransferProtokollLightDC_GkvTransferprotokollLight ?? (_GkvTransferProtokollLightDC_GkvTransferprotokollLight = new GkvTransferProtokollLightDC_GkvTransferprotokollLight());
|
||||
|
||||
public static CompactOrganisationDC_Organisation OrganisationLightDC_OrganisationLight =>
|
||||
_OrganisationLightDC_OrganisationLight ?? (_OrganisationLightDC_OrganisationLight = new CompactOrganisationDC_Organisation());
|
||||
|
||||
public static InvoiceBaseLightDC_InvoiceBaseLight InvoiceBaseLightDC_InvoiceBaseLight =>
|
||||
_InvoiceBaseLightDC_InvoiceBaseLight ?? (_InvoiceBaseLightDC_InvoiceBaseLight = new InvoiceBaseLightDC_InvoiceBaseLight());
|
||||
|
||||
public static BankAccountDC_BankAccount BankAccountDC_BankAccount { get; }
|
||||
= new BankAccountDC_BankAccount();
|
||||
|
||||
@@ -237,11 +237,13 @@
|
||||
<Compile Include="DCEntityMapper\AddressRouteDC_AddressRoute.cs" />
|
||||
<Compile Include="DCEntityMapper\BankAccountDC_BankAccount.cs" />
|
||||
<Compile Include="DCEntityMapper\BargeldtransaktionshistoryDC_Bargeldtransaktionshistory.cs" />
|
||||
<Compile Include="DCEntityMapper\CompactGkvAbrechnungDC_GkvAbrechnung.cs" />
|
||||
<Compile Include="DCEntityMapper\Compact\CompactInvoiceBaseDC_InvoiceBase.cs" />
|
||||
<Compile Include="DCEntityMapper\Light\GkvAbrechnungLightDC_GkvAbrechnungLight.cs" />
|
||||
<Compile Include="DCEntityMapper\ConfirmationReceiptSignatureDC_ConfirmationReceiptSignature.cs" />
|
||||
<Compile Include="DCEntityMapper\CustomerVermittlungArbeitDC_CustomerVermittlungArbeit.cs" />
|
||||
<Compile Include="DCEntityMapper\AiSettingsDC_AiSettings.cs" />
|
||||
<Compile Include="DCEntityMapper\CustomerWohnhilfeDC_CustomerWohnhilfe.cs" />
|
||||
<Compile Include="DCEntityMapper\Light\GkvTransferProtokollLightDC_GkvTransferprotokollLight.cs" />
|
||||
<Compile Include="DCEntityMapper\ImageDC_Image.cs" />
|
||||
<Compile Include="DCEntityMapper\DienstvertretungDC_Dienstvertretung.cs" />
|
||||
<Compile Include="DCEntityMapper\DokumentvorlageDC_Dokumentvorlage.cs" />
|
||||
@@ -249,6 +251,8 @@
|
||||
<Compile Include="DCEntityMapper\GkvTransferProtokollDC_GkvTransferprotokoll.cs" />
|
||||
<Compile Include="DCEntityMapper\GkvAbrechnungDC_GkvAbrechnung.cs" />
|
||||
<Compile Include="DCEntityMapper\GeschenkterUrlaubstagDC_GeschenkterUrlaubstag.cs" />
|
||||
<Compile Include="DCEntityMapper\Light\InvoiceBaseLightDC_InvoiceBaseLight.cs" />
|
||||
<Compile Include="DCEntityMapper\Light\OrganisationLightDC_OrganisationLight.cs" />
|
||||
<Compile Include="DCEntityMapper\PreisDC_Preis.cs" />
|
||||
<Compile Include="DCEntityMapper\QuittierungsbelegsstatusDC_Quittierungsbelegsstatus.cs" />
|
||||
<Compile Include="DCEntityMapper\RatingTypeDC_RatingType.cs" />
|
||||
@@ -275,7 +279,7 @@
|
||||
<Compile Include="DCEntityMapper\BargeldtransaktionDC_Bargeldtransaktion.cs" />
|
||||
<Compile Include="DCEntityMapper\BeWoFolderDC_BeWoFolder.cs" />
|
||||
<Compile Include="DCEntityMapper\BeWoMobilBrowserInfoDC_BeWoMobilBrowserInfo.cs" />
|
||||
<Compile Include="DCEntityMapper\CompactCustomerTeamDC_CustomerTeam.cs" />
|
||||
<Compile Include="DCEntityMapper\Compact\CompactCustomerTeamDC_CustomerTeam.cs" />
|
||||
<Compile Include="DCEntityMapper\CustomerTeamDC_CustomerTeam.cs" />
|
||||
<Compile Include="DCEntityMapper\CustomerTeamRelDC_Team2CustomerMapper.cs" />
|
||||
<Compile Include="DCEntityMapper\DarreichungsformDC_Darreichungsform.cs" />
|
||||
@@ -290,13 +294,13 @@
|
||||
<Compile Include="DCEntityMapper\AbstractIDCEntityMapper.cs" />
|
||||
<Compile Include="DCEntityMapper\AccountingTransactionDC_AccountingTransaction.cs" />
|
||||
<Compile Include="DCEntityMapper\BookingSequenceDC_ResourceBookingSequence.cs" />
|
||||
<Compile Include="DCEntityMapper\CompactCustomerDC_Customer.cs" />
|
||||
<Compile Include="DCEntityMapper\CompactEmployeeDC_Employee.cs" />
|
||||
<Compile Include="DCEntityMapper\CompactOrganisationDC_Organisation.cs" />
|
||||
<Compile Include="DCEntityMapper\CompactPersonDC_Person.cs" />
|
||||
<Compile Include="DCEntityMapper\CompactSupportConceptDC_SupportConcept.cs" />
|
||||
<Compile Include="DCEntityMapper\CompactTeamDC_Team.cs" />
|
||||
<Compile Include="DCEntityMapper\CompactUserDC_ApplicationUser.cs" />
|
||||
<Compile Include="DCEntityMapper\Compact\CompactCustomerDC_Customer.cs" />
|
||||
<Compile Include="DCEntityMapper\Compact\CompactEmployeeDC_Employee.cs" />
|
||||
<Compile Include="DCEntityMapper\Compact\CompactOrganisationDC_Organisation.cs" />
|
||||
<Compile Include="DCEntityMapper\Compact\CompactPersonDC_Person.cs" />
|
||||
<Compile Include="DCEntityMapper\Compact\CompactSupportConceptDC_SupportConcept.cs" />
|
||||
<Compile Include="DCEntityMapper\Compact\CompactTeamDC_Team.cs" />
|
||||
<Compile Include="DCEntityMapper\Compact\CompactUserDC_ApplicationUser.cs" />
|
||||
<Compile Include="DCEntityMapper\ContactDC_Contact.cs" />
|
||||
<Compile Include="DCEntityMapper\CostRatePeriodDC_CostRatePeriod.cs" />
|
||||
<Compile Include="DCEntityMapper\CustomerCostBearerRelDC_Customer2CostBearer.cs" />
|
||||
@@ -316,20 +320,20 @@
|
||||
<Compile Include="DCEntityMapper\AppointmentDC_Appointment.cs" />
|
||||
<Compile Include="DCEntityMapper\AbsenceTimeDC_AppointmentAbsenceTime.cs" />
|
||||
<Compile Include="DCEntityMapper\CustomerOrganisationRelationDC_Customer2Organisation.cs" />
|
||||
<Compile Include="DCEntityMapper\CompactGroupOfPeopleDC_GroupOfPeople.cs" />
|
||||
<Compile Include="DCEntityMapper\Compact\CompactGroupOfPeopleDC_GroupOfPeople.cs" />
|
||||
<Compile Include="DCEntityMapper\GroupOfPeopleDC_GroupOfPeople.cs" />
|
||||
<Compile Include="DCEntityMapper\CompactCustomerDC_CustomerCompact.cs" />
|
||||
<Compile Include="DCEntityMapper\CompactWohnheimDC_Wohnheim.cs" />
|
||||
<Compile Include="DCEntityMapper\Compact\CompactCustomerDC_CustomerCompact.cs" />
|
||||
<Compile Include="DCEntityMapper\Compact\CompactWohnheimDC_Wohnheim.cs" />
|
||||
<Compile Include="DCEntityMapper\CustomerAPPCodeDC_CustomerAPPCode.cs" />
|
||||
<Compile Include="DCEntityMapper\EmployeeAPPCodeDC_EmployeeAPPCode.cs" />
|
||||
<Compile Include="DCEntityMapper\ChatMessageDC_ChatMessage.cs" />
|
||||
<Compile Include="DCEntityMapper\ChatMediaMessageDC_ChatMediaMessage.cs" />
|
||||
<Compile Include="DCEntityMapper\ArbeitszeitDC_Arbeitszeit.cs" />
|
||||
<Compile Include="DCEntityMapper\ArbeitszeitEintragDC_ArbeitszeitEintrag.cs" />
|
||||
<Compile Include="DCEntityMapper\CompactVertreterEmployeeDC_VertreterEmployee.cs" />
|
||||
<Compile Include="DCEntityMapper\Compact\CompactVertreterEmployeeDC_VertreterEmployee.cs" />
|
||||
<Compile Include="DCEntityMapper\CustomerTokenRelationDC_Customer2Token.cs" />
|
||||
<Compile Include="DCEntityMapper\EmployeeTokenRelationDC_Employee2Token.cs" />
|
||||
<Compile Include="DCEntityMapper\CompactTokenDC_Token.cs" />
|
||||
<Compile Include="DCEntityMapper\Compact\CompactTokenDC_Token.cs" />
|
||||
<Compile Include="DCEntityMapper\ChatBewoMessageSyncDC_ChatBewoMessageSync.cs" />
|
||||
<Compile Include="DCEntityMapper\BudgetDC_Budget.cs" />
|
||||
<Compile Include="DCEntityMapper\QuittierungsCheckDC_QuittierungsCheck.cs" />
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
using BS.Shared;
|
||||
using BeWo.Data.Entities.Light;
|
||||
using BS.Shared;
|
||||
using BS.Shared.Attributes;
|
||||
using BS.Shared.DataContracts.GkvAbrechnung;
|
||||
using BS.Shared.DataContracts.Light;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
@@ -18,17 +20,17 @@ namespace BeWo.Service.ServiceContracts
|
||||
[FaultContract(typeof(BeWoFault))]
|
||||
[OperationContract]
|
||||
[RequirePermission(UserRightType.Finance_Gkv_View)]
|
||||
GkvAbrechnungDC GetGkvAbrechnung(long oid);
|
||||
GkvAbrechnungLightDC GetGkvAbrechnung(long oid);
|
||||
|
||||
[FaultContract(typeof(BeWoFault))]
|
||||
[OperationContract]
|
||||
[RequirePermission(UserRightType.Finance_Gkv_View)]
|
||||
List<GkvAbrechnungDC> GetAllGkvAbrechnungen();
|
||||
List<GkvAbrechnungLightDC> GetAllGkvAbrechnungen();
|
||||
|
||||
[FaultContract(typeof(BeWoFault))]
|
||||
[OperationContract]
|
||||
[RequirePermission(UserRightType.Finance_Gkv_View)]
|
||||
List<GkvAbrechnungDC> GetFilteredGkvAbrechnungen(GkvAbrechnungViewFilterDC gkvAbrechnungViewFilter);
|
||||
List<GkvAbrechnungLightDC> GetFilteredGkvAbrechnungen(GkvAbrechnungViewFilterDC gkvAbrechnungViewFilter);
|
||||
|
||||
[FaultContract(typeof(BeWoFault))]
|
||||
[OperationContract]
|
||||
@@ -43,12 +45,12 @@ namespace BeWo.Service.ServiceContracts
|
||||
[FaultContract(typeof(BeWoFault))]
|
||||
[OperationContract]
|
||||
[RequirePermission(UserRightType.Finance_Gkv_Create)]
|
||||
GkvAbrechnungDC UpdateGkvAbrechnung(GkvAbrechnungDC abrechnung);
|
||||
GkvAbrechnungLightDC UpdateGkvAbrechnung(GkvAbrechnungLightDC abrechnung);
|
||||
|
||||
[FaultContract(typeof(BeWoFault))]
|
||||
[OperationContract]
|
||||
[RequirePermission(UserRightType.Finance_Gkv_Delete)]
|
||||
void DeleteGkvAbrechnung(GkvAbrechnungDC abrechnung);
|
||||
void DeleteGkvAbrechnung(long oid, long version);
|
||||
|
||||
[FaultContract(typeof(BeWoFault))]
|
||||
[OperationContract]
|
||||
|
||||
@@ -308,7 +308,7 @@ namespace BeWo.Service.ServiceImplementations
|
||||
{
|
||||
try
|
||||
{
|
||||
return MapperFactory.CompactOrganisationDC_Organisation.MapToNewDCs(DAOFactory.SearchDAO.FindOrganisation(pName, pOnlyCostBearer));
|
||||
return MapperFactory.CompactOrganisationDC_Organisation.MapToNewDCs(DAOFactory.OrganisationDAO.FindOrganisation(pName, pOnlyCostBearer));
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
@@ -3481,7 +3481,7 @@ namespace BeWo.Service.ServiceImplementations
|
||||
|
||||
public List<CompactOrganisationDC> GetOrganisationsForPerson(long personoid)
|
||||
{
|
||||
var x = DAOFactory.SearchDAO.GetAllOrganisation2PersonRelations(personoid);
|
||||
var x = DAOFactory.OrganisationDAO.GetAllOrganisation2PersonRelations(personoid);
|
||||
|
||||
var items = MapperFactory.CompactOrganisationDC_Organisation.MapToNewDCs(x);
|
||||
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
using BeWo.Data;
|
||||
using BeWo.Data.Access;
|
||||
using BeWo.Data.Entities;
|
||||
using BeWo.Data.Entities.Light;
|
||||
using BeWo.Service.Core;
|
||||
using BeWo.Service.DCEntityMapper;
|
||||
using BeWo.Service.Plugins;
|
||||
@@ -8,9 +9,12 @@ using BeWo.Service.ServiceContracts;
|
||||
using BS.Shared;
|
||||
using BS.Shared.AppSender;
|
||||
using BS.Shared.Core;
|
||||
using BS.Shared.DataContracts.Compact;
|
||||
using BS.Shared.DataContracts.GkvAbrechnung;
|
||||
using BS.Shared.DataContracts.Light;
|
||||
using BS.Shared.Exceptions;
|
||||
using BS.Shared.Extensions;
|
||||
using BS.Shared.Interface;
|
||||
using Dakota;
|
||||
using Dakota.Logic;
|
||||
using System;
|
||||
@@ -29,15 +33,13 @@ namespace BeWo.Service.ServiceImplementations
|
||||
{
|
||||
public string Tenant => MultitenancyOperationContextExt.Current?.Tenant;
|
||||
|
||||
public GkvAbrechnungDC GetGkvAbrechnung(long oid)
|
||||
public GkvAbrechnungLightDC GetGkvAbrechnung(long oid)
|
||||
{
|
||||
try
|
||||
{
|
||||
var gkv = DAOFactory.GenericDAO.GetByID<GkvAbrechnung>(oid);
|
||||
var gkv = DAOFactory.GenericDAO.GetByID<GkvAbrechnungLight>(oid);
|
||||
|
||||
var dc = MapperFactory.GkvAbrechnungDC_GkvAbrechnung.MapToNewDC(gkv);
|
||||
|
||||
MapperFactory.GkvAbrechnungDC_GkvAbrechnung.ClearRawData(dc);
|
||||
var dc = MapperFactory.GkvAbrechnungLightDC_GkvAbrechnungLight.MapToNewDC(gkv);
|
||||
|
||||
return dc;
|
||||
}
|
||||
@@ -46,7 +48,8 @@ namespace BeWo.Service.ServiceImplementations
|
||||
throw Utils.CreateBeWoFaultException(e);
|
||||
}
|
||||
}
|
||||
public List<GkvAbrechnungDC> GetFilteredGkvAbrechnungen(GkvAbrechnungViewFilterDC gkvAbrechnungViewFilter)
|
||||
|
||||
public List<GkvAbrechnungLightDC> GetFilteredGkvAbrechnungen(GkvAbrechnungViewFilterDC gkvAbrechnungViewFilter)
|
||||
{
|
||||
try
|
||||
{
|
||||
@@ -57,31 +60,29 @@ namespace BeWo.Service.ServiceImplementations
|
||||
var end = gkvAbrechnungViewFilter.End;
|
||||
var filter = gkvAbrechnungViewFilter.FilterForInvoiceDate;
|
||||
|
||||
return GetGkvAbrechnungen(() => DAOFactory.SearchDAO.GetGkvAbrechnungen(start, end, filter));
|
||||
return GetGkvAbrechnungen(() => DAOFactory.FinanceDAO.GetGkvAbrechnungen(start, end, filter));
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
throw Utils.CreateBeWoFaultException(e);
|
||||
}
|
||||
}
|
||||
public List<GkvAbrechnungDC> GetAllGkvAbrechnungen()
|
||||
public List<GkvAbrechnungLightDC> GetAllGkvAbrechnungen()
|
||||
{
|
||||
try
|
||||
{
|
||||
return GetGkvAbrechnungen(() => DAOFactory.GenericDAO.GetAllActive<GkvAbrechnung>());
|
||||
return GetGkvAbrechnungen(() => DAOFactory.GenericDAO.GetAllActive<GkvAbrechnungLight>());
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
throw Utils.CreateBeWoFaultException(e);
|
||||
}
|
||||
}
|
||||
private List<GkvAbrechnungDC> GetGkvAbrechnungen(Func<IEnumerable<GkvAbrechnung>> get_entities)
|
||||
private List<GkvAbrechnungLightDC> GetGkvAbrechnungen(Func<IEnumerable<GkvAbrechnungLight>> get_entities)
|
||||
{
|
||||
var entities = get_entities();
|
||||
|
||||
var dcs = MapperFactory.GkvAbrechnungDC_GkvAbrechnung.MapToNewDCs(entities);
|
||||
|
||||
MapperFactory.GkvAbrechnungDC_GkvAbrechnung.ClearRawData(dcs);
|
||||
var dcs = MapperFactory.GkvAbrechnungLightDC_GkvAbrechnungLight.MapToNewDCs(entities);
|
||||
|
||||
var updateables = dcs.Where(x => x.IsWaiting()).ToArray();
|
||||
|
||||
@@ -95,9 +96,7 @@ namespace BeWo.Service.ServiceImplementations
|
||||
|
||||
entities = get_entities();
|
||||
|
||||
dcs = MapperFactory.GkvAbrechnungDC_GkvAbrechnung.MapToNewDCs(entities);
|
||||
|
||||
MapperFactory.GkvAbrechnungDC_GkvAbrechnung.ClearRawData(dcs);
|
||||
dcs = MapperFactory.GkvAbrechnungLightDC_GkvAbrechnungLight.MapToNewDCs(entities);
|
||||
|
||||
return dcs;
|
||||
}
|
||||
@@ -110,7 +109,7 @@ namespace BeWo.Service.ServiceImplementations
|
||||
throw new ArgumentOutOfRangeException(nameof(oid), $"oid \'{oid}\' nicht positiv");
|
||||
}
|
||||
|
||||
var str = DAOFactory.SearchDAO.GetGkvRawData(oid, gkvRawData);
|
||||
var str = DAOFactory.FinanceDAO.GetGkvRawData(oid, gkvRawData);
|
||||
|
||||
return str;
|
||||
}
|
||||
@@ -162,10 +161,12 @@ namespace BeWo.Service.ServiceImplementations
|
||||
|
||||
DAOFactory.GenericDAO.Insert(gkv_abrechnung);
|
||||
|
||||
var gkv_abrechnung_dc = MapperFactory.GkvAbrechnungDC_GkvAbrechnung.MapToNewDC(gkv_abrechnung);
|
||||
var gkv_light = DAOFactory.GenericDAO.LoadByID<GkvAbrechnungLight>(gkv_abrechnung.Oid.Value);
|
||||
|
||||
var gkv_abrechnung_dc = MapperFactory.GkvAbrechnungLightDC_GkvAbrechnungLight.MapToNewDC(gkv_light);
|
||||
|
||||
response.Success = true;
|
||||
response.GkvAbrechnungDC = gkv_abrechnung_dc;
|
||||
response.GkvAbrechnungLightDC = gkv_abrechnung_dc;
|
||||
}
|
||||
catch (GkvException exc)
|
||||
{
|
||||
@@ -184,33 +185,17 @@ namespace BeWo.Service.ServiceImplementations
|
||||
|
||||
return response;
|
||||
}
|
||||
public GkvAbrechnungDC UpdateGkvAbrechnung(GkvAbrechnungDC abrechnung)
|
||||
public GkvAbrechnungLightDC UpdateGkvAbrechnung(GkvAbrechnungLightDC abrechnung)
|
||||
{
|
||||
try
|
||||
{
|
||||
var entity = DAOFactory.GenericDAO.GetByID<GkvAbrechnung>(abrechnung.GkvAbrechnungOid.Value);
|
||||
var entity = DAOFactory.GenericDAO.GetByID<GkvAbrechnungLight>(abrechnung.Oid);
|
||||
|
||||
if(entity.Notice != abrechnung.Notice)
|
||||
entity.Notice = abrechnung.Notice;
|
||||
|
||||
if (entity.UrbelegeGesendet != abrechnung.UrbelegeGesendet)
|
||||
entity.UrbelegeGesendet = abrechnung.UrbelegeGesendet;
|
||||
|
||||
if (entity.Bezahlt != abrechnung.Bezahlt)
|
||||
{
|
||||
entity.Bezahlt = abrechnung.Bezahlt;
|
||||
|
||||
foreach (var invoice in entity.InvoiceBases)
|
||||
{
|
||||
invoice.IsPaid = entity.Bezahlt;
|
||||
}
|
||||
}
|
||||
MapperFactory.GkvAbrechnungLightDC_GkvAbrechnungLight.MergeWithEntity(abrechnung, entity);
|
||||
|
||||
DAOFactory.GenericDAO.Update(entity);
|
||||
|
||||
var dc = MapperFactory.GkvAbrechnungDC_GkvAbrechnung.MapToNewDC(entity);
|
||||
|
||||
MapperFactory.GkvAbrechnungDC_GkvAbrechnung.ClearRawData(dc);
|
||||
var dc = MapperFactory.GkvAbrechnungLightDC_GkvAbrechnungLight.MapToNewDC(entity);
|
||||
|
||||
return dc;
|
||||
}
|
||||
@@ -219,11 +204,11 @@ namespace BeWo.Service.ServiceImplementations
|
||||
throw Utils.CreateBeWoFaultException(e);
|
||||
}
|
||||
}
|
||||
public void DeleteGkvAbrechnung(GkvAbrechnungDC abrechnung)
|
||||
public void DeleteGkvAbrechnung(long oid, long version)
|
||||
{
|
||||
try
|
||||
{
|
||||
ServiceLogic.SetActivationType<GkvAbrechnung>(abrechnung.GkvAbrechnungOid.Value, abrechnung.GkvAbrechnungVersion.Value, ActivationTypeId.Deleted);
|
||||
ServiceLogic.SetActivationType<GkvAbrechnung>(oid, version, ActivationTypeId.Deleted);
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
@@ -298,11 +283,11 @@ namespace BeWo.Service.ServiceImplementations
|
||||
|
||||
DAOFactory.GenericDAO.Update(entity);
|
||||
|
||||
response.TransferProtokoll = MapperFactory.GkvTransferProtokollDC_GkvTransferprotokoll.MapToNewDC(protokoll);
|
||||
response.GkvAbrechnungDC = MapperFactory.GkvAbrechnungDC_GkvAbrechnung.MapToNewDC(entity);
|
||||
var entity_light = DAOFactory.GenericDAO.LoadByID<GkvAbrechnungLight>(entity.Oid.Value);
|
||||
var protokoll_light = DAOFactory.GenericDAO.LoadByID<GkvTransferProtokollLight>(protokoll.Oid.Value);
|
||||
|
||||
MapperFactory.GkvTransferProtokollDC_GkvTransferprotokoll.ClearRawData(response.TransferProtokoll);
|
||||
MapperFactory.GkvAbrechnungDC_GkvAbrechnung.ClearRawData(response.GkvAbrechnungDC);
|
||||
response.GkvAbrechnungDC = MapperFactory.GkvAbrechnungLightDC_GkvAbrechnungLight.MapToNewDC(entity_light);
|
||||
response.TransferProtokoll = MapperFactory.GkvTransferProtokollLightDC_GkvTransferprotokollLight.MapToNewDC(protokoll_light);
|
||||
|
||||
return response;
|
||||
}
|
||||
@@ -336,7 +321,7 @@ namespace BeWo.Service.ServiceImplementations
|
||||
if (res.Gefunden)
|
||||
{
|
||||
// Holt alle Organisationen
|
||||
var orgas = DAOFactory.SearchDAO.GetAllOrganisationByIKKrankenkasse(req.IKKrankenkasse);
|
||||
var orgas = DAOFactory.OrganisationDAO.GetAllOrganisationByIKKrankenkasse(req.IKKrankenkasse);
|
||||
|
||||
// Entfernt sich selber
|
||||
if (req.OrganisationOid is long oid)
|
||||
@@ -543,7 +528,7 @@ namespace BeWo.Service.ServiceImplementations
|
||||
/// <param name="loginName"></param>
|
||||
/// <param name="hashed_password"></param>
|
||||
/// <returns>Returns true, if the states are all up to date. False otherwise.</returns>
|
||||
private bool SendApp8GetStatusRequest(GkvAbrechnungDC[] updateables)
|
||||
private bool SendApp8GetStatusRequest(IGkvAbrechnung[] updateables)
|
||||
{
|
||||
var updateables_len = updateables.Count();
|
||||
|
||||
@@ -558,7 +543,7 @@ namespace BeWo.Service.ServiceImplementations
|
||||
var gkv_abrechnung = updateables[id];
|
||||
var gkv_transfer = gkv_abrechnung.TransferProtokolle.Last();
|
||||
|
||||
request.Oids[id] = gkv_transfer.GkvTransferProtokollOid.Value;
|
||||
request.Oids[id] = gkv_transfer.Oid.Value;
|
||||
}
|
||||
|
||||
GkvServerGetStatusResponseDC response_app8;
|
||||
@@ -591,10 +576,10 @@ namespace BeWo.Service.ServiceImplementations
|
||||
|
||||
public void HandleGkvServerResults(IEnumerable<GkvServerResultDC> results)
|
||||
{
|
||||
var protokolls = new List<GkvTransferProtokoll>();
|
||||
var protokolls = new List<GkvTransferProtokollLight>();
|
||||
foreach (var result in results)
|
||||
{
|
||||
var protokoll = DAOFactory.GenericDAO.GetByID<GkvTransferProtokoll>(result.ProtokollOid);
|
||||
var protokoll = DAOFactory.GenericDAO.GetByID<GkvTransferProtokollLight>(result.ProtokollOid);
|
||||
|
||||
protokoll.ResultType = result.ResultType;
|
||||
protokoll.Fehlertitel = result.Titel;
|
||||
@@ -630,8 +615,7 @@ namespace BeWo.Service.ServiceImplementations
|
||||
foreach (var follow in follows)
|
||||
{
|
||||
var protokoll_oid = follow.ProtokollOid;
|
||||
var protokoll = DAOFactory.GenericDAO.LoadByID<GkvTransferProtokoll>(protokoll_oid);
|
||||
var abrechnung_oid = protokoll.GkvAbrechnungOid;
|
||||
var abrechnung_oid = DAOFactory.FinanceDAO.GetGkvParentByProtokollOid(protokoll_oid);
|
||||
|
||||
var new_req = new GkvAbrechnungSendRequestDC()
|
||||
{
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
using BS.Shared.DataContracts;
|
||||
using BS.Shared.DataContracts.GkvAbrechnung;
|
||||
using BS.Shared.Exceptions;
|
||||
using BS.Shared.Interface;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
@@ -109,6 +110,10 @@ namespace BS.Shared.Core
|
||||
if (error != null)
|
||||
throw new GkvException(error);
|
||||
}
|
||||
public static bool IsOrganisationInformationValid(IOrganisation orga)
|
||||
{
|
||||
return IsOrganisationInformationValid(orga.IKDatenannahmestelle, orga.IKKostentrager, orga.IKKrankenkasse, orga.BezDatenannahmestelle);
|
||||
}
|
||||
public static bool IsOrganisationInformationValid(string ik_datenannahmestelle, string ik_kostentrager, string ik_krankenkasse, string bez_datenannahmestelle)
|
||||
=> IsIKNumberValid(ik_datenannahmestelle, ik_kostentrager, ik_krankenkasse) && IsBezDatenannahmestelleValid(bez_datenannahmestelle);
|
||||
public static bool IsIKNumberValid(params string[] iks)
|
||||
|
||||
@@ -1,38 +0,0 @@
|
||||
using Newtonsoft.Json;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Runtime.Serialization;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace BS.Shared.DataContracts.Compact
|
||||
{
|
||||
[DataContract]
|
||||
public class CompactGkvAbrechnungDC : IDataContract
|
||||
{
|
||||
[JsonProperty("gkvioid")]
|
||||
[DataMember] public long GkvAbrechnungOid { get; set; }
|
||||
|
||||
[JsonProperty("gkvicreated")]
|
||||
[DataMember] public DateTime GkvAbrechnungErstelltAm { get; set; }
|
||||
|
||||
[JsonProperty("gkvisum")]
|
||||
[DataMember] public decimal GkvAbrechnungBetrag { get; set; }
|
||||
|
||||
[JsonProperty("sentdatetime")]
|
||||
[DataMember] public DateTime? GkvProtokollZuletztGesendet { get; set; }
|
||||
|
||||
[JsonProperty("sentdakotasuccess")]
|
||||
[DataMember] public bool GkvProtokollSentDakotaSuccess { get; set; }
|
||||
|
||||
[JsonProperty("resulttype")]
|
||||
[DataMember] public GkvTransferResultType? GkvProtokollResultType { get; set; }
|
||||
|
||||
[JsonProperty("resultmessage")]
|
||||
[DataMember] public string GkvProtokollResultMessage { get; set; }
|
||||
|
||||
[JsonProperty("resultdatetime")]
|
||||
[DataMember] public DateTime? GkvProtokollResultDatum { get; set; }
|
||||
}
|
||||
}
|
||||
24
Shared/DataContracts/Compact/CompactInvoiceBaseDC.cs
Normal file
24
Shared/DataContracts/Compact/CompactInvoiceBaseDC.cs
Normal file
@@ -0,0 +1,24 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Runtime.Serialization;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace BS.Shared.DataContracts.Light
|
||||
{
|
||||
public class CompactInvoiceBaseDC : IDataContract
|
||||
{
|
||||
[DataMember] public long? InvoiceBaseOid { get; set; }
|
||||
[DataMember] public DateTime? AccountingPeriodEnd { get; set; }
|
||||
[DataMember] public DateTime? AccountingPeriodStart { get; set; }
|
||||
[DataMember] public string CustomerName { get; set; }
|
||||
[DataMember] public string RecipientOrganisation { get; set; }
|
||||
[DataMember] public string InvoiceTypeText { get; set; }
|
||||
[DataMember] public DateTime? InvoiceDate { get; set; }
|
||||
[DataMember] public string InvoiceNumber { get; set; }
|
||||
[DataMember] public decimal? TotalAmount { get; set; }
|
||||
[DataMember] public bool IsPaid { get; set; }
|
||||
[DataMember] public string Notice { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -1,4 +1,5 @@
|
||||
using System;
|
||||
using BS.Shared.DataContracts.Light;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Runtime.Serialization;
|
||||
@@ -19,6 +20,6 @@ namespace BS.Shared.DataContracts.GkvAbrechnung
|
||||
public GkvAbrechnungCreateResponseDC(bool success, string message)
|
||||
: base(success, message) { }
|
||||
|
||||
[DataMember] public GkvAbrechnungDC GkvAbrechnungDC { get; set; }
|
||||
[DataMember] public GkvAbrechnungLightDC GkvAbrechnungLightDC { get; set; }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -12,8 +12,8 @@ namespace BS.Shared.DataContracts.GkvAbrechnung
|
||||
{
|
||||
public GkvAbrechnungDC() { }
|
||||
|
||||
[DataMember] public long? GkvAbrechnungOid { get; set; }
|
||||
[DataMember] public long? GkvAbrechnungVersion { get; set; }
|
||||
[DataMember] public long? Oid { get; set; }
|
||||
[DataMember] public long? Version { get; set; }
|
||||
[DataMember] public string Notice { get; set; }
|
||||
[DataMember] public DateTime? AbrechnungsZeitraumStart { get; set; }
|
||||
[DataMember] public DateTime? AbrechnungsZeitraumEnde { get; set; }
|
||||
@@ -24,10 +24,11 @@ namespace BS.Shared.DataContracts.GkvAbrechnung
|
||||
[DataMember] public GkvVerfahrensstufe Verfahrensstufe { get; set; }
|
||||
[DataMember] public IList<InvoiceBaseDC> InvoiceBases { get; set; }
|
||||
[DataMember] public OrganisationDC Organisation { get; set; }
|
||||
[DataMember] public IList<GkvTransferProtokollDC> TransferProtokolle { get; set; }
|
||||
[DataMember] public IList<GkvTransferProtokollDC> Protokolle { get; set; }
|
||||
[DataMember] public bool IsReady2Send { get; set; }
|
||||
[DataMember] public string SendTooltip { get; set; }
|
||||
|
||||
public IGkvTransferProtokoll LastTransferProtokoll => TransferProtokolle?.LastOrDefault();
|
||||
public IEnumerable<IGkvTransferProtokoll> TransferProtokolle => Protokolle;
|
||||
public IGkvTransferProtokoll LastTransferProtokoll => Protokolle?.LastOrDefault();
|
||||
}
|
||||
}
|
||||
@@ -11,6 +11,10 @@ namespace BS.Shared.DataContracts.GkvAbrechnung
|
||||
public class GkvAbrechnungSendRequestDC : IDataContract
|
||||
{
|
||||
public GkvAbrechnungSendRequestDC() { }
|
||||
public GkvAbrechnungSendRequestDC(long oid)
|
||||
{
|
||||
GkvAbrechnungOid = oid;
|
||||
}
|
||||
|
||||
[DataMember] public long GkvAbrechnungOid { get; set; }
|
||||
}
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
using System;
|
||||
using BS.Shared.DataContracts.Light;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Runtime.Serialization;
|
||||
@@ -19,7 +20,7 @@ namespace BS.Shared.DataContracts.GkvAbrechnung
|
||||
public GkvAbrechnungSendResponseDC(bool success, string message)
|
||||
: base(success, message) { }
|
||||
|
||||
[DataMember] public GkvAbrechnungDC GkvAbrechnungDC { get; set; }
|
||||
[DataMember] public GkvTransferProtokollDC TransferProtokoll { get; set; }
|
||||
[DataMember] public GkvAbrechnungLightDC GkvAbrechnungDC { get; set; }
|
||||
[DataMember] public GkvTransferProtokollLightDC TransferProtokoll { get; set; }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -18,7 +18,7 @@ namespace BS.Shared.DataContracts.GkvAbrechnung
|
||||
[DataMember] public long ApplicationUserOid { get; set; }
|
||||
[DataMember] public GkvTransferProtokollDC Protokoll { get; set; }
|
||||
|
||||
public long Protokoll_Oid => Protokoll.GkvTransferProtokollOid.Value;
|
||||
public long Protokoll_Oid => Protokoll.Oid.Value;
|
||||
public string Datenannahmestelle => Protokoll.IKDatenannahmestelle;
|
||||
public string Transfername => Protokoll.Transfername;
|
||||
public string Nutzdatendatei => Protokoll.Nutzdatendatei;
|
||||
|
||||
@@ -9,8 +9,8 @@ namespace BS.Shared.DataContracts.GkvAbrechnung
|
||||
[DataContract]
|
||||
public class GkvTransferProtokollDC : IDataContract, IGkvTransferProtokoll
|
||||
{
|
||||
[DataMember] public long? GkvTransferProtokollOid { get; set; }
|
||||
[DataMember] public long? GkvTransferProtokollVersion { get; set; }
|
||||
[DataMember] public long? Oid { get; set; }
|
||||
[DataMember] public long? Version { get; set; }
|
||||
[DataMember] public string Notice { get; set; }
|
||||
[DataMember] public long GkvAbrechnungOid { get; set; }
|
||||
[DataMember] public string AbsenderBezeichnung { get; set; }
|
||||
|
||||
35
Shared/DataContracts/Light/GkvAbrechnungLightDC.cs
Normal file
35
Shared/DataContracts/Light/GkvAbrechnungLightDC.cs
Normal file
@@ -0,0 +1,35 @@
|
||||
using BS.Shared.DataContracts.Compact;
|
||||
using BS.Shared.DataContracts.GkvAbrechnung;
|
||||
using BS.Shared.Interface;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Runtime.Serialization;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace BS.Shared.DataContracts.Light
|
||||
{
|
||||
public class GkvAbrechnungLightDC : ILightDataContract, IGkvAbrechnung
|
||||
{
|
||||
[DataMember] public long Oid { get; set; }
|
||||
[DataMember] public long Version { get; set; }
|
||||
[DataMember] public string Notice { get; set; }
|
||||
[DataMember] public DateTime ErstelltAm { get; set; }
|
||||
[DataMember] public decimal Betrag { get; set; }
|
||||
[DataMember] public long OrganisationOid { get; set; }
|
||||
[DataMember] public string OrganisationName { get; set; }
|
||||
[DataMember] public DateTime? AbrechnungsZeitraumStart { get; set; }
|
||||
[DataMember] public DateTime? AbrechnungsZeitraumEnde { get; set; }
|
||||
[DataMember] public bool UrbelegeGesendet { get; set; }
|
||||
[DataMember] public bool Bezahlt { get; set; }
|
||||
[DataMember] public GkvVerfahrensstufe Verfahrensstufe { get; set; }
|
||||
[DataMember] public IList<InvoiceBaseLightDC> InvoiceBases { get; set; }
|
||||
[DataMember] public IList<GkvTransferProtokollLightDC> Protokolle { get; set; }
|
||||
[DataMember] public bool IsReady2Send { get; set; }
|
||||
[DataMember] public string SendTooltip { get; set; }
|
||||
|
||||
public virtual IEnumerable<IGkvTransferProtokoll> TransferProtokolle => Protokolle;
|
||||
public virtual IGkvTransferProtokoll LastTransferProtokoll => Protokolle?.LastOrDefault();
|
||||
}
|
||||
}
|
||||
40
Shared/DataContracts/Light/GkvTransferProtokollLightDC.cs
Normal file
40
Shared/DataContracts/Light/GkvTransferProtokollLightDC.cs
Normal file
@@ -0,0 +1,40 @@
|
||||
using BS.Shared.Interface;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Runtime.Serialization;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace BS.Shared.DataContracts.Light
|
||||
{
|
||||
public class GkvTransferProtokollLightDC : ILightDataContract, IGkvTransferProtokoll
|
||||
{
|
||||
[DataMember] public long? Oid { get; set; }
|
||||
[DataMember] public long? Version { get; set; }
|
||||
[DataMember] public string Notice { get; set; }
|
||||
[DataMember] public long GkvAbrechnungOid { get; set; }
|
||||
[DataMember] public string AbsenderBezeichnung { get; set; }
|
||||
[DataMember] public string EmpfangerBezeichnung { get; set; }
|
||||
[DataMember] public string IKLeistungserbringer { get; set; }
|
||||
[DataMember] public string IKKrankenkasse { get; set; }
|
||||
[DataMember] public string IKKostentrager { get; set; }
|
||||
[DataMember] public string IKDatenannahmestelle { get; set; }
|
||||
[DataMember] public string Rechnungsnummer { get; set; }
|
||||
[DataMember] public int Datenaustauschreferenz { get; set; }
|
||||
[DataMember] public int Transfernummer { get; set; }
|
||||
[DataMember] public string Transfername { get; set; }
|
||||
[DataMember] public DateTime? ErstelltAm { get; set; }
|
||||
[DataMember] public string Dateityp { get; set; }
|
||||
[DataMember] public string Dateiname { get; set; }
|
||||
[DataMember] public int Dateigrosse { get; set; }
|
||||
[DataMember] public bool SentApp8Success { get; set; }
|
||||
[DataMember] public bool SentDakotaSuccess { get; set; }
|
||||
[DataMember] public GkvTransferResultType? ResultType { get; set; }
|
||||
[DataMember] public string Fehlertitel { get; set; }
|
||||
[DataMember] public DateTime? Fehlerdatum { get; set; }
|
||||
[DataMember] public string Fehlernachricht { get; set; }
|
||||
|
||||
public string BezDatenannahmestelle => EmpfangerBezeichnung;
|
||||
}
|
||||
}
|
||||
12
Shared/DataContracts/Light/ILightDataContract.cs
Normal file
12
Shared/DataContracts/Light/ILightDataContract.cs
Normal file
@@ -0,0 +1,12 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace BS.Shared.DataContracts.Light
|
||||
{
|
||||
public interface ILightDataContract : IDataContract
|
||||
{
|
||||
}
|
||||
}
|
||||
26
Shared/DataContracts/Light/InvoiceBaseLightDC.cs
Normal file
26
Shared/DataContracts/Light/InvoiceBaseLightDC.cs
Normal file
@@ -0,0 +1,26 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Runtime.Serialization;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace BS.Shared.DataContracts.Light
|
||||
{
|
||||
public class InvoiceBaseLightDC : ILightDataContract
|
||||
{
|
||||
[DataMember] public long? Oid { get; set; }
|
||||
[DataMember] public long Version { get; set; }
|
||||
[DataMember] public DateTime? AccountingPeriodEnd { get; set; }
|
||||
[DataMember] public DateTime? AccountingPeriodStart { get; set; }
|
||||
[DataMember] public string CustomerName { get; set; }
|
||||
[DataMember] public string RecipientOrganisation { get; set; }
|
||||
[DataMember] public InvoiceType Type { get; set; }
|
||||
[DataMember] public string InvoiceTypeText { get; set; }
|
||||
[DataMember] public DateTime? InvoiceDate { get; set; }
|
||||
[DataMember] public string InvoiceNumber { get; set; }
|
||||
[DataMember] public decimal? TotalAmount { get; set; }
|
||||
[DataMember] public bool IsPaid { get; set; }
|
||||
[DataMember] public string Notice { get; set; }
|
||||
}
|
||||
}
|
||||
20
Shared/DataContracts/Light/OrganisationLightDC.cs
Normal file
20
Shared/DataContracts/Light/OrganisationLightDC.cs
Normal file
@@ -0,0 +1,20 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Runtime.Serialization;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace BS.Shared.DataContracts.Light
|
||||
{
|
||||
public class OrganisationLightDC : ILightDataContract
|
||||
{
|
||||
[DataMember] public long Oid { get; set; }
|
||||
[DataMember] public long Version { get; set; }
|
||||
[DataMember] public string Name { get; set; }
|
||||
[DataMember] public string IKKrankenkasse { get; set; }
|
||||
[DataMember] public string IKKostentrager { get; set; }
|
||||
[DataMember] public string IKDatenannahmestelle { get; set; }
|
||||
[DataMember] public string BezDatenannahmestelle { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -11,6 +11,8 @@ namespace BS.Shared.Interface
|
||||
bool Bezahlt { get; set; }
|
||||
bool UrbelegeGesendet { get; set; }
|
||||
DateTime ErstelltAm { get; set; }
|
||||
IGkvTransferProtokoll LastTransferProtokoll { get; }
|
||||
}
|
||||
|
||||
IEnumerable<IGkvTransferProtokoll> TransferProtokolle { get; }
|
||||
IGkvTransferProtokoll LastTransferProtokoll { get; }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -8,6 +8,7 @@ namespace BS.Shared.Interface
|
||||
{
|
||||
public interface IGkvTransferProtokoll
|
||||
{
|
||||
long? Oid { get; }
|
||||
string IKDatenannahmestelle { get; set; }
|
||||
string BezDatenannahmestelle { get; }
|
||||
GkvTransferResultType? ResultType { get; set; }
|
||||
|
||||
16
Shared/Interface/IOrganisation.cs
Normal file
16
Shared/Interface/IOrganisation.cs
Normal file
@@ -0,0 +1,16 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace BS.Shared.Interface
|
||||
{
|
||||
public interface IOrganisation
|
||||
{
|
||||
string IKKrankenkasse { get; set; }
|
||||
string IKKostentrager { get; set; }
|
||||
string IKDatenannahmestelle { get; set; }
|
||||
string BezDatenannahmestelle { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -183,7 +183,6 @@
|
||||
<Compile Include="DataContracts\AdditionalServiceRegionDC.cs" />
|
||||
<Compile Include="DataContracts\AddressRouteDC.cs" />
|
||||
<Compile Include="DataContracts\ClientPartials\IMoKSearchableDC.cs" />
|
||||
<Compile Include="DataContracts\Compact\CompactGkvAbrechnungDC.cs" />
|
||||
<Compile Include="DataContracts\CustomerVermittlungArbeitDC.cs" />
|
||||
<Compile Include="DataContracts\GkvAbrechnung\GkvClientRequestDC.cs" />
|
||||
<Compile Include="DataContracts\GkvAbrechnung\GkvClientSumRequestJson.cs" />
|
||||
@@ -198,6 +197,12 @@
|
||||
<Compile Include="DataContracts\GkvAbrechnung\GkvServerGetStatusResponseDC.cs" />
|
||||
<Compile Include="DataContracts\GkvAbrechnung\GkvClientResultRequestDC.cs" />
|
||||
<Compile Include="DataContracts\Invoicing\BankAccountDC.cs" />
|
||||
<Compile Include="DataContracts\Light\GkvAbrechnungLightDC.cs" />
|
||||
<Compile Include="DataContracts\Light\GkvTransferProtokollLightDC.cs" />
|
||||
<Compile Include="DataContracts\Light\ILightDataContract.cs" />
|
||||
<Compile Include="DataContracts\Compact\CompactInvoiceBaseDC.cs" />
|
||||
<Compile Include="DataContracts\Light\InvoiceBaseLightDC.cs" />
|
||||
<Compile Include="DataContracts\Light\OrganisationLightDC.cs" />
|
||||
<Compile Include="DataContracts\Wohnhilfe\CustomerWohnhilfeDC.cs" />
|
||||
<Compile Include="DataContracts\ImageDC.cs" />
|
||||
<Compile Include="DataContracts\Wohnhilfe\CustomerWohnhilfeBereichBundDC.cs" />
|
||||
@@ -374,6 +379,7 @@
|
||||
<Compile Include="Interface\IGkvAbrechnung.cs" />
|
||||
<Compile Include="Interface\IGkvTransferProtokoll.cs" />
|
||||
<Compile Include="Interface\IInvoiceBase.cs" />
|
||||
<Compile Include="Interface\IOrganisation.cs" />
|
||||
<Compile Include="Packet.cs" />
|
||||
<Compile Include="ReportRequests\AbstractReportRequest.cs" />
|
||||
<Compile Include="ReportRequests\GkvAbrechnungReportRequest.cs" />
|
||||
@@ -543,6 +549,7 @@
|
||||
<ItemGroup>
|
||||
<None Include="packages.config" />
|
||||
</ItemGroup>
|
||||
<ItemGroup />
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
||||
Other similar extension points exist, see Microsoft.Common.targets.
|
||||
|
||||
Reference in New Issue
Block a user