using System.ComponentModel.DataAnnotations.Schema; using System.Text.Json.Serialization; using AyCode.Interfaces.Addresses; using AyCode.Interfaces.Addresses.Dtos; using AyCode.Interfaces.Profiles; using AyCode.Interfaces.Profiles.Dtos; using AyCode.Interfaces.ServiceProviders; using AyCode.Interfaces.TimeStampInfo; using AyCode.Interfaces.Users; using AyCode.Interfaces.Users.Dtos; namespace AyCode.Models.Users; //public abstract class AcUserModelDtoDetailBase : AcUserModelDtoDetailBase // where TUserDtoDetail : class, IAcUserDtoDetailBase // where TProfile: class, IAcProfile // where TCompany : class, IAcCompanyBase // where TUserToCompany : class, IAcUserToCompanyBase // where TAddressDto : class, IAcAddressDtoBase //{ // protected AcUserModelDtoDetailBase() : base() // {} // protected AcUserModelDtoDetailBase(IAcUserDtoDetailBase user) : base(user) // { // } //} public abstract class AcUserModelDtoDetailBase : AcUserModelDtoBase where TUserDtoDetail : class, IAcUserDtoDetailBase where TProfileDto : class, IAcProfileDtoBase where TCompany : class, IAcCompanyBase where TUserToCompany : class, IAcUserToCompanyBase where TAddressDto : class, IAcAddressDtoBase { //public TAddressDto AddressDto { get; set; } protected AcUserModelDtoDetailBase() : base() {} protected AcUserModelDtoDetailBase(IAcUserDtoDetailBase user) : base(user) { var address = Activator.CreateInstance(); address.Id = user.Profile.AddressId; address.AddressText = user.Profile.Address.AddressText; address.Latitude = user.Profile.Address.Latitude; address.Longitude = user.Profile.Address.Longitude; ProfileDto.Address = address; UserDto.EmailAddress = user.EmailAddress; UserDto.PhoneNumber = user.PhoneNumber; UserDto.Created = user.Created; UserDto.Modified = user.Modified; } }