首页 > 解决方案 > 获取分配给他们的用户股票 + 那些尚未分配的股票

问题描述

每个员工都有自己的股票,从下面的代码中我会得到employeetheir stock

var employeeStockLists = db.Personcode 
 .Select(t => new user.stocklist 
   {  stockName = t.Item_Discount_Groups.Select(r=>r.Code).ToList(), 
      Person = t.Name 
   }).ToList();

结果:

员工股票

从下面的代码中,我将获得客户股票:

var userStockLists = db.Bufferlager
.Where(c => c.PX2ID == model.Customers.ID) 
.Select(v=>new user.userstocks {
  userId = v.PX2ID ,
  assginedStock = v.Code ,
  Isselected = v.IsChecked }).ToList();

结果:

用户库存

Controller 中的所有代码:

public ActionResult _userBufferlager(user model)
{
var employeeStockLists = db.Personcode
 .Select(t => new user.stocklist { 
   stockName = t.Item_Discount_Groups.Select(r=>r.Code).ToList(),
   Person = t.Name }).ToList();

var userStockLists = db.Bufferlager
  .Where(c => c.PX2ID == model.Customers.ID)
  .Select(v=>new userstocks {
    userId = v.PX2ID,
    assginedStock = v.Code,
    Isselected = v.IsChecked }).ToList();

model.EmpstockLists = employeeStockLists;
model.Userstocklist = userStockLists;

return PartialView(model);
}

视图模型:

public class user
    {
        public List<stocklist> EmpstockLists { get; set; }
        public List<userstocks> Userstocklist { get; set; }

        public class stocklist
        {
            public stocklist()
            {

            }

            public string Person { get; set; }
            public List<string> stockName { get; set; }

        }

        public class userstocks
        {
            public userstocks()
            {

            }
            public int userId {get; set;}
            public string assginedStock { get; set; }
            public bool Isselected { get; set; }
        }
   }

问题

在我的视图中,如果我循环通过 employeeStockLists 和 userStockLists :

  <div>
   @foreach (var emp in Model.EmpstockLists){    
       <p>@emp.Name</p>
         <div>
            <ul>
        @foreach(var stock in emp.stockName){
                  <li> <input type="checkbox" value="@stock" /> @stock </li>
             }
                    @foreach (var user in Model.Userstocklist){
                        <li> 
                         <input type="checkbox" value="@user.assginedStock" @(user.IsSelected == true ? "checked" : "") /> @user.assginedStock 
                        </li>
                                               
                          }
                    </ul>
                 </div>
               }
  </div>

我会得到以下结果:

如您所见,有 2 个带有“ABD - CIP”和 2 个带有“ABD - DELTEK”

<p>ABD</p>
<input type="checkbox" value="ABD - CIP" />
<input type="checkbox" value="ABD - DELTEK" />
<input type="checkbox" value="ABD - LANGUAGEWIRE" />
<input type="checkbox" value="ABD - VOLA" />
<input type="checkbox" checked value="ABD - CIP " />
<input type="checkbox" checked  value="ABD - DELTEK" />

但我正在寻找this result

<p>ABD</p>
<input type="checkbox" value="ABD - LANGUAGEWIRE" />
<input type="checkbox" value="ABD - VOLA" />
<input type="checkbox" checked value="ABD - CIP " />
<input type="checkbox" checked  value="ABD - DELTEK" />

问题

我怎样才能获得分配给他们的用户股票+那些尚未分配的股票?!

谁能帮帮我吗 :)

标签: c#asp.net-mvc

解决方案


推荐阅读