Files
uWine/uWine.Core.Infrastructure/Services/UserService.cs
T
2025-07-09 22:23:37 +02:00

41 lines
1.2 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using uWine.Core.Domain.Entities;
using uWine.Core.Domain.Repositories;
namespace uWine.Core.Infrastructure.Services
{
public class UserService
{
public IUserRepository _userRepository;
readonly OwnerService _ownerService;
readonly IOwnerRepository _ownerRepository;
public UserService(
IUserRepository userRepository, OwnerService ownerService, IOwnerRepository ownerRepository)
{
_userRepository = userRepository;
_ownerService = ownerService;
_ownerRepository = ownerRepository;
}
public User Process(int userId)
{
var user = _userRepository.UserById(userId);
if (user == null)
throw new ArgumentException($"User with ID {userId} not found.");
var owners = _ownerRepository.FromUser(userId)
?.Select(owner => _ownerService.FillData(owner))
.ToList();
user.Owners = owners ?? new List<Owner>();
return user;
}
}
}