繁体   English   中英

Asp.Net MVC4将供应商分配给aspNet UserId

[英]Asp.Net MVC4 assign a supplier to aspNet UserId

我有一个MVC5应用程序,其中要求管理员将供应商分配给他们的ASP.NET用户ID登录详细信息。 这是因为供应商可以向我的应用程序注册,其中包含与已经设置的ID不同的ID。 我需要一个管理员来获取他们的供应商ID并将其分配给他们的ASP.Net用户ID。

我将供应商和用户创建到一个很好的下拉列表中。 我现在需要更新供应商ID以匹配ASP.Net用户ID

我所拥有的如下控制器:

 [HttpPost]
    [ValidateAntiForgeryToken]
    public ActionResult AssignSupplier(string supplierName, string UserName )
    {
        ApplicationUser user = db.Users.Where(u => u.UserName.Equals(UserName, StringComparison.CurrentCultureIgnoreCase)).FirstOrDefault();


        UserManager<ApplicationUser> _userManager = new UserManager<ApplicationUser>(
        new UserStore<ApplicationUser>(new ApplicationDbContext()));

      //  this.UserManager.ad

        var supp = db.Suppliers.OrderBy(r => r.Name).ToList().Select(rr => new SelectListItem { Value = rr.Name.ToString(), Text = rr.Name }).ToList();
        ViewBag.Suppliers = supp;
        var users = db.Users.OrderBy(r => r.UserName).ToList().Select(rr => new SelectListItem { Value = rr.UserName.ToString(), Text = rr.UserName }).ToList();
        ViewBag.Users = users;

        return View("ManageUserRoles");
    }

我不确定如何将AspNet用户ID重新保存到供应商表中并覆盖当前ID,可以完全做到这一点。 我通过遵循http://www.dotnetfunda.com/articles/show/2898/working-with-roles-in-aspnet-identity-for-mvc,使用了非常相似的解决方案来将用户分配给角色

我想知道是否有人可以提供帮助或建议

非常感谢马克

您是否要在SupplierUser之间建立一对多关系?

您的User将需要一个Supplier

public class ApplicationUser
{
    //...
    public virtual Supplier Supplier {get;set;}
    //...
}

而您的Supplier需要User列表

public class Supplier
{
    //...
    public virtual List<ApplicationUser> Users {get;set;}
    //...
}

然后在控制器中,将供应商分配给用户:

public ActionResult AssignSupplier(string supplierName, string UserName )
{
    ApplicationUser user = db.Users.FirstOrDefault(u => u.UserName == UserName);

    Supplier supplier = db.Suppliers.FirstOrDefault(x => x.Name == supplierName);

    // Assign supplier to user
    user.Supplier = supplier;

    // Save
    db.SaveChanges();

    // ...
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM