Ввод пользовательских значений - PullRequest
1 голос
/ 01 ноября 2011

У меня есть вопрос о том, как ввести значение без определения свойства источника.поэтому у меня есть 2 класса:

User.cs

public class User
{
    public int UserId { get; set; }
    public string UserName { get; set; }
}

и UserViewModel.cs

public class UserViewModel
{
    public int UserId { get; set; }
    public string UserName { get; set; }
    public string RoleName { get; set; }
}

как ввести RoleName?Мне нужно позвонить в мою службу, чтобы проверить в базе данных, какова роль пользователя.и я не хочу, чтобы сервис, вызываемый в get property, был таким:

public string RoleName
    {
        get { return Roles.GetRolesForUser(UserName).FirstOrDefault(); }
    }

Я хочу добиться этого, используя значение injecter.Заранее спасибо

1 Ответ

1 голос
/ 01 ноября 2011

если вы действительно хотите сделать это с помощью инъекции значения, вы можете сделать это так:

public class SetRole : NoSourceValueInjection
     {
         protected override void Inject(object target)
         {
             dynamic t = target;
             t.RoleName = Roles.GetRolesForUser(t.UserName).FirstOrDefault();
         }
     }

uvm.InjectFrom(user)
   .InjectFrom<SetRole>();
...