public long EditUser(UserModel model)
{
Contract.Assert(model.UserId.HasValue);
var user = this.Manager.Load(model.UserId.Value);
var role = this.RoleManager.Load(model.RoleId);
PartnerEntity partner = null;
if (model.PartnerId.HasValue)
{
partner = this.PartnerManager.Load(model.PartnerId.Value);
}
user.Name = model.Name;
user.Email = model.Email;
user.UserPasswordCredential.Login = model.Login;
user.Role = role;
user.Partner = partner;
using (var tx = new Transaction())
{
this.Manager.Update(user);
tx.Complete();
}
return user.Id;
}