public ActionResult ChildUser(FormCollection collection) { Dictionary<string, string> sitemaster = GetSiteMaster(); ViewData["SiteMaster"] = sitemaster; int userid = Int32.Parse(CurrentUserInfo.UserID); MemberUserInfo mui=new MemberUserInfoDao().Find(userid); int memberid = mui.MemberID; CRMService crm = new CRMService(); int memberlevel=(int)crm.GetUserMemberLevel(userid); if (CurrentUserInfo != null) { if (collection.Count == 0) { ViewData["Name"] = CurrentUserInfo.UserName; //获得初始的功能列表 Hashtable htparm = new Hashtable(); htparm["MemberLevel"] = memberlevel; //IList<ProductFunction> versionFunctionList = crm.GetFunctions(memberid, ProductID,htparm); //string functionlist = string.Empty; Dictionary<string, string> functiondict = new Dictionary<string, string>(); int functioncount = 1; string html = string.Empty; IList<ProductFunction> versionFunctionList = crm.GetEachKindFunctions(memberid, ProductID, htparm,1); foreach (ProductFunction func in versionFunctionList) { html += GetDict(functioncount, func, "kind1"); functioncount++; } functiondict.Add("kind1", html); html = string.Empty; versionFunctionList = crm.GetEachKindFunctions(memberid, ProductID, htparm, 12); foreach (ProductFunction func in versionFunctionList) { html += GetDict(functioncount, func, "kind12"); functioncount++; } functiondict.Add("kind12", html); html = string.Empty; versionFunctionList = crm.GetEachKindFunctions(memberid, ProductID, htparm, 2); foreach (ProductFunction func in versionFunctionList) { html += GetDict(functioncount, func, "kind2"); functioncount++; } functiondict.Add("kind2", html); html = string.Empty; versionFunctionList = crm.GetEachKindFunctions(memberid, ProductID, htparm, 3); foreach (ProductFunction func in versionFunctionList) { html += GetDict(functioncount, func, "kind3"); functioncount++; } functiondict.Add("kind3", html); html = string.Empty; versionFunctionList = crm.GetEachKindFunctions(memberid, ProductID, htparm, 4); foreach (ProductFunction func in versionFunctionList) { html += GetDict(functioncount, func, "kind4"); functioncount++; } functiondict.Add("kind4", html); html = string.Empty; versionFunctionList = crm.GetEachKindFunctions(memberid, ProductID, htparm, 5); foreach (ProductFunction func in versionFunctionList) { html += GetDict(functioncount, func, "kind5"); functioncount++; } functiondict.Add("kind5", html); html = string.Empty; versionFunctionList = crm.GetEachKindFunctions(memberid, ProductID, htparm, 6); foreach (ProductFunction func in versionFunctionList) { html += GetDict(functioncount, func, "kind6"); functioncount++; } functiondict.Add("kind6", html); html = string.Empty; versionFunctionList = crm.GetEachKindFunctions(memberid, ProductID, htparm, 7); foreach (ProductFunction func in versionFunctionList) { html += GetDict(functioncount, func, "kind7"); functioncount++; } functiondict.Add("kind7", html); html = string.Empty; versionFunctionList = crm.GetEachKindFunctions(memberid, ProductID, htparm, 8); foreach (ProductFunction func in versionFunctionList) { html += GetDict(functioncount, func, "kind8"); functioncount++; } functiondict.Add("kind8", html); html = string.Empty; ViewData["Function"] = functiondict; ViewData["Max"] = ""; } else { bool IsAdmin = new MemberUserInfoDao().IsAdmin(userid); if (!IsAdmin) { ViewData["Admin"] = IsAdmin; ViewData["Function"] = ""; ViewData["Max"] = ""; return View(); } else { //检查是否超过规定的子账户数 Hashtable htp=new Hashtable(); htp["MemberID"] = memberid; int maxchildcount = 0; int childusercount = CRMMapper.Get().QueryForObject<int>("MemberUserInfo.ChildUserCount", htp); if (CRMMapper.Get().QueryForObject<int>("SpecialChild.getcount", memberid) > 0) { maxchildcount = CRMMapper.Get().QueryForObject<int>("SpecialChild.getchildcount", memberid); } else { maxchildcount=GetMaxCount(memberlevel); } if (childusercount >= maxchildcount) { ViewData["Max"] = "对不起,您的子账户数超过了您的会员等级规定的子账户数!"; } else { UserModel newuser = new UserModel(); newuser.Username = collection["UserName"]; newuser.Password = collection["Password"]; newuser.Email = ""; /*if (!MembershipService.CheckValidateCode(collection["ValidateCode"])) { ViewData["Name"] = CurrentUserInfo.UserName; ViewData["UserInfo"] = collection["UserName"]; ViewData["Validatecode"] = "False"; return View(); }*/ if (!MembershipService.UserIsExists(newuser.Username)) { MembershipService.CreateNewUser(newuser); MemberUserInfo newMember = new MemberUserInfo(); int tempuserid = MembershipService.GetUserID(collection["UserName"]); newMember.UserID = tempuserid; newMember.MemberID = memberid; newMember.Name = collection["Name"]; newMember.IsMemberAdmin = 0; newMember.Mobile = collection["Mobile"]; newMember.Status = 1; new MemberUserInfoDao().Insert(newMember); //插入子账户功能表 ChildUserFunction newchildfunc = new ChildUserFunction(); newchildfunc.UserID = tempuserid; newchildfunc.ProductID = ProductID; newchildfunc.FunctionIDList = GetFunctionstring(collection); new ChildUserFunctionDao().Insert(newchildfunc); ViewData["Function"] = GetFunctionstringForView(userid, newchildfunc.FunctionIDList, memberid, ProductID); ViewData["PostExist"] = "False"; ViewData["ChildUser"] = "******"; ViewData["Max"] = ""; } else { ViewData["PostExist"] = "True"; ViewData["Max"] = ""; } } ViewData["IsExists"] = false; ViewData["Admin"] = IsAdmin; ViewData["Name"] = CurrentUserInfo.UserName; ViewData["UserInfo"] = collection["UserName"]; ViewData["RealName"] = collection["Name"]; ViewData["Mobile"] = collection["Mobile"]; } } } ViewData["titlename"] = "子账户新增"; return View(); }
//得到要给View端的function字符串 public Dictionary<string, string> GetFunctionstringForView(int userid,string functionlist, int memberid, int ProductID) { string html = string.Empty; string[] list = functionlist.Split(','); CRMService crm = new CRMService(); Hashtable htparm = new Hashtable(); htparm["MemberLevel"] = (int)crm.GetUserMemberLevel(userid); //IList<ProductFunction> versionFunctionList = crm.GetFunctions(memberid, ProductID, htparm); int functioncount = 1; Dictionary<string, string> functiondict = new Dictionary<string, string>(); IList<ProductFunction> versionFunctionList = crm.GetEachKindFunctions(memberid, ProductID, htparm, 1); foreach (ProductFunction func in versionFunctionList) { html += GetDict(functioncount, func, "kind1"); functioncount++; } functiondict.Add("kind1", html); html = string.Empty; versionFunctionList = crm.GetEachKindFunctions(memberid, ProductID, htparm, 2); foreach (ProductFunction func in versionFunctionList) { html += GetDictEx(list,functioncount, func, "kind2"); functioncount++; } functiondict.Add("kind2", html); foreach (ProductFunction func in versionFunctionList) { html += GetDict(functioncount, func, "kind12"); functioncount++; } functiondict.Add("kind12", html); html = string.Empty; versionFunctionList = crm.GetEachKindFunctions(memberid, ProductID, htparm, 3); foreach (ProductFunction func in versionFunctionList) { html += GetDictEx(list,functioncount, func, "kind3"); functioncount++; } functiondict.Add("kind3", html); html = string.Empty; versionFunctionList = crm.GetEachKindFunctions(memberid, ProductID, htparm, 4); foreach (ProductFunction func in versionFunctionList) { html += GetDictEx(list,functioncount, func, "kind4"); functioncount++; } functiondict.Add("kind4", html); html = string.Empty; versionFunctionList = crm.GetEachKindFunctions(memberid, ProductID, htparm, 5); foreach (ProductFunction func in versionFunctionList) { html += GetDictEx(list,functioncount, func, "kind5"); functioncount++; } functiondict.Add("kind5", html); html = string.Empty; versionFunctionList = crm.GetEachKindFunctions(memberid, ProductID, htparm, 6); foreach (ProductFunction func in versionFunctionList) { html += GetDictEx(list,functioncount, func, "kind6"); functioncount++; } functiondict.Add("kind6", html); html = string.Empty; versionFunctionList = crm.GetEachKindFunctions(memberid, ProductID, htparm, 7); foreach (ProductFunction func in versionFunctionList) { html += GetDictEx(list,functioncount, func, "kind7"); functioncount++; } functiondict.Add("kind7", html); html = string.Empty; versionFunctionList = crm.GetEachKindFunctions(memberid, ProductID, htparm, 8); foreach (ProductFunction func in versionFunctionList) { html += GetDictEx(list,functioncount, func, "kind8"); functioncount++; } functiondict.Add("kind8", html); return functiondict; }
//得到要回传的function字符串 public string GetFunctionstringForView(string functionlist, int memberid, int ProductID, Hashtable htparm) { string temp = string.Empty; if (functionlist != null) { string[] list = functionlist.Split(','); CRMService crm = new CRMService(); IList<ProductFunction> versionFunctionList = crm.GetFunctions(memberid, ProductID, htparm); int functioncount = 1; temp = "<div><input type='checkbox' id='checkall' />全选</div><table width='600px' border='1'cellpadding='6' cellspacing='1'><thead><tr>" + "<th align='left'><input type='checkbox' class='function kind' id='kind1' />会员管理</th><th align='left'><input type='checkbox' class='function kind' id='kind12' />项目与日程管理</th><th align='left'><input type='checkbox' class='function kind' id='kind2' />招标公告与信息</th>" + "<th align='left'><input type='checkbox' class='function kind' id='kind3' />招标数据库查询</th><th align='left'><input type='checkbox' class='function kind' id='kind4' />招标管理与助手</th>" + "</tr></thead><tbody><tr>"; temp += "<td align='left'>"; string html = string.Empty; versionFunctionList = crm.GetEachKindFunctions(memberid, ProductID, htparm, 1); foreach (ProductFunction func in versionFunctionList) { html += GetDictEx(list, functioncount, func, "kind1"); functioncount++; } temp += html; temp += "</td>"; temp += "<td align='left'>"; html = string.Empty; versionFunctionList = crm.GetEachKindFunctions(memberid, ProductID, htparm, 12); foreach (ProductFunction func in versionFunctionList) { html += GetDictEx(list, functioncount, func, "kind12"); functioncount++; } temp += html; temp += "</td>"; temp += "<td align='left'>"; html = string.Empty; versionFunctionList = crm.GetEachKindFunctions(memberid, ProductID, htparm, 2); foreach (ProductFunction func in versionFunctionList) { html += GetDictEx(list, functioncount, func, "kind2"); functioncount++; } temp += html; temp += "</td>"; temp += "<td align='left'>"; html = string.Empty; versionFunctionList = crm.GetEachKindFunctions(memberid, ProductID, htparm, 3); foreach (ProductFunction func in versionFunctionList) { html += GetDictEx(list, functioncount, func, "kind3"); functioncount++; } temp += html; temp += "</td>"; temp += "<td align='left'>"; html = string.Empty; versionFunctionList = crm.GetEachKindFunctions(memberid, ProductID, htparm, 4); foreach (ProductFunction func in versionFunctionList) { html += GetDictEx(list, functioncount, func, "kind4"); functioncount++; } temp += html; temp += "</td></tr></tbody></table>"; temp += "<table width='600px' border='1'cellpadding='6' cellspacing='1'><thead><tr><th width='180px' align='left'><input type='checkbox' class='function kind' id='kind5' />数据分析与报告</th>" + "<th align='left'><input type='checkbox' class='function kind' id='kind6' />模拟评标与竞价</th><th align='left'><input type='checkbox' class='function kind' id='kind7' />专业数据库查询</th>" + "<th align='left'><input type='checkbox' class='function kind' id='kind8' />辅助数据库查询</th></tr></thead><tbody><tr>"; temp += "<td align='left'>"; html = string.Empty; versionFunctionList = crm.GetEachKindFunctions(memberid, ProductID, htparm, 5); foreach (ProductFunction func in versionFunctionList) { html += GetDictEx(list, functioncount, func, "kind5"); functioncount++; } temp += html; temp += "</td>"; temp += "<td align='left'>"; html = string.Empty; versionFunctionList = crm.GetEachKindFunctions(memberid, ProductID, htparm, 6); foreach (ProductFunction func in versionFunctionList) { html += GetDictEx(list, functioncount, func, "kind6"); functioncount++; } temp += html; temp += "</td>"; temp += "<td align='left'>"; html = string.Empty; versionFunctionList = crm.GetEachKindFunctions(memberid, ProductID, htparm, 7); foreach (ProductFunction func in versionFunctionList) { html += GetDictEx(list, functioncount, func, "kind7"); functioncount++; } temp += html; temp += "</td>"; temp += "<td align='left'>"; html = string.Empty; versionFunctionList = crm.GetEachKindFunctions(memberid, ProductID, htparm, 8); foreach (ProductFunction func in versionFunctionList) { html += GetDictEx(list, functioncount, func, "kind8"); functioncount++; } temp += html; temp += "</td></tr></tbody></table>"; } else { CRMService crm = new CRMService(); IList<ProductFunction> versionFunctionList = crm.GetFunctions(memberid, ProductID, htparm); int functioncount = 1; temp = "<div><input type='checkbox' id='checkall' />全选</div><table width='600px' border='1'cellpadding='6' cellspacing='1'><thead><tr>" + "<th align='left'><input type='checkbox' class='function kind' id='kind1' />会员管理</th><th align='left'><input type='checkbox' class='function kind' id='kind12' />项目与日程管理</th><th align='left'><input type='checkbox' class='function kind' id='kind2' />招标公告与信息</th>" + "<th align='left'><input type='checkbox' class='function kind' id='kind3' />招标数据库查询</th><th align='left'><input type='checkbox' class='function kind' id='kind4' />招标管理与助手</th>" + "</tr></thead><tbody><tr>"; temp += "<td align='left'>"; string html = string.Empty; versionFunctionList = crm.GetEachKindFunctions(memberid, ProductID, htparm, 1); foreach (ProductFunction func in versionFunctionList) { html += GetDict(functioncount, func, "kind1"); functioncount++; } temp += html; temp += "</td>"; temp += "<td align='left'>"; html = string.Empty; versionFunctionList = crm.GetEachKindFunctions(memberid, ProductID, htparm, 12); foreach (ProductFunction func in versionFunctionList) { html += GetDict(functioncount, func, "kind12"); functioncount++; } temp += html; temp += "</td>"; temp += "<td align='left'>"; html = string.Empty; versionFunctionList = crm.GetEachKindFunctions(memberid, ProductID, htparm, 2); foreach (ProductFunction func in versionFunctionList) { html += GetDict(functioncount, func, "kind2"); functioncount++; } temp += html; temp += "</td>"; temp += "<td align='left'>"; html = string.Empty; versionFunctionList = crm.GetEachKindFunctions(memberid, ProductID, htparm, 3); foreach (ProductFunction func in versionFunctionList) { html += GetDict(functioncount, func, "kind3"); functioncount++; } temp += html; temp += "</td>"; temp += "<td align='left'>"; html = string.Empty; versionFunctionList = crm.GetEachKindFunctions(memberid, ProductID, htparm, 4); foreach (ProductFunction func in versionFunctionList) { html += GetDict(functioncount, func, "kind4"); functioncount++; } temp += html; temp += "</td></tr></tbody></table>"; temp += "<table width='600px' border='1'cellpadding='6' cellspacing='1'><thead><tr><th width='180px'align='left'><input type='checkbox' class='function kind' id='kind5' />数据分析与报告</th>" + "<th align='left'><input type='checkbox' class='function kind' id='kind6' />模拟评标与竞价</th><th align='left'><input type='checkbox' class='function kind' id='kind7' />专业数据库查询</th>" + "<th align='left'><input type='checkbox' class='function kind' id='kind8' />辅助数据库查询</th></tr></thead><tbody><tr>"; temp += "<td align='left'>"; html = string.Empty; versionFunctionList = crm.GetEachKindFunctions(memberid, ProductID, htparm, 5); foreach (ProductFunction func in versionFunctionList) { html += GetDict(functioncount, func, "kind5"); functioncount++; } temp += html; temp += "</td>"; temp += "<td align='left'>"; html = string.Empty; versionFunctionList = crm.GetEachKindFunctions(memberid, ProductID, htparm, 6); foreach (ProductFunction func in versionFunctionList) { html += GetDict(functioncount, func, "kind6"); functioncount++; } temp += html; temp += "</td>"; temp += "<td align='left'>"; html = string.Empty; versionFunctionList = crm.GetEachKindFunctions(memberid, ProductID, htparm, 7); foreach (ProductFunction func in versionFunctionList) { html += GetDict(functioncount, func, "kind7"); functioncount++; } temp += html; temp += "</td>"; temp += "<td align='left'>"; html = string.Empty; versionFunctionList = crm.GetEachKindFunctions(memberid, ProductID, htparm, 8); foreach (ProductFunction func in versionFunctionList) { html += GetDict(functioncount, func, "kind8"); functioncount++; } temp += html; temp += "</td></tr></tbody></table>"; } return temp; }