コード例 #1
0
ファイル: ViewListController.cs プロジェクト: cdefg198/lkWeb
        public async Task <IActionResult> Export(UrlParameter param)
        {
            var tableId = param.id;
            var result  = await SysService.ExportExcel(tableId, param.ids);

            return(Json(result));
        }
コード例 #2
0
ファイル: ViewListController.cs プロジェクト: cdefg198/lkWeb
        public async Task <IActionResult> DownloadImportTemplate(UrlParameter param)
        {
            var tableId = param.id;
            var result  = await SysService.DownloadImportTemplate(tableId);

            return(Json(result));
        }
コード例 #3
0
ファイル: ViewListController.cs プロジェクト: cdefg198/lkWeb
        public async Task <IActionResult> Import(UrlParameter param, IFormFile file)
        {
            var tableId = param.id;
            var result  = await SysService.ImportExcel(tableId, file);

            return(Json(result));
        }
コード例 #4
0
        public ActionResult Auth(string ID)
        {
            var           rolePages = SysService.GetRolePages(ID);
            RoleAuthModel model     = new RoleAuthModel {
                RoleID = ID, Pages = new List <AuthPageModel>()
            };

            foreach (var g in AppConfig.Current.PageGroups)
            {
                foreach (var p in g.Pages.Where(w => w.IsEnable))
                {
                    model.Pages.Add(new AuthPageModel
                    {
                        PageID  = p.PageID,
                        Title   = p.Title,
                        Actions = p.Config.Actions.Where(a => a.IsEnable).GroupBy(a => a.Title)
                                  .Select(m => new AuthActionModel
                        {
                            ActionTitle = m.Key,
                            ActionValue = m.First().ActionValue,
                            IsSelected  = rolePages.FirstOrDefault(f => f.PageID.Equals(p.PageID) &&
                                                                   (f.ActionValue & m.First().ActionValue) == m.First().ActionValue) != null
                        }).ToList()
                    });
                }
            }
            return(View(model));
        }
コード例 #5
0
ファイル: ViewListController.cs プロジェクト: cdefg198/lkWeb
        public async Task <IActionResult> BatchOperation(UrlParameter param, SetColumnAttrModel model)
        {
            var tableId = param.id;
            var result  = await SysService.BatchOperation(tableId, param.ids, model.FiledName, model.Value);

            return(Json(result));
        }
コード例 #6
0
        public ActionResult Update()
        {
            try
            {
                string RoleID      = Request["RoleID"];
                string Name        = Request["Name"];
                string Description = Request["Description"];
                string CompanyIDs  = Request["CompanyIDs"];
                string DeptIDs     = Request["DeptIDs"];
                string BankIDs     = Request["BankIDs"];

                SysService.UpdateRole(RoleID, Name, Description);

                var pageValues = Request.Params.AllKeys
                                 .Where(k => k.StartsWith("P") && k.Length == 6)
                                 .Select((r) => new RolePage
                {
                    RoleID      = RoleID,
                    PageID      = r,
                    DataFilter  = (r == "P01001") ? CompanyIDs : (r == "P01002") ? DeptIDs : (r == "P01017") ? BankIDs : "",
                    ActionValue = Convert.ToInt32(Request.Params[r])
                }).ToList();

                SysService.UpdateRolePages(RoleID, pageValues);

                Role role = new Role {
                    RoleID = RoleID, Name = Name, Description = Description
                };
                return(Json(ResultData.Create(role), "text/html"));
            }
            catch (Exception ex)
            {
                return(Json(ResultData.CreateError(ex.Message), "text/html"));
            }
        }
コード例 #7
0
 public void OpenNewFile(string filePath)
 {
     if (AppDialogsService.ShowYesNoQuestion("Do you want to open the newly generated file?"))
     {
         SysService.StartProcess(filePath);
     }
 }
コード例 #8
0
ファイル: ViewListController.cs プロジェクト: cdefg198/lkWeb
        public async Task <IActionResult> Delete(UrlParameter param)
        {
            var tableId = param.extraValue.Ext_ToInt32();
            var result  = await SysService.Delete(tableId, param.ids);

            return(Json(result));
        }
コード例 #9
0
        public override void OnAuthorization(AuthorizationContext filterContext)
        {
            if (!string.IsNullOrEmpty(PageID))
            {
                var page = Panasia.Core.App.AppConfig.Current.GetPage(PageID);
                if (page != null)
                {
                    if (!page.IsNetAllow())
                    {
                        throw new Exception(string.Format(
                                                LangTexts.Current.GetLangText("1003", "对不起,因网络受限,您不能使用功能[{0}],谢谢理解!"),
                                                page.Title));
                    }
                }
            }
            var user = filterContext.HttpContext.User as UserPrincipal;

            if (user == null || (!SysService.IsActionAllowed(user.UserID, PageID, Action)))
            {
                //TODO:这里应该跳转(弹出对话框)到一个无权访问页面
                //filterContext.RequestContext.HttpContext.Response.Write("无权访问");
                //filterContext.RequestContext.HttpContext.Response.End();
                filterContext.HttpContext.Response.Redirect("/Home/TimeOut");
                return;
            }
            base.OnAuthorization(filterContext);
        }
コード例 #10
0
        public ActionResult Query()
        {
            string name        = Request["Name"];
            string description = Request["Description"];
            string page        = Request["page"];
            string rows        = Request["rows"];

            return(Json(SysService.GetRolesWithPage(name, description, page, rows)));
        }
コード例 #11
0
ファイル: PAEntity.cs プロジェクト: geji5239/Geji2015
        /// <summary>
        /// 更改记录的时候调用,给修改用户、时间赋值
        /// </summary>
        public virtual void ResetUpdated()
        {
            var user = SysService.GetCurrentUser();

            if (user != null)
            {
                ModifiedUser = user.UserID;
                ModifiedTime = DateTime.Now;
            }
        }
コード例 #12
0
ファイル: UserController.cs プロジェクト: geji5239/Geji2015
        public ActionResult Query()
        {
            string name     = Request["name"];
            string email    = Request["email"];
            string fullname = Request["fullname"];
            string page     = Request["page"];
            string rows     = Request["rows"];

            return(Json(SysService.GetUsersWithPage(name, true, email, fullname, page, rows)));
        }
コード例 #13
0
 public void OpenAppLocation()
 {
     try
     {
         SysService.OpenAppLocation();
     }
     catch (Exception exc)
     {
         LogException("Can not open app location", exc);
     }
 }
コード例 #14
0
ファイル: UserController.cs プロジェクト: geji5239/Geji2015
 public ActionResult Update(UserModel model)
 {
     try
     {
         var user = SysService.UpdateUser(model);
         return(Json(ResultData.Create(user), "text/html"));
     }
     catch (Exception ex)
     {
         return(Json(ResultData.CreateError(ex.Message), "text/html"));
     }
 }
コード例 #15
0
        public ActionResult Edit(string ID)
        {
            var model = SysService.GetRole(ID);

            var           rolePages = SysService.GetRolePages(ID);
            RoleAuthModel pagemodel = new RoleAuthModel {
                RoleID = ID, Name = model.Name, Description = model.Description, Pages = new List <AuthPageModel>()
            };

            pagemodel.DataFilter = null;
            pagemodel.Titles     = new List <string>();
            foreach (var g in AppConfig.Current.PageGroups)
            {
                pagemodel.Titles.Add(g.Name);
                foreach (var p in g.Pages.Where(w => w.IsEnable))
                {
                    pagemodel.Pages.Add(new AuthPageModel
                    {
                        PageID  = p.PageID,
                        Title   = p.Title,
                        Name    = g.Name,
                        Actions = p.Config.Actions.Where(a => a.IsEnable).GroupBy(a => a.Title)
                                  .Select(m => new AuthActionModel
                        {
                            ActionTitle = m.Key,
                            ActionValue = m.First().ActionValue,
                            IsSelected  = rolePages.FirstOrDefault(f => f.PageID.Equals(p.PageID) &&
                                                                   (f.ActionValue & m.First().ActionValue) == m.First().ActionValue) != null
                        }).ToList()
                    });
                }
            }
            var companyids = (from rp in rolePages where rp.PageID.Equals("P01001") select rp.DataFilter.ToString()).ToArray();
            var deptids    = (from rp in rolePages where rp.PageID.Equals("P01002") select rp.DataFilter.ToString()).ToArray();;
            var bankids    = (from rp in rolePages where rp.PageID.Equals("P01017") select rp.DataFilter.ToString()).ToArray();

            foreach (var companyid in companyids)
            {
                pagemodel.DataFilter += companyid;
            }
            pagemodel.DataFilter += ":";
            foreach (var deptid in deptids)
            {
                pagemodel.DataFilter += deptid;
            }
            pagemodel.DataFilter += ":";
            foreach (var bankid in bankids)
            {
                pagemodel.DataFilter += bankid;
            }
            return(View(pagemodel));
        }
コード例 #16
0
ファイル: OAUserController.cs プロジェクト: geji5239/Geji2015
        public ActionResult Login(Panasia.Gemini.FL.Models.LoginModel model)
        {
            if (ModelState.IsValid)
            {
                var loginModel = new LoginViewModel {
                    UserName = model.UserName, Password = model.Password
                };

                if (!loginModel.WebLogin(false))
                {
                    ModelState.AddModelError("", Messages.System_InvalidUserNameOrPassword);
                    this.AddSystemLog("登录失败", "Account/Login", Messages.System_InvalidUserNameOrPassword, model.UserName);
                    return(View(model));
                }
                else
                {
                    UserSession session = new UserSession();
                    session.UserModel      = SysService.GetUserModel(model.UserName);
                    session.Roles          = SysService.GetRoles();
                    Session["userSession"] = session;
                    this.AddSystemLog("登录成功", "Account/Login", "UserName:"******"login");
                        System.Data.DataRow row   = dsLoginInfo.Tables[0].Rows[0];
                        foreach (System.Data.DataColumn col in dsLoginInfo.Tables[0].Columns)
                        {
                            login.Values.Add(col.ColumnName, HttpUtility.UrlEncode(row[col.ColumnName].ToString()));
                        }

                        login.Expires = DateTime.Now.AddDays(1);
                        Response.Cookies.Add(login);

                        Response.Redirect("~/");
                    }
                    else
                    {
                        ViewBag.LoginError = true;
                    }
                    return(null);
                }
            }

            //if (ValidateUser(model.UserName, model.Password))
            //{
            //    QX(model.UserName);
            //    return RedirectToAction("Rc006", "Interview_Info");
            //}
            return(View("Fl000"));
        }
コード例 #17
0
ファイル: FrmMain.cs プロジェクト: github188/myitoppsp
        //判断当前用户是否是管理员
        private bool IsSystemUser()
        {
            bool isadmin = false;
            //系统管理员
            string strsql = "Groupno='SystemManage' and Userid='" + MIS.UserNumber + "'";
            IList  list   = SysService.GetList("SelectSmugroupByWhere", strsql);

            if (list.Count > 0)
            {
                isadmin = true;
            }
            return(isadmin);
        }
コード例 #18
0
ファイル: UserController.cs プロジェクト: geji5239/Geji2015
        public ActionResult EmailResetPsw(string uid) //用户点击email中地址链接重置密码
        {
            var r = SysService.EmailReset(uid);

            if (r == true)
            {
                return(View());//TODO 返回?
            }
            else
            {
                return(View());
            }
        }
コード例 #19
0
        /// <summary>
        /// 高级服务项目是否登记
        /// </summary>
        /// <param name="service">服务类型</param>
        /// <returns></returns>
        public bool IsServiceReg(SysService service)
        {
            bool isReg = false;

            foreach (CompanyServiceItem item in _typeitems)
            {
                if (item.Service == service)
                {
                    isReg = true; break;
                }
            }
            return(isReg);
        }
コード例 #20
0
 /// <summary>
 /// 获得某个索引值的高级服务项目元素,若不存在,则返回null
 /// </summary>
 /// <param name="service">高级服务类型</param>
 /// <returns></returns>
 public CompanyServiceItem this[SysService service]
 {
     get
     {
         foreach (CompanyServiceItem item in this._typeitems)
         {
             if (item.Service == service)
             {
                 return(item);
             }
         }
         return(null);
     }
 }
コード例 #21
0
ファイル: UserController.cs プロジェクト: geji5239/Geji2015
        public void ExportUser()
        {
            var isValidate = string.Empty;
            var keys       = Request.Form.AllKeys;

            foreach (var key in keys)
            {
                isValidate = Request.Form[key];
            }
            List <UserModel> list = SysService.GetUsers("", Boolean.Parse(isValidate), "", "");
            StringBuilder    sb   = new StringBuilder();

            sb.Append("<style type=\"text/css\">");
            sb.Append("<!--");
            sb.Append(".text");
            sb.Append("{mso-style-parent:style0;");
            sb.Append("font-size:10.0pt;");
            sb.Append("font-family:\"Arial Unicode MS\", sans-serif;");
            sb.Append("mso-font-charset:0;");
            sb.Append(@"mso-number-format:\@;");
            sb.Append("text-align:center;");
            sb.Append("border:.5pt solid black;");
            sb.Append("white-space:normal;}");
            sb.Append("-->");
            sb.Append("</style>");
            sb.Append("<table cellspacing=\"0\" rules=\"all\" border=\"1\" style=\"border-collapse:collapse;\">");
            sb.Append("<tr align=\"Center\" style=\"font-weight:bold;\">");
            sb.Append("<td>用户ID</td><td>用户名</td><td>全名</td><td>邮箱</td><td>是否有效</td>");
            sb.Append("</tr>");
            foreach (var user in list)
            {
                string value = user.IsValid ? "是" : "否";
                sb.Append("<tr align=\"Center\"><td>" + user.UserID + "</td><td>" + user.UserName + "</td><td>" + user.FullName + "</td><td>" + user.Email + "</td><td>" + value + "</td></tr>");
            }
            sb.Append("</table>");
            HttpResponseBase response = HttpContext.Response;

            response.Clear();
            response.ContentType = "application/ms-excel";
            if (HttpContext.Request.Browser.Type.StartsWith("Inter"))
            {
                response.AppendHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode("用户清单.xls", Encoding.GetEncoding("UTF-8")));
            }
            response.AppendHeader("Content-Disposition", "attachment;filename=" + "用户清单.xls");
            response.ContentEncoding = System.Text.Encoding.GetEncoding("utf-8");
            response.AddHeader("Pragma", "public");
            response.Write(sb.ToString());
            response.End();
            HttpContext.ApplicationInstance.CompleteRequest();
        }
コード例 #22
0
        /// <summary>
        /// 初始化上面的 Effect
        /// </summary>
        /// <param name="sysService"></param>
        public SysEffects(SysService sysService)
        {
            UnityIocService.AssertIsFirstInject(GetType());
            Logger = LoggerHelper.CreateLogger(GetType().ToString());
            //启动http解析服务
            StartHttpSystem = App.Store.asyncAction <SysActions.StartHttpSystem, bool>(
                async(dispatch, getState, instance) => {
                dispatch(instance);
                var isStarted = await sysService.StartHttpSystem(instance);
                if (isStarted)
                {
                    App.Store.Dispatch(new SysActions.StartHttpSystemSuccess());
                }
                else
                {
                    App.Store.Dispatch(new SysActions.StartHttpSystemFailed());
                }
                return(isStarted);
            });
            //启动关闭显示器定时器
            StartCloseScreenTimer = App.Store.asyncActionVoid <SysActions.StartCloseScreenTimer>(
                async(dispatch, getState, instance) => {
                dispatch(instance);
                await Task.Run(() => {
                    if (CloseScrrenTimer != null)
                    {
                        YUtil.RecoveryTimeout(CloseScrrenTimer);
                    }
                    else
                    {
                        CloseScrrenTimer = YUtil.SetInterval(instance.Interval, () => {
                            App.Store.Dispatch(new SysActions.CloseScreen());
                        });
                    }
                });
            });

            //停止关闭显示器定时器
            StopCloseScrenTimer = App.Store.asyncActionVoid <SysActions.StopCloseScreenTimer>(
                async(dispatch, getState, instance) => {
                dispatch(instance);
                await Task.Run(() => {
                    if (CloseScrrenTimer != null)
                    {
                        YUtil.ClearTimeout(CloseScrrenTimer);
                    }
                });
            });
        }
コード例 #23
0
ファイル: UserController.cs プロジェクト: geji5239/Geji2015
 public ActionResult Delete(string keys)
 {
     if (string.IsNullOrEmpty(keys))
     {
         return(Json(ResultData.CreateError("主键为空,删除取消")));
     }
     if (keys.Contains(','))
     {
         SysService.DeleteUsers(keys);
     }
     else
     {
         SysService.DeleteUser(keys);
     }
     return(Json(ResultData.Create(true), "text/html"));
 }
コード例 #24
0
ファイル: UserController.cs プロジェクト: geji5239/Geji2015
        public ActionResult UpdateUserRole()
        {
            try
            {
                var      userID = Request["UserID"];
                string[] roles  = Request["Roles[]"].Split(',');
                SysService.SaveUserRole(userID, roles);


                return(Json(ResultData.Create(SysService.GetUserModel(userID)), "text/html"));
            }
            catch (Exception ex)
            {
                return(Json(ResultData.CreateError(ex.Message), "text/html"));
            }
        }
コード例 #25
0
ファイル: UserController.cs プロジェクト: geji5239/Geji2015
        public ActionResult UserRole(string ID)
        {
            var           userRole = SysService.GetUserRoles(ID);
            UserAuthModel model    = new UserAuthModel {
                UserID = ID, Roles = new List <AuthRoleModel>()
            };

            foreach (var r in SysService.GetRoles("", ""))
            {
                model.Roles.Add(new AuthRoleModel
                {
                    RoleID     = r.RoleID,
                    Name       = r.Name,
                    IsSelected = userRole.FirstOrDefault(f => f.Equals(r.RoleID)) != null
                });
            }
            return(View(model));
        }
コード例 #26
0
        public void OpenStorageLocation(string storagePath)
        {
            const string openErrorMessage = "Can not open storage file location";

            try
            {
                if (!File.Exists(storagePath))
                {
                    AppDialogsService.ShowError(openErrorMessage);
                    return;
                }

                SysService.OpenFileLocation(storagePath);
            }
            catch (Exception exc)
            {
                LogException(openErrorMessage, exc);
            }
        }
コード例 #27
0
        public void OpenLogs()
        {
            const string openErrorMessage = "Can not open logs file location";

            try
            {
                if (!File.Exists(LoggerService.LogFilePath))
                {
                    AppDialogsService.ShowError(openErrorMessage);
                    return;
                }

                SysService.StartProcess(LoggerService.LogFilePath);
            }
            catch (Exception exc)
            {
                LogException(openErrorMessage, exc);
            }
        }
コード例 #28
0
 public ActionResult Login(LoginViewModel model, string ReturnUrl = "")
 {
     if (ModelState.IsValid)
     {
         if (!model.WebLogin())
         {
             ModelState.AddModelError("", Messages.System_InvalidUserNameOrPassword);
             this.AddSystemLog("登录失败", "Account/Login", Messages.System_InvalidUserNameOrPassword, model.UserName);
         }
         else
         {
             UserSession session = new UserSession();
             session.UserModel      = SysService.GetUserModel(model.UserName);
             session.Roles          = SysService.GetRoles();
             Session["userSession"] = session;
             this.AddSystemLog("登录成功", "Account/Login", "UserName:" + model.UserName, session.UserModel.FullName);
             return(null);
         }
     }
     return(View(model));
 }
コード例 #29
0
        public ActionResult UpdateAuth()
        {
            try
            {
                var roleID     = Request["RoleID"];
                var pageValues = Request.Params.AllKeys
                                 .Where(k => k.StartsWith("P") && k.Length == 6)
                                 .Select((r) => new RolePage
                {
                    RoleID      = roleID,
                    PageID      = r,
                    ActionValue = Convert.ToInt32(Request.Params[r])
                }).ToList();
                SysService.UpdateRolePages(roleID, pageValues);

                return(Json(ResultData.Create(true), "textml"));
            }
            catch (Exception ex)
            {
                return(Json(ResultData.CreateError(ex.Message), "text/html"));
            }
        }
コード例 #30
0
        public string GetTreegridState(string ID)
        {
            string jsonstr   = "";
            string col       = "";
            int    pcount    = 0;
            var    rolePages = SysService.GetRolePages(ID);

            foreach (var g in AppConfig.Current.PageGroups)
            {
                col += "{\"id\":\"" + g.Name + "\",\"name\":\"" + g.Name + "\"},";
                foreach (var p in g.Pages.Where(w => w.IsEnable))
                {
                    col += "{\"id\":\"" + p.PageID + "\",\"name\":\"" + p.Title + "\",\"_parentId\":\"" + g.Name + "\",\"action\":\"";
                    int prevalue = 0;
                    foreach (var a in p.Config.Actions.Where(a => a.IsEnable).GroupBy(a => a.Title))
                    {
                        if (prevalue != a.First().ActionValue)
                        {
                            if (a.First().ActionValue != 0)
                            {
                                bool state = rolePages.FirstOrDefault(f => f.PageID.Equals(p.PageID) && (f.ActionValue & a.First().ActionValue) == a.First().ActionValue) != null;
                                col += a.First().ActionValue + ":" + a.Key + ":" + state.ToString();
                                if (a.Key != p.Config.Actions.Where(k => k.IsEnable).GroupBy(k => k.Title).Last().Key)
                                {
                                    col += ",";
                                }
                            }
                            prevalue = a.First().ActionValue;
                        }
                    }
                    col += "\"},";
                }
                pcount += g.Pages.Where(w => w.IsEnable).Count();
            }
            col      = col.Substring(0, col.Length - 1);
            jsonstr += "{\"total\":" + (Convert.ToInt16(AppConfig.Current.PageGroups.Count()) + pcount) + ",\"rows\":[" + col + "]}";
            return(jsonstr.Replace("\\", ""));
        }