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

87 lines
2.6 KiB
C#

using BS.Shared;
using BS.Shared.DataContracts;
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(() => AddNewVMToListAndSelect(true), CanAddWohnhilfe);
DeleteSelectedVMCommand = new DelegateCommand(() => DeleteSelectedVM($"Wohnhilfe '{SelectedVM.Displayname}'"));
CopySelectedVMCommand = new DelegateCommand(CopySelectedWohnhilfe);
InsertDetailsCommand = new DelegateCommand(InsertDetails);
_IsLarge = true;
}
public bool IsLarge
{
get { return _IsLarge; }
set
{
if (!AreDifferent(IsLarge, value))
return;
_IsLarge = value;
FirePropertyChanged(nameof(IsLarge));
}
}
public void CopySelectedWohnhilfe()
{
var old_vm = SelectedVM;
var new_vm = AddNewVMToListAndSelect(true);
new_vm.InitByViewModel(old_vm);
}
public void InsertDetails()
{
var selected_vm = SelectedVM;
selected_vm.BereichSozialstrukturVM.Geburtsdatum = Customer.DateOfBirth;
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_Create);
}
}
}