TourIAm/TIAM.Models/Dtos/Users/UserModelDtoDetail.cs

54 lines
1.8 KiB
C#

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<UserDtoDetail, Profile, Company, UserToCompany, Address>, IProductsRelation, IUserModelDtoMinBase, IProfileForeignKey
{
public Guid ProfileId
{
get => ProfileDto.Id;
set {}
}
public List<UserProductMapping> UserProductMappings { get; set; }
public List<Product> Products { get; set; }
public UserModelDtoDetail()
{
}
public UserModelDtoDetail(User user) : base(user)
{
if (user.Products.Count == 0) return;
//így proxy error lesz... - J.
//Products = new List<Product>(user.Products);
//UserProductMappings = new List<UserProductMapping>(user.UserProductMappings);
Products = new List<Product>(user.Products.Count);
UserProductMappings = new List<UserProductMapping>(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.Id, userProduct.UserId, userProduct.ProductId));
}
}
public virtual User CreateMainEntity()
{
//TODO: Models... - J.
throw new NotImplementedException("CreateMainEntity");
}
}
}