diff --git a/AdventureWorks.EntityLayer/AdventureWorks.EntityLayer.csproj b/AdventureWorks.EntityLayer/AdventureWorks.EntityLayer.csproj index 125f4c9..b6922ab 100644 --- a/AdventureWorks.EntityLayer/AdventureWorks.EntityLayer.csproj +++ b/AdventureWorks.EntityLayer/AdventureWorks.EntityLayer.csproj @@ -6,4 +6,8 @@ enable + + + + diff --git a/AdventureWorks.EntityLayer/EntityClasses/User.cs b/AdventureWorks.EntityLayer/EntityClasses/User.cs index 9956497..780fe6c 100644 --- a/AdventureWorks.EntityLayer/EntityClasses/User.cs +++ b/AdventureWorks.EntityLayer/EntityClasses/User.cs @@ -1,44 +1,204 @@ -namespace AdventureWorks.EntityLayer.EntityClasses +using Common.Library; + +namespace AdventureWorks.EntityLayer.EntityClasses; + +public class User : EntityBase { - public class User + public User() { - public User() - { - LoginId = string.Empty; - FirstName = string.Empty; - LastName = string.Empty; - Email = string.Empty; - Password = string.Empty; - Phone = string.Empty; - PhoneType = string.Empty; - //IsFullTime = true; - //IsEnrolledIn401k = true; - //IsEnrolledInFlexTime = true; - //IsEnrolledInHealthCare = true; - //IsEnrolledInHSA = false; - //IsActive = true; - //BirthDate = "10-03-1975"; - StartTime = new TimeSpan(6, 0, 0); + LoginId = string.Empty; + FirstName = string.Empty; + LastName = string.Empty; + Email = string.Empty; + Password = string.Empty; + Phone = string.Empty; + PhoneType = string.Empty; + //IsFullTime = true; + //IsEnrolledIn401k = true; + //IsEnrolledInFlexTime = true; + //IsEnrolledInHealthCare = true; + //IsEnrolledInHSA = false; + //IsActive = true; + //BirthDate = "10-03-1975"; + StartTime = new TimeSpan(6, 0, 0); - } - - public int UserId { get; set; } - public string LoginId { get; set; } - public string FirstName { get; set; } - public string LastName { get; set; } - public string Email { get; set; } - public string Password { get; set; } - public string Phone { get; set; } - public string PhoneType { get; set; } - public bool IsFullTime { get; set; } - public bool IsEnrolledIn401k { get; set; } - public bool IsEnrolledInFlexTime { get; set; } - public bool IsEnrolledInHealthCare { get; set; } - public bool IsEnrolledInHSA { get; set; } - public bool IsActive { get; set; } - public DateTime BirthDate { get; set; } - public TimeSpan StartTime { get; set; } - + } + // https://github.com/PaulDSheriff/PDSC-DevUtils + + public int _UserId; + public string _LoginId; + public string _FirstName; + public string _LastName; + public string _Email; + public string _Password; + public string _Phone; + public string _PhoneType; + public bool _IsFullTime; + public bool _IsEnrolledIn401k; + public bool _IsEnrolledInFlexTime; + public bool _IsEnrolledInHealthCare; + public bool _IsEnrolledInHSA; + public bool _IsActive; + public DateTime _BirthDate; + public TimeSpan _StartTime; + + public int UserId + { + get { return _UserId; } + set + { + _UserId = value; + RaisePropertyChanged(nameof(UserId)); + } + } + + public string LoginId + { + get { return _LoginId; } + set + { + _LoginId = value; + RaisePropertyChanged(nameof(LoginId)); + } + } + + public string FirstName + { + get { return _FirstName; } + set + { + _FirstName = value; + RaisePropertyChanged(nameof(FirstName)); + } + } + + public string LastName + { + get { return _LastName; } + set + { + _LastName = value; + RaisePropertyChanged(nameof(LastName)); + } + } + + public string Email + { + get { return _Email; } + set + { + _Email = value; + RaisePropertyChanged(nameof(Email)); + } + } + public string Password + { + get { return _Password; } + set + { + _Password = value; + RaisePropertyChanged(nameof(Password)); + } + } + public string Phone + { + get { return _Phone; } + set + { + _Phone = value; + RaisePropertyChanged(nameof(Phone)); + } + } + public string PhoneType + { + get { return _PhoneType; } + set + { + _PhoneType = value; + RaisePropertyChanged(nameof(PhoneType)); + } + } + public bool IsFullTime + { + get { return _IsFullTime; } + set + { + _IsFullTime = value; + RaisePropertyChanged(nameof(IsFullTime)); + } + } + public bool IsEnrolledIn401k + { + get { return _IsEnrolledIn401k; } + set + { + _IsEnrolledIn401k = value; + RaisePropertyChanged(nameof(IsEnrolledIn401k)); + } + } + public bool IsEnrolledInFlexTime + { + get { return _IsEnrolledInFlexTime; } + set + { + _IsEnrolledInFlexTime = value; + RaisePropertyChanged(nameof(IsEnrolledInFlexTime)); + } + } + public bool IsEnrolledInHealthCare + { + get { return _IsEnrolledInHealthCare; } + set + { + _IsEnrolledInHealthCare = value; + RaisePropertyChanged(nameof(IsEnrolledInHealthCare)); + } + } + public bool IsEnrolledInHSA + { + get { return _IsEnrolledInHSA; } + set + { + _IsEnrolledInHSA = value; + RaisePropertyChanged(nameof(IsEnrolledInHSA)); + } + } + public bool IsActive + { + get { return _IsActive; } + set + { + _IsActive = value; + RaisePropertyChanged(nameof(IsActive)); + } + } + public DateTime BirthDate + { + get { return _BirthDate; } + set + { + _BirthDate = value; + RaisePropertyChanged(nameof(BirthDate)); + } + } + public TimeSpan StartTime + { + get { return _StartTime; } + set + { + _StartTime = value; + RaisePropertyChanged(nameof(StartTime)); + } + } + + public string FullName + { + get { return $"{FirstName} {LastName}"; } + } + + public string LastNameFirstName + { + get { return $"{LastName}, {FirstName}"; } } } diff --git a/AdventureWorks.MAUI.sln b/AdventureWorks.MAUI.sln index 589668d..382184e 100644 --- a/AdventureWorks.MAUI.sln +++ b/AdventureWorks.MAUI.sln @@ -7,6 +7,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AdventureWorks.MAUI", "Adve EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AdventureWorks.EntityLayer", "AdventureWorks.EntityLayer\AdventureWorks.EntityLayer.csproj", "{33E62110-0EA1-48B1-B62F-CA856D13B114}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Common.Library", "Common.Library\Common.Library.csproj", "{FEDB6441-2564-4DD5-A3C9-1B2F0A761BB4}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -22,6 +24,10 @@ Global {33E62110-0EA1-48B1-B62F-CA856D13B114}.Debug|Any CPU.Build.0 = Debug|Any CPU {33E62110-0EA1-48B1-B62F-CA856D13B114}.Release|Any CPU.ActiveCfg = Release|Any CPU {33E62110-0EA1-48B1-B62F-CA856D13B114}.Release|Any CPU.Build.0 = Release|Any CPU + {FEDB6441-2564-4DD5-A3C9-1B2F0A761BB4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {FEDB6441-2564-4DD5-A3C9-1B2F0A761BB4}.Debug|Any CPU.Build.0 = Debug|Any CPU + {FEDB6441-2564-4DD5-A3C9-1B2F0A761BB4}.Release|Any CPU.ActiveCfg = Release|Any CPU + {FEDB6441-2564-4DD5-A3C9-1B2F0A761BB4}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/AdventureWorks.MAUI/AdventureWorks.MAUI.csproj b/AdventureWorks.MAUI/AdventureWorks.MAUI.csproj index e71d398..c379c49 100644 --- a/AdventureWorks.MAUI/AdventureWorks.MAUI.csproj +++ b/AdventureWorks.MAUI/AdventureWorks.MAUI.csproj @@ -66,6 +66,7 @@ + diff --git a/AdventureWorks.MAUI/Views/UserDetailView.xaml.cs b/AdventureWorks.MAUI/Views/UserDetailView.xaml.cs index dd8c436..04e1b0d 100644 --- a/AdventureWorks.MAUI/Views/UserDetailView.xaml.cs +++ b/AdventureWorks.MAUI/Views/UserDetailView.xaml.cs @@ -8,10 +8,20 @@ public partial class UserDetailView : ContentPage { InitializeComponent(); UserObject = (User)this.Resources["viewModel"]; + UserObject.LoginId = "jkzxck0q94375"; } public User UserObject { get; set; } + protected override void OnAppearing() + { + base.OnAppearing(); + + UserObject.LoginId = "PeterPiper384"; + UserObject.FirstName = "Peter"; + UserObject.LastName = "Piper"; + UserObject.Email = "peter@piper.com"; + } private void SaveButton_Clicked(object sender, EventArgs e) { System.Diagnostics.Debugger.Break(); diff --git a/Common.Library/BaseClasses/CommonBase.cs b/Common.Library/BaseClasses/CommonBase.cs new file mode 100644 index 0000000..e7bab64 --- /dev/null +++ b/Common.Library/BaseClasses/CommonBase.cs @@ -0,0 +1,30 @@ +using System.ComponentModel; + +namespace Common.Library; + +public abstract class CommonBase : INotifyPropertyChanged +{ + #region Constructor + protected CommonBase() + { + Init(); + } + #endregion + + #region Init Method + public virtual void Init() + { + + } + #endregion + + + #region RaisePropertyChanged Method + public event PropertyChangedEventHandler? PropertyChanged; + public virtual void RaisePropertyChanged(string propertyName) + { + this.PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName)); + } + #endregion + +} diff --git a/Common.Library/BaseClasses/EntityBase.cs b/Common.Library/BaseClasses/EntityBase.cs new file mode 100644 index 0000000..8f47a04 --- /dev/null +++ b/Common.Library/BaseClasses/EntityBase.cs @@ -0,0 +1,7 @@ + +namespace Common.Library +{ + public class EntityBase : CommonBase + { + } +} diff --git a/Common.Library/Common.Library.csproj b/Common.Library/Common.Library.csproj new file mode 100644 index 0000000..125f4c9 --- /dev/null +++ b/Common.Library/Common.Library.csproj @@ -0,0 +1,9 @@ + + + + net9.0 + enable + enable + + +