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) { UserDto.Id = user.Id; UserDto.ProfileId = user.ProfileId; UserDto.EmailAddress = user.EmailAddress; UserDto.EmailConfirmed = user.EmailConfirmed; UserDto.PhoneNumber = user.PhoneNumber; UserDto.RefferalId = user.RefferalId; UserDto.AffiliateId = user.AffiliateId; UserDto.RefreshToken = user.RefreshToken; UserDto.Created = user.Created; UserDto.Modified = user.Modified; 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; } public void CopyUserDtoValuesToUser(IAcUserDtoDetailBase user) { base.CopyUserDtoValuesToUser(user); user.ProfileId = UserDto.ProfileId; user.EmailAddress = UserDto.EmailAddress; user.EmailConfirmed = UserDto.EmailConfirmed; user.PhoneNumber = UserDto.PhoneNumber; user.RefferalId = UserDto.RefferalId; //user.RefreshToken = UserDto.RefreshToken; //Ezzel mi legyen?! - J. user.Created = UserDto.Created; user.Modified = UserDto.Modified; } }