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

100 lines
3.0 KiB
C#

using BS.Shared;
using BS.Shared.Core;
using BS.Shared.DataContracts.Wohnhilfe;
using DevExpress.Mvvm;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace BeWo.ViewModel.ListViewModel
{
public class CustomerWohnhilfeListVM : AbstractListVM<CustomerWohnhilfeDC, CustomerWohnhilfeVM>
{
private bool _IsLarge;
public DelegateCommand InsertDetailsCommand { get; set; }
public CustomerVM Customer { get; set; }
public CustomerWohnhilfeListVM() { }
public CustomerWohnhilfeListVM(CustomerVM vm, IEnumerable<CustomerWohnhilfeDC> wohnhilfe) : base(wohnhilfe)
{
Customer = vm;
AddVMCommand = new DelegateCommand(AddVM, CanAddWohnhilfe);
DeleteSelectedVMCommand = new DelegateCommand(() => DeleteSelectedVM($"Wohnhilfe '{SelectedVM.Displayname}'"));
CopySelectedVMCommand = new DelegateCommand(CopySelectedWohnhilfe);
InsertDetailsCommand = new DelegateCommand(InsertDetails);
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));
}
}
public void AddVM()
{
var new_vm = AddNewVMToListAndSelect(true);
new_vm.Displayname = "Wohnhilfe";
}
public void CopySelectedWohnhilfe()
{
var old_vm = SelectedVM;
var new_vm = AddNewVMToListAndSelect(true);
new_vm.InitByViewModel(old_vm);
}
public void InsertDetails()
{
var selected_vm = SelectedVM;
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;
}
public bool CanAddWohnhilfe()
{
return BeWoApp.HasLoggedOnUserRight(UserRightType.Customer_Wohnhilfe_Manage);
}
}
}