using BS.Shared; using BS.Shared.Core; 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 { private bool _IsLarge; public DelegateCommand InsertDetailsCommand { get; set; } public CustomerVM Customer { get; set; } public CustomerWohnhilfeListVM() { } public CustomerWohnhilfeListVM(CustomerVM vm, IEnumerable 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); } } }