using BeWo.ViewModel.Wohnhilfe; 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 { public class CustomerWohnhilfeVM : AbstractDCMapperVM { private static int counter = 0; private string _Displayname; private CustomerWohnhilfeBereichBundVM _BereichBundVM; private CustomerWohnhilfeBereichEinkommenUndArbeitVM _BereichEinkommenUndArbeitVM; private CustomerWohnhilfeBereichSozialeKontakteVM _BereichSozialeKontakteVM; private CustomerWohnhilfeBereichSozialstrukturVM _BereichSozialstrukturVM; public CustomerWohnhilfeVM() { _BereichBundVM = new CustomerWohnhilfeBereichBundVM(); //_BereichBundVM.Verbandszugehorigkeit = Verbandszugehorigkeit.Arbeiterwohlfahrt; //_BereichBundVM.Geschlecht = Geschlecht.Mannlich; //_BereichBundVM.AlterAmStichtag = 1000; //_BereichBundVM.BerichtseinheitID = 192321321; _BereichEinkommenUndArbeitVM = new CustomerWohnhilfeBereichEinkommenUndArbeitVM(); _BereichSozialeKontakteVM = new CustomerWohnhilfeBereichSozialeKontakteVM(); _BereichSozialstrukturVM = new CustomerWohnhilfeBereichSozialstrukturVM(); } public CustomerWohnhilfeVM(CustomerWohnhilfeDC dc) : base(dc, dc.Oid == null) { } public override bool IsDirty => base.IsDirty || _BereichBundVM.IsDirty || _BereichEinkommenUndArbeitVM.IsDirty || _BereichSozialeKontakteVM.IsDirty || _BereichSozialstrukturVM.IsDirty; public string Displayname { get { return _Displayname; } set { if (!AreDifferent(Displayname, value)) return; _Displayname = value; FirePropertyChanged(nameof(Displayname)); } } public CustomerWohnhilfeBereichBundVM BereichBundVM { get { return _BereichBundVM; } set { if (!AreDifferent(BereichBundVM, value)) return; _BereichBundVM = value; FirePropertyChanged(nameof(BereichBundVM)); } } public CustomerWohnhilfeBereichEinkommenUndArbeitVM BereichEinkommenUndArbeitVM { get { return _BereichEinkommenUndArbeitVM; } set { if (!AreDifferent(BereichEinkommenUndArbeitVM, value)) return; _BereichEinkommenUndArbeitVM = value; FirePropertyChanged(nameof(BereichEinkommenUndArbeitVM)); } } public CustomerWohnhilfeBereichSozialeKontakteVM BereichSozialeKontakteVM { get { return _BereichSozialeKontakteVM; } set { if (!AreDifferent(BereichSozialeKontakteVM, value)) return; _BereichSozialeKontakteVM = value; FirePropertyChanged(nameof(BereichSozialeKontakteVM)); } } public CustomerWohnhilfeBereichSozialstrukturVM BereichSozialstrukturVM { get { return _BereichSozialstrukturVM; } set { if (!AreDifferent(BereichSozialstrukturVM, value)) return; _BereichSozialstrukturVM = value; FirePropertyChanged(nameof(BereichSozialstrukturVM)); } } protected override void InitByDataContract(CustomerWohnhilfeDC dc) { Displayname = dc.Displayname; var isNew = dc.Oid == null; _BereichBundVM = new CustomerWohnhilfeBereichBundVM(dc.BereichBundDC ?? (dc.BereichBundDC = new CustomerWohnhilfeBereichBundDC()), isNew); _BereichEinkommenUndArbeitVM = new CustomerWohnhilfeBereichEinkommenUndArbeitVM(dc.BereichEinkommenUndArbeitDC ?? (dc.BereichEinkommenUndArbeitDC = new CustomerWohnhilfeBereichEinkommenUndArbeitDC()), isNew); ; _BereichSozialeKontakteVM = new CustomerWohnhilfeBereichSozialeKontakteVM(dc.BereichSozialeKontakteDC ?? (dc.BereichSozialeKontakteDC = new CustomerWohnhilfeBereichSozialeKontakteDC()), isNew); _BereichSozialstrukturVM = new CustomerWohnhilfeBereichSozialstrukturVM(dc.BereichSozialstrukturDC ?? (dc.BereichSozialstrukturDC = new CustomerWohnhilfeBereichSozialstrukturDC()), isNew); } protected override CustomerWohnhilfeDC MapToDataContract(CustomerWohnhilfeDC pDataContract, bool doCommit) { pDataContract.Displayname = _Displayname; pDataContract.BereichBundDC = _BereichBundVM.CommitToDataContract(); pDataContract.BereichEinkommenUndArbeitDC = _BereichEinkommenUndArbeitVM.CommitToDataContract(); pDataContract.BereichSozialeKontakteDC = _BereichSozialeKontakteVM.CommitToDataContract(); pDataContract.BereichSozialstrukturDC = _BereichSozialstrukturVM.CommitToDataContract(); return pDataContract; } public void InitByViewModel(CustomerWohnhilfeVM old_vm) { if (old_vm is null) return; BereichBundVM.AlterAmStichtag = old_vm.BereichBundVM.AlterAmStichtag; BereichBundVM.Angebot = old_vm.BereichBundVM.Angebot; BereichBundVM.BerichtseinheitID = old_vm.BereichBundVM.BerichtseinheitID; BereichBundVM.Geschlecht = old_vm.BereichBundVM.Geschlecht; BereichBundVM.Haushaltsgrosse = old_vm.BereichBundVM.Haushaltsgrosse; BereichBundVM.OrtDerEinrichtung = old_vm.BereichBundVM.OrtDerEinrichtung; BereichBundVM.Unterbringungsart = old_vm.BereichBundVM.Unterbringungsart; BereichBundVM.Verbandszugehorigkeit = old_vm.BereichBundVM.Verbandszugehorigkeit; BereichEinkommenUndArbeitVM.BeginnAufstockungEinkommen = old_vm.BereichEinkommenUndArbeitVM.BeginnAufstockungEinkommen; BereichEinkommenUndArbeitVM.BeginnBeschaftigungsstatus = old_vm.BereichEinkommenUndArbeitVM.BeginnBeschaftigungsstatus; BereichEinkommenUndArbeitVM.BeginnEigenesBankkonto = old_vm.BereichEinkommenUndArbeitVM.BeginnEigenesBankkonto; BereichEinkommenUndArbeitVM.BeginnEinkommenssituation = old_vm.BereichEinkommenUndArbeitVM.BeginnEinkommenssituation; BereichEinkommenUndArbeitVM.Berufsabschluss = old_vm.BereichEinkommenUndArbeitVM.Berufsabschluss; BereichEinkommenUndArbeitVM.DauerArbeitslosigkeit = old_vm.BereichEinkommenUndArbeitVM.DauerArbeitslosigkeit; BereichEinkommenUndArbeitVM.EndeAufstockungEinkommen = old_vm.BereichEinkommenUndArbeitVM.EndeAufstockungEinkommen; BereichEinkommenUndArbeitVM.EndeBeschaftigungsstatus = old_vm.BereichEinkommenUndArbeitVM.EndeBeschaftigungsstatus; BereichEinkommenUndArbeitVM.EndeEigenesBankkonto = old_vm.BereichEinkommenUndArbeitVM.EndeEigenesBankkonto; BereichEinkommenUndArbeitVM.EndeEinkommenssituation = old_vm.BereichEinkommenUndArbeitVM.EndeEinkommenssituation; BereichEinkommenUndArbeitVM.ErwerbsfahigkeitSinnSGB = old_vm.BereichEinkommenUndArbeitVM.ErwerbsfahigkeitSinnSGB; BereichEinkommenUndArbeitVM.Uberschuldung = old_vm.BereichEinkommenUndArbeitVM.Uberschuldung; BereichSozialeKontakteVM.BeginnKontaktArzt = old_vm.BereichSozialeKontakteVM.BeginnKontaktArzt; BereichSozialeKontakteVM.BeginnKontaktFreundenBekannten = old_vm.BereichSozialeKontakteVM.BeginnKontaktFreundenBekannten; BereichSozialeKontakteVM.BeginnKontaktMindKinder = old_vm.BereichSozialeKontakteVM.BeginnKontaktMindKinder; BereichSozialeKontakteVM.BeginnKontaktPartner = old_vm.BereichSozialeKontakteVM.BeginnKontaktPartner; BereichSozialeKontakteVM.BeginnKontaktSelbsthilfe = old_vm.BereichSozialeKontakteVM.BeginnKontaktSelbsthilfe; BereichSozialeKontakteVM.BeginnKontaktSonstige = old_vm.BereichSozialeKontakteVM.BeginnKontaktSonstige; BereichSozialeKontakteVM.BeginnKontaktVolljahrKinderElternVerwandten = old_vm.BereichSozialeKontakteVM.BeginnKontaktVolljahrKinderElternVerwandten; BereichSozialeKontakteVM.BeginnKrankenversicherung = old_vm.BereichSozialeKontakteVM.BeginnKrankenversicherung; BereichSozialeKontakteVM.BeginnSozialeKontakte = old_vm.BereichSozialeKontakteVM.BeginnSozialeKontakte; BereichSozialeKontakteVM.EndeKontaktArzt = old_vm.BereichSozialeKontakteVM.EndeKontaktArzt; BereichSozialeKontakteVM.EndeKontaktFreundenBekannten = old_vm.BereichSozialeKontakteVM.EndeKontaktFreundenBekannten; BereichSozialeKontakteVM.EndeKontaktMindKinder = old_vm.BereichSozialeKontakteVM.EndeKontaktMindKinder; BereichSozialeKontakteVM.EndeKontaktPartner = old_vm.BereichSozialeKontakteVM.EndeKontaktPartner; BereichSozialeKontakteVM.EndeKontaktSelbsthilfe = old_vm.BereichSozialeKontakteVM.EndeKontaktSelbsthilfe; BereichSozialeKontakteVM.EndeKontaktSonstige = old_vm.BereichSozialeKontakteVM.EndeKontaktSonstige; BereichSozialeKontakteVM.EndeKontaktVolljahrKinderElternVerwandten = old_vm.BereichSozialeKontakteVM.EndeKontaktVolljahrKinderElternVerwandten; BereichSozialeKontakteVM.EndeKrankenversicherung = old_vm.BereichSozialeKontakteVM.EndeKrankenversicherung; BereichSozialeKontakteVM.EndeSozialeKontakte = old_vm.BereichSozialeKontakteVM.EndeSozialeKontakte; BereichSozialeKontakteVM.VorlageSchwerbehindertenausweises = old_vm.BereichSozialeKontakteVM.VorlageSchwerbehindertenausweises; BereichSozialstrukturVM.Bundesland = old_vm.BereichSozialstrukturVM.Bundesland; BereichSozialstrukturVM.IsWohnungslosenhilfeSafe = old_vm.BereichSozialstrukturVM.IsWohnungslosenhilfe; BereichSozialstrukturVM.IsStraffaligenhilfeSafe = old_vm.BereichSozialstrukturVM.IsStraffaligenhilfe; BereichSozialstrukturVM.ArtDerBeendigung = old_vm.BereichSozialstrukturVM.ArtDerBeendigung; BereichSozialstrukturVM.ArtDesHilfeangebots = old_vm.BereichSozialstrukturVM.ArtDesHilfeangebots; BereichSozialstrukturVM.Betreuungsbeginn = old_vm.BereichSozialstrukturVM.Betreuungsbeginn; BereichSozialstrukturVM.Betreuungsende = old_vm.BereichSozialstrukturVM.Betreuungsende; BereichSozialstrukturVM.BetreuungsdauerInTagen = old_vm.BereichSozialstrukturVM.BetreuungsdauerInTagen; BereichSozialstrukturVM.Geburtsdatum = old_vm.BereichSozialstrukturVM.Geburtsdatum; BereichSozialstrukturVM.Geschlechtidentitat = old_vm.BereichSozialstrukturVM.Geschlechtidentitat; BereichSozialstrukturVM.Staatsangehorigkeit = old_vm.BereichSozialstrukturVM.Staatsangehorigkeit; BereichSozialstrukturVM.Aufenthaltsstatus = old_vm.BereichSozialstrukturVM.Aufenthaltsstatus; BereichSozialstrukturVM.HochsterSchulabschluss = old_vm.BereichSozialstrukturVM.HochsterSchulabschluss; BereichSozialstrukturVM.Migrationshintergrund = old_vm.BereichSozialstrukturVM.Migrationshintergrund; BereichSozialstrukturVM.Familienstand = old_vm.BereichSozialstrukturVM.Familienstand; BereichSozialstrukturVM.Haushaltsstruktur = old_vm.BereichSozialstrukturVM.Haushaltsstruktur; BereichSozialstrukturVM.EigeneMindKinderAuserhalbHaushaltsstruktur = old_vm.BereichSozialstrukturVM.EigeneMindKinderAuserhalbHaushaltsstruktur; } } }