The following is a basic example of a service. Internally the service uses an UserEntity and returns a UserViewModel.
public interface IUserService
{
UserViewModel GetUserById(int id);
List<UserViewModel> GetUsers();
}
public class UserService : IUserService
{
private readonly List<UserEntity> MockUsers = new List<UserEntity>();
public UserService()
{
PopulateData();
}
internal void PopulateData()
{
for (int i = 0; i < 46; i++)
{
MockUsers.Add(new UserEntity()
{
Id = i,
Name = string.Concat("User", i.ToString()),
Age = 20 + i,
Information = string.Concat("User", i.ToString(), "Info"),
CreatedDate = DateTime.Now,
CreatedBy = Environment.UserName,
UpdatedBy = Environment.UserName,
UpdatedDateTime = DateTime.Now
});
}
}
public List<UserViewModel> GetUsers()
{
return MockUsers.Select( u => new UserViewModel()
{
Id = u.Id,
Name = u.Name,
Age = u.Age,
Information = u.Information,
CreatedDate = DateTime.Now,
CreatedBy = Environment.UserName,
UpdatedBy = Environment.UserName
}).ToList();
}
public UserViewModel? GetUserById(int id)
{
return MockUsers.Select(u => new UserViewModel()
{
Id = u.Id,
Name = u.Name,
Age = u.Age,
Information = u.Information,
CreatedDate = DateTime.Now,
CreatedBy = Environment.UserName,
UpdatedBy = Environment.UserName
}).FirstOrDefault(u => u.Id == id);
}
}