Files
BeWoPlaner/BeWo/ViewModel/ListViewModel/CustomerWohnhilfeListVM.cs

101 lines
3.1 KiB
C#
Raw Normal View History

2024-08-30 13:07:53 +02:00
using BS.Shared;
2024-09-23 18:14:35 +02:00
using BS.Shared.Core;
2024-08-30 13:07:53 +02:00
using BS.Shared.DataContracts;
2024-09-02 17:36:21 +02:00
using BS.Shared.DataContracts.Wohnhilfe;
2024-08-30 13:07:53 +02:00
using DevExpress.Mvvm;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace BeWo.ViewModel.ListViewModel
{
2024-09-09 15:05:36 +02:00
public class CustomerWohnhilfeListVM : AbstractListVM<CustomerWohnhilfeDC, CustomerWohnhilfeVM>
2024-08-30 13:07:53 +02:00
{
private bool _IsLarge;
2024-09-04 16:05:38 +02:00
public DelegateCommand InsertDetailsCommand { get; set; }
2024-08-30 13:07:53 +02:00
public CustomerVM Customer { get; set; }
public CustomerWohnhilfeListVM() { }
2024-08-30 13:07:53 +02:00
public CustomerWohnhilfeListVM(CustomerVM vm, IEnumerable<CustomerWohnhilfeDC> wohnhilfe) : base(wohnhilfe)
{
Customer = vm;
2024-09-23 18:14:35 +02:00
AddVMCommand = new DelegateCommand(AddVM, CanAddWohnhilfe);
2024-08-30 13:07:53 +02:00
2024-09-09 15:05:36 +02:00
DeleteSelectedVMCommand = new DelegateCommand(() => DeleteSelectedVM($"Wohnhilfe '{SelectedVM.Displayname}'"));
2024-09-04 16:05:38 +02:00
2024-09-09 15:05:36 +02:00
CopySelectedVMCommand = new DelegateCommand(CopySelectedWohnhilfe);
2024-09-04 16:05:38 +02:00
InsertDetailsCommand = new DelegateCommand(InsertDetails);
2024-09-16 15:08:27 +02:00
PermissionManageVM = BeWoApp.HasLoggedOnUserRight(UserRightType.Customer_Wohnhilfe_Manage);
_IsLarge = true;
}
public bool IsLarge
{
get { return _IsLarge; }
set
{
if (!AreDifferent(IsLarge, value))
return;
_IsLarge = value;
FirePropertyChanged(nameof(IsLarge));
}
2024-08-30 13:07:53 +02:00
}
2024-09-23 18:14:35 +02:00
public void AddVM()
{
var new_vm = AddNewVMToListAndSelect(true);
new_vm.Displayname = "Wohnhilfe";
}
2024-09-04 16:05:38 +02:00
public void CopySelectedWohnhilfe()
2024-08-30 13:07:53 +02:00
{
2024-09-04 16:05:38 +02:00
var old_vm = SelectedVM;
var new_vm = AddNewVMToListAndSelect(true);
2024-09-09 15:05:36 +02:00
new_vm.InitByViewModel(old_vm);
2024-08-30 13:07:53 +02:00
}
2024-09-04 16:05:38 +02:00
public void InsertDetails()
2024-08-30 13:07:53 +02:00
{
2024-09-04 16:05:38 +02:00
var selected_vm = SelectedVM;
2024-09-23 18:14:35 +02:00
if (selected_vm.BereichSozialstrukturVM.Geburtsdatum.HasValue)
{
selected_vm.BereichSozialstrukturVM.Geburtsdatum = Customer.DateOfBirth;
selected_vm.BereichBundVM.AlterAmStichtag = Utils.GetAge(Customer.DateOfBirth.Value);
}
if (Customer.IsMale)
selected_vm.BereichBundVM.Geschlecht = Geschlecht.Mannlich;
else if (Customer.IsFemale)
selected_vm.BereichBundVM.Geschlecht = Geschlecht.Weiblich;
else if (Customer.IsDivers)
selected_vm.BereichBundVM.Geschlecht = Geschlecht.Divers;
else
selected_vm.BereichBundVM.Geschlecht = Geschlecht.OhneAngabe;
if (Customer.IsMigrant)
selected_vm.BereichSozialstrukturVM.Migrationshintergrund = WohnhilfeBoolData.Ja;
else
selected_vm.BereichSozialstrukturVM.Migrationshintergrund = WohnhilfeBoolData.Nein;
2024-09-04 16:05:38 +02:00
}
public bool CanAddWohnhilfe()
{
2024-09-16 15:08:27 +02:00
return BeWoApp.HasLoggedOnUserRight(UserRightType.Customer_Wohnhilfe_Manage);
2024-08-30 13:07:53 +02:00
}
}
}