2ge ListBox 之间的 上下选择,MVC ViewModel

Html Code 
 1 public RoleViewModel generateActionList(string roleId, List<string> assignidlist)
 2         {
 3             if (string.IsNullOrEmpty(roleId) && assignidlist == null)
 4             {
 5                 List<IcActions> availableList = this.ServiceLocator.GetService<IRoleActionService>().GetAllActions(appid);
 6                 List<IcActions> assignList = new List<IcActions>();
 7                 PortalProj.Common.Entities.IcRoles icRoles = new PortalProj.Common.Entities.IcRoles();
 8                 return RoleViewModel.GetFromIcRoles(icRoles, assignList, availableList);
 9             }
10             else if (string.IsNullOrEmpty(roleId) && assignidlist != null)
11             {
12                 List<IcActions> availableList = this.ServiceLocator.GetService<IRoleActionService>().GetAllActions(appid);
13                 List<IcActions> assignList = this.ServiceLocator.GetService<IRoleActionService>().GetActionById(assignidlist).OrderBy(m => m.ActionSeq).ToList();
14                 PortalProj.Common.Entities.IcRoles icRoles = new PortalProj.Common.Entities.IcRoles();
15                 foreach (var item in assignList)
16                 {
17                     var itemToRemove = availableList.Single(i => i.ActionId == item.ActionId);
18                     if (itemToRemove != null)
19                         availableList.Remove(itemToRemove);
20                 }
21                 return RoleViewModel.GetFromIcRoles(icRoles, assignList, availableList);
22             }
23             else
24             {
25                 PortalProj.Common.Entities.IcRoles icRoles = this.ServiceLocator.GetService<IIcRolesService>().GetRoleById(roleId);
26                 List<IcActions> availableList = this.ServiceLocator.GetService<IRoleActionService>().GetAllActions(appid);
27                 List<IcActions> assignList = this.ServiceLocator.GetService<IRoleActionService>().GetActionById(assignidlist).OrderBy(m => m.ActionSeq).ToList();
28                 foreach (var item in assignList)
29                 {
30                     var itemToRemove = availableList.Single(i => i.ActionId == item.ActionId);
31                     if (itemToRemove != null)
32                         availableList.Remove(itemToRemove);
33                 }
34                 return RoleViewModel.GetFromIcRoles(icRoles, assignList, availableList);
35             }
36         }
Function Code
 1 public class RoleViewModel
 2     {
 3         public string Id { get; set; }
 4 
 5         [Required(ErrorMessage = "'Role' cannot be empty.")]
 6         public string Name { get; set; }
 7 
 8         [Required(ErrorMessage = "'Selected Functions' cannot be empty.")]
 9         public IList<ActionViewModel> AssignedActions { get; set; }        
10         public IList<ActionViewModel> AvailableActions { get; set; }
11         public string[] AssignedSelected { get; set; }
12         public string[] AvailableSelected { get; set; }
13 
14         public static RoleViewModel GetFromIcRoles(PortalProj.Common.Entities.IcRoles item, List<IcActions> assignedList, List<IcActions> availableList)
15         {
16             var role = new RoleViewModel
17             {
18                 Id = item.RoleId,
19                 Name = item.RoleName
20             };
21 
22             role.AssignedActions = new List<ActionViewModel>();
23             role.AvailableActions = new List<ActionViewModel>();
24 
25             if (assignedList != null)
26             {
27                 foreach (var assigned in assignedList)
28                 {
29                     var a = new ActionViewModel
30                     {
31                         Id = assigned.ActionId,
32                         Code = assigned.ActionCode,
33                         Name =Convert.ToString(assigned.ActionSeq)+ "." + assigned.ActionDesc
34                     };
35 
36                     role.AssignedActions.Add(a);
37                 }
38             }
39 
40             if (availableList != null)
41             {
42                 foreach (var available in availableList)
43                 {
44                     var a = new ActionViewModel
45                     {
46                         Id = available.ActionId,
47                         Code = available.ActionCode,
48                         Name = Convert.ToString(available.ActionSeq) + "." + available.ActionDesc
49                     };
50 
51                     role.AvailableActions.Add(a);
52                 }
53             }
54 
55             return role;
56         }
57 
58         public RoleViewModel()
59         {
60             AssignedActions = new List<ActionViewModel>();
61         }
62         public void AddAction(ActionViewModel item)
63         {
64             AssignedActions.Add(item);
65         }
66     }
ViewModel Code

 

转载于:https://www.cnblogs.com/ganguoyu/p/4112843.html

1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值