Elekronischer Datenaustausch nicht immer möglich
+ UI Text + Unittest
This commit is contained in:
@@ -22,35 +22,35 @@ using DevExpress.Xpf.Grid;
|
||||
|
||||
namespace BeWo.View.Detail
|
||||
{
|
||||
public partial class OrganisationView
|
||||
{
|
||||
private OrganisationVM _ViewModel;
|
||||
public partial class OrganisationView
|
||||
{
|
||||
private OrganisationVM _ViewModel;
|
||||
|
||||
private GridControl grid_GroupBoxPersonGrid;
|
||||
private GridControl grid_GroupBoxPersonGrid;
|
||||
|
||||
public OrganisationView(OrganisationVM pOrganisationVM)
|
||||
{
|
||||
InitializeComponent();
|
||||
ViewModel = pOrganisationVM;
|
||||
public OrganisationView(OrganisationVM pOrganisationVM)
|
||||
{
|
||||
InitializeComponent();
|
||||
ViewModel = pOrganisationVM;
|
||||
|
||||
if (pOrganisationVM.VarFields == null || pOrganisationVM.VarFields.VMList.Count == 0)
|
||||
{
|
||||
tabitem_varFields.Visibility = Visibility.Collapsed;
|
||||
}
|
||||
|
||||
tabitem_costbearer.Visibility = BeWoApp.LoggedOnUser.HasRight(UserRightType.OrganisationView_AllowEditCostBearer) ? Visibility.Visible : Visibility.Collapsed;
|
||||
if (BeWoApp.Mandator != null && BeWoApp.Mandator.AllowSbd)
|
||||
{
|
||||
tabitem_schuldienst.Visibility = Visibility.Visible;
|
||||
}
|
||||
else
|
||||
{
|
||||
tabitem_schuldienst.Visibility = Visibility.Collapsed;
|
||||
}
|
||||
tabitem_costbearer.Visibility = BeWoApp.LoggedOnUser.HasRight(UserRightType.OrganisationView_AllowEditCostBearer) ? Visibility.Visible : Visibility.Collapsed;
|
||||
if (BeWoApp.Mandator != null && BeWoApp.Mandator.AllowSbd)
|
||||
{
|
||||
tabitem_schuldienst.Visibility = Visibility.Visible;
|
||||
}
|
||||
else
|
||||
{
|
||||
tabitem_schuldienst.Visibility = Visibility.Collapsed;
|
||||
}
|
||||
|
||||
comboBox_Function.ItemsSource = _ViewModel.Functions;
|
||||
comboBox_Function.ItemsSource = _ViewModel.Functions;
|
||||
|
||||
Combobox_Rolle.ItemsSource = _ViewModel.RoleInOrganisations;
|
||||
Combobox_Rolle.ItemsSource = _ViewModel.RoleInOrganisations;
|
||||
|
||||
if (!BeWoApp.LoggedOnUser.HasRight(UserRightType.Organisation_AllowArchiving))
|
||||
{
|
||||
@@ -66,283 +66,284 @@ namespace BeWo.View.Detail
|
||||
label_verfahrensstufe.Visibility = Visibility.Collapsed;
|
||||
radiobuttons_verfahrensstufe.Visibility = Visibility.Collapsed;
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
public event EventHandler<EventArgs<OrganisationVM>> OrganisationSavedOrUpdated;
|
||||
public event EventHandler<EventArgs<OrganisationVM>> OrganisationSavedOrUpdated;
|
||||
|
||||
public override bool IsDirty
|
||||
{
|
||||
get
|
||||
{
|
||||
return ViewModel != null && ViewModel.IsDirty;
|
||||
}
|
||||
}
|
||||
public override bool IsDirty
|
||||
{
|
||||
get
|
||||
{
|
||||
return ViewModel != null && ViewModel.IsDirty;
|
||||
}
|
||||
}
|
||||
|
||||
public override string Title
|
||||
{
|
||||
get
|
||||
{
|
||||
return "Organisationen";
|
||||
}
|
||||
}
|
||||
public override string Title
|
||||
{
|
||||
get
|
||||
{
|
||||
return "Organisationen";
|
||||
}
|
||||
}
|
||||
|
||||
internal OrganisationVM ViewModel
|
||||
{
|
||||
get
|
||||
{
|
||||
return _ViewModel;
|
||||
}
|
||||
internal OrganisationVM ViewModel
|
||||
{
|
||||
get
|
||||
{
|
||||
return _ViewModel;
|
||||
}
|
||||
|
||||
set
|
||||
{
|
||||
_ViewModel = value;
|
||||
DataContext = value;
|
||||
set
|
||||
{
|
||||
_ViewModel = value;
|
||||
DataContext = value;
|
||||
|
||||
if (tabitem_schuldienst.Content != null)
|
||||
{
|
||||
if (tabitem_schuldienst.Content is StundenplanView view)
|
||||
{
|
||||
view.ViewModel = value.Arbeitszeiten;
|
||||
view.RefreshView();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if (tabitem_schuldienst.Content != null)
|
||||
{
|
||||
if (tabitem_schuldienst.Content is StundenplanView view)
|
||||
{
|
||||
view.ViewModel = value.Arbeitszeiten;
|
||||
view.RefreshView();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
protected override UserRightType[] GetSaveDemands()
|
||||
{
|
||||
return ViewModel.IsNew ? new[] { UserRightType.CreateAll, UserRightType.OrganisationView_Create } : new[] { UserRightType.EditAll, UserRightType.OrganisationView_Edit };
|
||||
}
|
||||
protected override UserRightType[] GetSaveDemands()
|
||||
{
|
||||
return ViewModel.IsNew ? new[] { UserRightType.CreateAll, UserRightType.OrganisationView_Create } : new[] { UserRightType.EditAll, UserRightType.OrganisationView_Edit };
|
||||
}
|
||||
|
||||
protected override void Save()
|
||||
{
|
||||
var lDC = ViewModel.CommitToDataContract();
|
||||
if (ViewModel.IsNew)
|
||||
{
|
||||
IsDoneWithInsertOrUpdate = false;
|
||||
ServiceFacade.DoCustomerServiceAsync(s => s.InsertNewOrganisation(lDC), ReloadViewModel);
|
||||
}
|
||||
else
|
||||
{
|
||||
IsDoneWithInsertOrUpdate = false;
|
||||
ServiceFacade.DoCustomerServiceAsync(s => s.UpdateOrganisation(lDC), ReloadViewModel);
|
||||
}
|
||||
protected override void Save()
|
||||
{
|
||||
var lDC = ViewModel.CommitToDataContract();
|
||||
if (ViewModel.IsNew)
|
||||
{
|
||||
IsDoneWithInsertOrUpdate = false;
|
||||
ServiceFacade.DoCustomerServiceAsync(s => s.InsertNewOrganisation(lDC), ReloadViewModel);
|
||||
}
|
||||
else
|
||||
{
|
||||
IsDoneWithInsertOrUpdate = false;
|
||||
ServiceFacade.DoCustomerServiceAsync(s => s.UpdateOrganisation(lDC), ReloadViewModel);
|
||||
}
|
||||
|
||||
Cache.GetInstance().ClearSupportConceptTree();
|
||||
BeWoApp.MainControl.ResetView(UIContext.Organisation);
|
||||
}
|
||||
Cache.GetInstance().ClearSupportConceptTree();
|
||||
BeWoApp.MainControl.ResetView(UIContext.Organisation);
|
||||
}
|
||||
|
||||
private void ReloadViewModel(long pOid)
|
||||
{
|
||||
VMFactory.CreateOrganisationVMAsync(
|
||||
pOid,
|
||||
cb => this.Dispatch(
|
||||
delegate
|
||||
{
|
||||
if (OrganisationSavedOrUpdated != null)
|
||||
{
|
||||
OrganisationSavedOrUpdated(this, new EventArgs<OrganisationVM>(cb));
|
||||
}
|
||||
private void ReloadViewModel(long pOid)
|
||||
{
|
||||
VMFactory.CreateOrganisationVMAsync(
|
||||
pOid,
|
||||
cb => this.Dispatch(
|
||||
delegate
|
||||
{
|
||||
if (OrganisationSavedOrUpdated != null)
|
||||
{
|
||||
OrganisationSavedOrUpdated(this, new EventArgs<OrganisationVM>(cb));
|
||||
}
|
||||
|
||||
ViewModel = cb;
|
||||
ViewModel = cb;
|
||||
|
||||
if (ModalEditViewUpdateCallback != null)
|
||||
{
|
||||
ModalEditViewUpdateCallback();
|
||||
}
|
||||
}));
|
||||
if (ModalEditViewUpdateCallback != null)
|
||||
{
|
||||
ModalEditViewUpdateCallback();
|
||||
}
|
||||
}));
|
||||
|
||||
IsDoneWithInsertOrUpdate = true;
|
||||
}
|
||||
IsDoneWithInsertOrUpdate = true;
|
||||
}
|
||||
|
||||
public void ReloadViewModel()
|
||||
{
|
||||
if (ViewModel.DataContract.OrganisationOid.HasValue)
|
||||
{
|
||||
ReloadViewModel(ViewModel.DataContract.OrganisationOid.Value);
|
||||
}
|
||||
}
|
||||
public void ReloadViewModel()
|
||||
{
|
||||
if (ViewModel.DataContract.OrganisationOid.HasValue)
|
||||
{
|
||||
ReloadViewModel(ViewModel.DataContract.OrganisationOid.Value);
|
||||
}
|
||||
}
|
||||
|
||||
private void bt_addQualificationRate_Click(object sender, RoutedEventArgs e)
|
||||
{
|
||||
var stand = ViewModel.CostRatePeriods.GetLatestRate(CostRatePeriodType.HourlyRate);
|
||||
if (stand != null)
|
||||
{
|
||||
ViewModel.CostRatePeriods.NewVM.CostRateValue = stand.CostRateValue;
|
||||
}
|
||||
private void bt_addQualificationRate_Click(object sender, RoutedEventArgs e)
|
||||
{
|
||||
var stand = ViewModel.CostRatePeriods.GetLatestRate(CostRatePeriodType.HourlyRate);
|
||||
if (stand != null)
|
||||
{
|
||||
ViewModel.CostRatePeriods.NewVM.CostRateValue = stand.CostRateValue;
|
||||
}
|
||||
|
||||
ViewModel.CostRatePeriods.NewVM.ValueListEntry = (ValueListEntryDC) cb_qualifications.SelectedItem;
|
||||
ViewModel.CostRatePeriods.NewVM.CostRateType = CostRatePeriodType.HourlyRate;
|
||||
ViewModel.CostRatePeriods.AddNewVMToList();
|
||||
}
|
||||
ViewModel.CostRatePeriods.NewVM.ValueListEntry = (ValueListEntryDC)cb_qualifications.SelectedItem;
|
||||
ViewModel.CostRatePeriods.NewVM.CostRateType = CostRatePeriodType.HourlyRate;
|
||||
ViewModel.CostRatePeriods.AddNewVMToList();
|
||||
}
|
||||
|
||||
private void button_deleteCostRatePeriodGroup_Click(object sender, RoutedEventArgs e)
|
||||
{
|
||||
var valueListEntry = (sender as Button).Tag as ValueListEntryDC;
|
||||
ViewModel.CostRatePeriods.VMList.RemoveRange(i => i.ValueListEntry != null && i.ValueListEntry.ValueListEntryOid.Equals(valueListEntry.ValueListEntryOid));
|
||||
}
|
||||
private void button_deleteCostRatePeriodGroup_Click(object sender, RoutedEventArgs e)
|
||||
{
|
||||
var valueListEntry = (sender as Button).Tag as ValueListEntryDC;
|
||||
ViewModel.CostRatePeriods.VMList.RemoveRange(i => i.ValueListEntry != null && i.ValueListEntry.ValueListEntryOid.Equals(valueListEntry.ValueListEntryOid));
|
||||
}
|
||||
|
||||
private void tabitem_documents_Selected(object sender, RoutedEventArgs e)
|
||||
{
|
||||
if (ViewModel.IsNew)
|
||||
{
|
||||
MessageBox.Show("Bevor zu einem Datensatz Dokumente hinterlegt werden können, muss dieser gespeichert werden.", "Erst speichern bitte", MessageBoxButton.OK, MessageBoxImage.Information);
|
||||
return;
|
||||
}
|
||||
private void tabitem_documents_Selected(object sender, RoutedEventArgs e)
|
||||
{
|
||||
if (ViewModel.IsNew)
|
||||
{
|
||||
MessageBox.Show("Bevor zu einem Datensatz Dokumente hinterlegt werden können, muss dieser gespeichert werden.", "Erst speichern bitte", MessageBoxButton.OK, MessageBoxImage.Information);
|
||||
return;
|
||||
}
|
||||
|
||||
if (tabitem_documents.Content == null)
|
||||
{
|
||||
tabitem_documents.Content = new BeWoFileView(TableID.Organisation, ViewModel.DataContract.OrganisationOid.Value);
|
||||
}
|
||||
}
|
||||
if (tabitem_documents.Content == null)
|
||||
{
|
||||
tabitem_documents.Content = new BeWoFileView(TableID.Organisation, ViewModel.DataContract.OrganisationOid.Value);
|
||||
}
|
||||
}
|
||||
|
||||
private void TabItemsPersons_Selected(object sender, RoutedEventArgs e)
|
||||
{
|
||||
if (grid_GroupBoxPersonGrid == null)
|
||||
{
|
||||
grid_GroupBoxPersonGrid = gridroot.Resources["datagrid_PersonRelation"] as GridControl;
|
||||
GroupBoxPersonGrid.Content = grid_GroupBoxPersonGrid;
|
||||
}
|
||||
}
|
||||
private void TabItemsPersons_Selected(object sender, RoutedEventArgs e)
|
||||
{
|
||||
if (grid_GroupBoxPersonGrid == null)
|
||||
{
|
||||
grid_GroupBoxPersonGrid = gridroot.Resources["datagrid_PersonRelation"] as GridControl;
|
||||
GroupBoxPersonGrid.Content = grid_GroupBoxPersonGrid;
|
||||
}
|
||||
}
|
||||
|
||||
private void Button_deleteAnsprechpartnerClick(object sender, RoutedEventArgs e)
|
||||
{
|
||||
var vm = grid_GroupBoxPersonGrid.GetCurrentValue<OrganisationPersonRelationVM>();
|
||||
private void Button_deleteAnsprechpartnerClick(object sender, RoutedEventArgs e)
|
||||
{
|
||||
var vm = grid_GroupBoxPersonGrid.GetCurrentValue<OrganisationPersonRelationVM>();
|
||||
|
||||
if (MessageBox.Show(String.Format("Möchten Sie " + Translator.Translate("den gewählten Ansprechpartner") + " '{0}, {1}' wirklich löschen?", vm.Person.LastName, vm.Person.FirstName) , "Löschen",
|
||||
MessageBoxButton.YesNo, MessageBoxImage.Question) == MessageBoxResult.Yes)
|
||||
{
|
||||
ViewModel.PersonRelations.VMList.Remove(vm);
|
||||
BeWoWpfUtils.RefreshDXGrid(grid_GroupBoxPersonGrid);
|
||||
if (MessageBox.Show(String.Format("Möchten Sie " + Translator.Translate("den gewählten Ansprechpartner") + " '{0}, {1}' wirklich löschen?", vm.Person.LastName, vm.Person.FirstName), "Löschen",
|
||||
MessageBoxButton.YesNo, MessageBoxImage.Question) == MessageBoxResult.Yes)
|
||||
{
|
||||
ViewModel.PersonRelations.VMList.Remove(vm);
|
||||
BeWoWpfUtils.RefreshDXGrid(grid_GroupBoxPersonGrid);
|
||||
|
||||
ServiceFacade.DoOperationsServiceSync(s =>
|
||||
s.DeletePerson2OrganisationRelation(vm.DataContract.Organisation2PersonOid.Value));
|
||||
}
|
||||
}
|
||||
ServiceFacade.DoOperationsServiceSync(s =>
|
||||
s.DeletePerson2OrganisationRelation(vm.DataContract.Organisation2PersonOid.Value));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
private void TableView_OnRowDoubleClick(object sender, RowDoubleClickEventArgs e)
|
||||
{
|
||||
var grid = (GridControl) gridroot.Resources["datagrid_PersonRelation"];
|
||||
var selectedPerson = (grid.GetRow(e.HitInfo.RowHandle) as OrganisationPersonRelationVM).Person;
|
||||
|
||||
if (selectedPerson == null || !BeWoApp.LoggedOnUser.HasRight(UserRightType.PersonView_View))
|
||||
return;
|
||||
private void TableView_OnRowDoubleClick(object sender, RowDoubleClickEventArgs e)
|
||||
{
|
||||
var grid = (GridControl)gridroot.Resources["datagrid_PersonRelation"];
|
||||
var selectedPerson = (grid.GetRow(e.HitInfo.RowHandle) as OrganisationPersonRelationVM).Person;
|
||||
|
||||
VMFactory.CreatePersonVMAsync(selectedPerson.PersonOid,
|
||||
cb => this.Dispatch(
|
||||
() => BeWoUtils.OpenModalViewWindow<PersonVM, PersonDC, OrganisationView>(cb, this, () => this.Dispatch(
|
||||
() => BeWoUtils.UpdateAllViews(selectedPerson)), personSavedOrUpdated: (s, args) => this.Dispatch(delegate { }))));
|
||||
}
|
||||
if (selectedPerson == null || !BeWoApp.LoggedOnUser.HasRight(UserRightType.PersonView_View))
|
||||
return;
|
||||
|
||||
private void EMailButton_OnClick(object sender, RoutedEventArgs e)
|
||||
{
|
||||
BeWoUtils.OpenMailClient(ViewModel.EMail);
|
||||
}
|
||||
VMFactory.CreatePersonVMAsync(selectedPerson.PersonOid,
|
||||
cb => this.Dispatch(
|
||||
() => BeWoUtils.OpenModalViewWindow<PersonVM, PersonDC, OrganisationView>(cb, this, () => this.Dispatch(
|
||||
() => BeWoUtils.UpdateAllViews(selectedPerson)), personSavedOrUpdated: (s, args) => this.Dispatch(delegate { }))));
|
||||
}
|
||||
|
||||
private void Hyperlink_OnRequestNavigate(object sender, RequestNavigateEventArgs e)
|
||||
{
|
||||
BeWoUtils.OpenMailClient(e.Uri.ToString());
|
||||
}
|
||||
private void EMailButton_OnClick(object sender, RoutedEventArgs e)
|
||||
{
|
||||
BeWoUtils.OpenMailClient(ViewModel.EMail);
|
||||
}
|
||||
|
||||
private void CreateNewAnsprechpartner_OnClick(object sender, RoutedEventArgs e)
|
||||
{
|
||||
if (ValidationTrigger.Validate(groupbox_newOrganisationAnsprechpartner) && pes != null)
|
||||
{
|
||||
|
||||
var mail = textbox_mail.Text;
|
||||
var fax = textbox_fax.Text;
|
||||
var phone = textbox_phone.Text;
|
||||
var notice = textbox_notice.Text;
|
||||
private void Hyperlink_OnRequestNavigate(object sender, RequestNavigateEventArgs e)
|
||||
{
|
||||
BeWoUtils.OpenMailClient(e.Uri.ToString());
|
||||
}
|
||||
|
||||
var ldc = ViewModel.CommitToDataContract();
|
||||
private void CreateNewAnsprechpartner_OnClick(object sender, RoutedEventArgs e)
|
||||
{
|
||||
if (ValidationTrigger.Validate(groupbox_newOrganisationAnsprechpartner) && pes != null)
|
||||
{
|
||||
|
||||
if (pes.PersonOid != 0)
|
||||
{
|
||||
//ViewModel.PersonRelations.AddNewVMToList();
|
||||
var mail = textbox_mail.Text;
|
||||
var fax = textbox_fax.Text;
|
||||
var phone = textbox_phone.Text;
|
||||
var notice = textbox_notice.Text;
|
||||
|
||||
ServiceFacade.DoOperationsServiceSync(s => s.CreateNewPerson2OrganisationRelation(ldc.OrganisationOid.Value, (ValueListEntryDC) Combobox_Rolle.SelectedItem, pes.PersonOid, mail, fax, phone.ToString(), notice.ToString()));
|
||||
var ldc = ViewModel.CommitToDataContract();
|
||||
|
||||
Save();
|
||||
}
|
||||
if (pes.PersonOid != 0)
|
||||
{
|
||||
//ViewModel.PersonRelations.AddNewVMToList();
|
||||
|
||||
|
||||
ServiceFacade.DoOperationsServiceSync(s => s.CreateNewPerson2OrganisationRelation(ldc.OrganisationOid.Value, (ValueListEntryDC)Combobox_Rolle.SelectedItem, pes.PersonOid, mail, fax, phone.ToString(), notice.ToString()));
|
||||
|
||||
textbox_mail.Text = "";
|
||||
textbox_fax.Text = "";
|
||||
textbox_phone.Text = "";
|
||||
textbox_notice.Text = "";
|
||||
Save();
|
||||
}
|
||||
|
||||
|
||||
//ReloadViewModel();
|
||||
pes = null;
|
||||
}
|
||||
}
|
||||
|
||||
CompactPersonDC pes = new CompactPersonDC();
|
||||
private void popupedit_Person_PopUpClick(object sender, RoutedEventArgs e)
|
||||
{
|
||||
personsearchview.ItemSelected += personsearchview_EnvironmentPersonSelected;
|
||||
popup_person.IsOpen = true;
|
||||
}
|
||||
|
||||
private void personsearchview_EnvironmentPersonSelected(object sender, EventArgs<CompactPersonDC> e)
|
||||
{
|
||||
popup_person.IsOpen = false;
|
||||
personsearchview.ItemSelected -= personsearchview_EnvironmentPersonSelected;
|
||||
pes = e.Data;
|
||||
popupedit_environmentPersonSearch.Text = pes.FirstName +" "+ pes.LastName;
|
||||
textbox_mail.Text = "";
|
||||
textbox_fax.Text = "";
|
||||
textbox_phone.Text = "";
|
||||
textbox_notice.Text = "";
|
||||
|
||||
popupedit_environmentPersonSearch.Focus();
|
||||
}
|
||||
|
||||
private void tabitem_SchulDienst_Selected(object sender, RoutedEventArgs e)
|
||||
{
|
||||
if (GridSBD.Children.Count == 0)
|
||||
{
|
||||
var sp = new StundenplanView(ViewModel.Arbeitszeiten, Translator.Translate("OrganisationStundenplan"));
|
||||
Grid.SetRow(sp, 0);
|
||||
GridSBD.Children.Add(sp);
|
||||
//ReloadViewModel();
|
||||
pes = null;
|
||||
}
|
||||
}
|
||||
|
||||
var ov = new SbdOrganisationView(ViewModel.Feiertage);
|
||||
ov.Margin = new Thickness(0, 10, 0, 0);
|
||||
Grid.SetRow(ov, 1);
|
||||
GridSBD.Children.Add(ov);
|
||||
}
|
||||
}
|
||||
CompactPersonDC pes = new CompactPersonDC();
|
||||
private void popupedit_Person_PopUpClick(object sender, RoutedEventArgs e)
|
||||
{
|
||||
personsearchview.ItemSelected += personsearchview_EnvironmentPersonSelected;
|
||||
popup_person.IsOpen = true;
|
||||
}
|
||||
|
||||
private void personsearchview_EnvironmentPersonSelected(object sender, EventArgs<CompactPersonDC> e)
|
||||
{
|
||||
popup_person.IsOpen = false;
|
||||
personsearchview.ItemSelected -= personsearchview_EnvironmentPersonSelected;
|
||||
pes = e.Data;
|
||||
popupedit_environmentPersonSearch.Text = pes.FirstName + " " + pes.LastName;
|
||||
|
||||
popupedit_environmentPersonSearch.Focus();
|
||||
}
|
||||
|
||||
private void tabitem_SchulDienst_Selected(object sender, RoutedEventArgs e)
|
||||
{
|
||||
if (GridSBD.Children.Count == 0)
|
||||
{
|
||||
var sp = new StundenplanView(ViewModel.Arbeitszeiten, Translator.Translate("OrganisationStundenplan"));
|
||||
Grid.SetRow(sp, 0);
|
||||
GridSBD.Children.Add(sp);
|
||||
|
||||
var ov = new SbdOrganisationView(ViewModel.Feiertage);
|
||||
ov.Margin = new Thickness(0, 10, 0, 0);
|
||||
Grid.SetRow(ov, 1);
|
||||
GridSBD.Children.Add(ov);
|
||||
}
|
||||
}
|
||||
|
||||
private void IKNumber_Button_Click(object sender, RoutedEventArgs e)
|
||||
{
|
||||
var req = new GkvAbrechnungGetIKRequestDC();
|
||||
var req = new GkvAbrechnungGetIKRequestDC();
|
||||
|
||||
req.IKKrankenkasse = ViewModel.IKKrankenkasse;
|
||||
req.Leistungserbringergruppe = ViewModel.Leistungserbringergruppe;
|
||||
req.IKKrankenkasse = ViewModel.IKKrankenkasse;
|
||||
req.Leistungserbringergruppe = ViewModel.Leistungserbringergruppe;
|
||||
|
||||
ServiceFacade.DoAccountingServiceAsync(x => x.SendGetIKRequest(req), cb => Dispatcher.Invoke(() => IKRequestCallback(req, cb)));
|
||||
ServiceFacade.DoAccountingServiceAsync(x => x.SendGetIKRequest(req), cb => Dispatcher.Invoke(() => IKRequestCallback(req, cb)));
|
||||
}
|
||||
|
||||
private void IKRequestCallback(GkvAbrechnungGetIKRequestDC req, GkvAbrechnungGetIKResponseDC response)
|
||||
private void IKRequestCallback(GkvAbrechnungGetIKRequestDC req, GkvAbrechnungGetIKResponseDC response)
|
||||
{
|
||||
if(response is null || !response.Success)
|
||||
if (response is null || !response.Success)
|
||||
{
|
||||
MessageBox.Show($"Interner Serverfehler.", "Fehler");
|
||||
return;
|
||||
}
|
||||
MessageBox.Show($"Interner Serverfehler.", "Fehler");
|
||||
return;
|
||||
}
|
||||
|
||||
if (!response.Gefunden)
|
||||
{
|
||||
MessageBox.Show($"Für die Organisation mit dem IK \"{req.IKKrankenkasse}\" und Leistungserbringergruppe \"{req.Leistungserbringergruppe}\" konnte keine Datenannahmestelle gefunden werden. " +
|
||||
$"Bitte informieren Sie sich bei der Krankenkasse, ob zum elektronischen Datenaustausch " +
|
||||
$"eine seperate Anmeldung benötigt wird.", "Fehler");
|
||||
return;
|
||||
MessageBox.Show($"Für die Organisation mit dem IK \"{req.IKKrankenkasse}\" und Leistungserbringergruppe \"{req.Leistungserbringergruppe}\" \n" +
|
||||
$"konnte keine Datenannahmestelle gefunden werden. Wenn Sie dennoch den elektronischen Datenaustausch mit der Krankenkasse \n" +
|
||||
$"durchführen möchten, informieren Sie sich bitte bei der Krankenkasse, ob zum elektronischen Datenaustausch eine seperate \n" +
|
||||
$"Anmeldung benötigt wird.", "Fehler");
|
||||
return;
|
||||
}
|
||||
|
||||
ViewModel.BezDatenannahmestelle = response.BezDatenannahmestelle;
|
||||
ViewModel.IKKostentrager = response.IKKostentrager;
|
||||
ViewModel.IKDatenannahmestelle = response.IKDatenannahmestelle;
|
||||
ViewModel.BezDatenannahmestelle = response.BezDatenannahmestelle;
|
||||
ViewModel.IKKostentrager = response.IKKostentrager;
|
||||
ViewModel.IKDatenannahmestelle = response.IKDatenannahmestelle;
|
||||
|
||||
CommandManager.InvalidateRequerySuggested();
|
||||
}
|
||||
CommandManager.InvalidateRequerySuggested();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -102,7 +102,7 @@ namespace Dakota.Logic
|
||||
if (datenannahmestellen_3.Count() == 1)
|
||||
return GetIKNummern(datenannahmestellen_3.First(), kostentrager, ikkrankenkasse);
|
||||
|
||||
throw new GkvException($"Keine oder mehrere Datenannahmestellen für {ikkrankenkasse} gefunden.");
|
||||
return null;
|
||||
}
|
||||
|
||||
private Tuple<string, string, string> GetIKNummern(SegmentKTDVKG vkg, string kostentrager, string ikkrankenkasse)
|
||||
|
||||
@@ -74,13 +74,7 @@ namespace DakotaUnitTest
|
||||
{
|
||||
var test = Reader.Resolve("104080005", "69", "08101");
|
||||
|
||||
Assert.IsNotNull(test);
|
||||
|
||||
Assert.IsTrue(test.Item1 == "104212516");
|
||||
|
||||
Assert.IsTrue(test.Item2 == "104212505");
|
||||
|
||||
Assert.IsTrue(test.Item3 == "104212505");
|
||||
Assert.IsNull(test);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user