using System.ComponentModel.DataAnnotations.Schema; using System.Text.Json.Serialization; using AyCode.Interfaces.TimeStampInfo; using AyCode.Models.Users; using TIAM.Entities.Addresses; using TIAM.Entities.Products; using TIAM.Entities.Profiles; using TIAM.Entities.ServiceProviders; using TIAM.Entities.Users; namespace TIAM.Models.Dtos.Users { public class UserModelDtoDetail : AcUserModelDtoDetailBase, IProductsRelation, IUserModelDtoMinBase, IProfileForeignKey { public List UserProductMappings { get; set; } = []; public List Products { get; set; } = []; [NotMapped] [JsonIgnore] [Newtonsoft.Json.JsonIgnore] public Guid ProfileId { get => ProfileDto.Id; set => ProfileDto.Id = value; } public UserModelDtoDetail() { } public UserModelDtoDetail(User user) : base(user) { if (user.Products.Count == 0) return; //így proxy error lesz... - J. //Products = new List(user.Products); //UserProductMappings = new List(user.UserProductMappings); Products = new List(user.Products.Count); UserProductMappings = new List(user.UserProductMappings.Count); foreach (var product in user.Products) { Products.Add(new Product(product.Id, product.ServiceProviderId, product.ProductType, product.Name, product.Description, product.Price, product.JsonDetails)); } foreach (var userProduct in user.UserProductMappings) { UserProductMappings.Add(new UserProductMapping(userProduct)); } } public void CopyUserDtoValuesToUser(User user) => base.CopyUserDtoValuesToUser(user); public virtual User CreateMainEntity() { //TODO: Models... - J. throw new NotImplementedException("CreateMainEntity"); } } }