2ge ListBox 之间的 上下选择,MVC ViewModel_.NET_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > .NET > 2ge ListBox 之间的 上下选择,MVC ViewModel

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

 2014/11/21 15:56:52  just so  程序员俱乐部  我要评论(0)
  • 摘要:HtmlCode1publicRoleViewModelgenerateActionList(stringroleId,List<string>assignidlist)2{3if(string.IsNullOrEmpty(roleId)&&assignidlist==null)4{5List<IcActions>availableList=this.ServiceLocator.GetService<IRoleActionService>(
  • 标签:MVC view list
class="code_img_closed" src="/Upload/Images/2014112115/0015B68B3C38AA5B.gif" alt="" />Htmllogs_code_collapse">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

 

上一篇: google2013校园招聘笔试题(全国) 下一篇: 没有下一篇了!
发表评论
用户名: 匿名