Exemple #1
0
        /// <summary>
        /// 添加模型权限验证
        /// </summary>
        /// <param name="actionContext"></param>
        public override void OnActionExecuting(ActionExecutingContext actionContext)
        {
            var modelState = actionContext.Controller.ViewData.ModelState;

            if (modelState.IsValid)
            {
                base.OnActionExecuting(actionContext);
                return;
            }
            var errorMsg = modelState.FristModelStateErrors().FirstOrDefault();

            actionContext.HttpContext.Response.ContentType = "application/json";
            base.OnActionExecuting(actionContext);
            var result = ResMessage.CreatMessage(ResultMessageEnum.ValidateError, errorMsg);

            actionContext.Result = new JsonResult()
            {
                Data = result,
                JsonRequestBehavior = JsonRequestBehavior.AllowGet
            };
            actionContext.Result.ExecuteResult(actionContext.Controller.ControllerContext);
            actionContext.HttpContext.Response.StatusCode = 504;
            actionContext.HttpContext.Response.End();
            actionContext.HttpContext.Response.Close();
            actionContext.HttpContext.Response.Redirect("/Login/Index");
            actionContext.Result = new RedirectResult("/Login/index");
        }
        public IHttpActionResult DeleteVoucher(VoucherIdViewModel voucher)
        {
            string[] vids = voucher.VId.Split(',');
            try
            {
                foreach (string vid in vids)
                {
                    long delVid;
                    if (long.TryParse(vid, out delVid))
                    {
                        _voucher.Delete(delVid);
                    }
                    else
                    {
                        ResMessage.Fail(string.Format("无效凭证编号:{0}", vid));
                    }
                }
            }
            catch (Exception e)
            {
                ResMessage.Fail(e.Message);
            }

            return(Ok(ResMessage.Success()));
        }
Exemple #3
0
        public ActionResult UserMenu()
        {
            var userId = Session[ConstString.SysUserLoginId];

            if (userId == null)
            {
                return(Json(ResMessage.CreatMessage(QueryUserMenu.NullUser)));
            }
            var userMenus = _navMenuBll.GetNavMenuByUserId(userId.ToString());

            if (userMenus != null)
            {
                Func <string, int, List <ResUserMenuAPI> > funcMenus = null;
                funcMenus = (x, y) => userMenus.Where(t => t.ParentMenId.Equals(x) && t.Level.Equals(y)).Select(t => new ResUserMenuAPI
                {
                    MenuId        = t.MenuId,
                    MenuName      = t.MenuName,
                    ParentMenId   = t.ParentMenId,
                    Level         = t.Level,
                    Url           = t.Url,
                    IconClass     = t.IconClass,
                    IconUrl       = t.IconUrl,
                    SubLevelMenus = funcMenus(t.MenuId, t.Level + 1)
                }).ToList();
                return(Json(ResMessage.CreatMessage(ResultTypeEnum.Success, "获取菜单成功", funcMenus("$", 1))));
            }
            return(Json(ResMessage.CreatMessage(ResultTypeEnum.ValidateError, "当前用户无可用菜单")));
        }
        /// <summary>
        /// 权限验证
        /// </summary>
        /// <param name="filterContext"></param>
        public override void OnAuthorization(AuthorizationContext filterContext)
        {
            //过滤验证
            if (filterContext.ActionDescriptor.IsDefined(typeof(NoTokenCheckAttribute), true) ||
                filterContext.ActionDescriptor.ControllerDescriptor.IsDefined(typeof(NoTokenCheckAttribute), true))
            {
                return;
            }
            var token = filterContext.HttpContext.Request.Headers["token"];

            if (!string.IsNullOrWhiteSpace(token))
            {
                var userId = int.Parse(token.Decrypt());
                if (CheckToken(userId))
                {
                    SessionManager.Add(ConstString.UserLoginId, userId);
                    return;
                }
            }
            filterContext.HttpContext.Response.ContentType = "application/json";
            var result = ResMessage.CreatMessage(ResultMessageEnum.Error, "无Token用户权限,请登录获取token");

            filterContext.Result = new JsonResult()
            {
                Data = result,
                JsonRequestBehavior = JsonRequestBehavior.AllowGet
            };
            //string json = JsonConvert.SerializeObject(result);
            //filterContext.HttpContext.Response.Write(json);
            filterContext.HttpContext.Response.End();
            filterContext.HttpContext.Response.Close();
        }
Exemple #5
0
        public ActionResult UpdateMenuExecutive(ReqNavMenuView navMenu)
        {
            var menuId = navMenu.MenuId;
            var opera  = (int)Operation.Update;

            if (!navMenu.GetIsValid())
            {
                string errorMsg = navMenu.GetErrorMessageList().First().ErrorMessage;
                return(Json(ResMessage.CreatMessage(ResultTypeEnum.Exception, errorMsg)));
            }
            var isBtn = _buttonBll.BtnJurisdiction(menuId, opera);

            if (!isBtn)
            {
                return(Json(ResMessage.CreatMessage(ResultTypeEnum.ValidateError, "您没有修改按钮权限")));
            }
            var nav = _menuShareBll.FirstOrDefault <Sys_NavMenu>(x => x.MenuId.Equals(menuId));

            if (nav == null)
            {
                return(Json(ResMessage.CreatMessage(ResultTypeEnum.Error, "菜单不存在")));
            }
            nav.MenuId      = navMenu.MenuId;
            nav.MenuName    = navMenu.MenuName;
            nav.ParentMenId = navMenu.ParentMenId;
            nav.Level       = navMenu.Level;
            nav.Url         = navMenu.Url;
            var result = _menuShareBll.UpdateEntity(nav);

            return(Json(ResMessage.CreatMessage(result ? ResultTypeEnum.Success : ResultTypeEnum.Exception)));
        }
Exemple #6
0
 /// <summary>
 /// 异常发生处理方法
 /// </summary>
 /// <param name="filterContext"></param>
 public override void OnException(ExceptionContext filterContext)
 {
     base.OnException(filterContext);
     if (!filterContext.ExceptionHandled)
     {
         Console.WriteLine(filterContext.HttpContext.Request);
         Log.Write(LogLevel.Error, filterContext.Exception.Message, filterContext.Exception);
         //filterContext.Result = new ViewResult
         //{
         //    ViewName = "",//跳转页面
         //    ViewData =new ViewDataDictionary<string>(filterContext.Exception.Message)
         //};
         filterContext.HttpContext.Response.ContentType = "application/json";
         string exMsg = filterContext.Exception.Message;
         Log.Write(LogLevel.Error, exMsg);
         if (filterContext.Exception.Source.ToLower().Equals("entityframework"))
         {
             exMsg = EFErrorMsg(filterContext);
         }
         if (string.IsNullOrWhiteSpace(ErrorMsg))
         {
             if (IsSplicing)
             {
                 exMsg = $"自定义消息:{ErrorMsg}异常消息:{exMsg}";
             }
             ErrorMsg = JsonConvert.SerializeObject(ResMessage.CreatMessage(ResultTypeEnum.Exception, exMsg));
         }
         Log.Write(LogLevel.Error, ErrorMsg);
         filterContext.HttpContext.Response.Write(ErrorMsg);
         filterContext.ExceptionHandled = true; //表示异常已被处理
     }
 }
        /// <summary>
        /// 权限验证
        /// </summary>
        /// <param name="filterContext"></param>
        public override void OnAuthorization(AuthorizationContext filterContext)
        {
            //过滤验证
            if (filterContext.ActionDescriptor.IsDefined(typeof(AllowAnonymousAttribute), true) ||
                filterContext.ActionDescriptor.ControllerDescriptor.IsDefined(typeof(AllowAnonymousAttribute), true))
            {
                return;
            }
            var token = filterContext.HttpContext.Request.Headers["token"];

            if (!string.IsNullOrWhiteSpace(token))
            {
                string userId = token.Decrypt();
                if (CheckToken(userId))
                {
                    SessionManager.Add(ConstString.SysUserLoginId, userId);
                    return;
                }
            }
            filterContext.HttpContext.Response.ContentType = "application/json";
            var    result = ResMessage.CreatMessage(ResultTypeEnum.Error, "无Token用户权限,请登录获取token");
            string json   = JsonConvert.SerializeObject(result);

            filterContext.HttpContext.Response.Write(json);
            filterContext.HttpContext.Response.End();
        }
 /// <summary>
 /// 赛事数据查询
 /// </summary>
 /// <param name="football"></param>
 /// <returns></returns>
 public ActionResult GetFootballMatch(ReqFootballMatch football)
 {
     if (!ModelState.IsValid)
     {
         var errorMsg = ModelState.FristModelStateErrors().FirstOrDefault();;
         return(Json(ResMessage.CreatMessage(ResultMessageEnum.ValidateError, errorMsg)));
     }
     if (football != null)
     {
         FootballMatchBLL bll = new FootballMatchBLL();
         if (football.FootballGameType == (int)FootballGameTypeEnum.WinOrLose)
         {
             var winorlose = bll.GetWinOrLoseList();
             if (winorlose != null)
             {
                 var result = ResMessage.CreatMessage(ResultMessageEnum.Success, winorlose);
                 return(Json(result));
             }
         }
         else if (football.FootballGameType == (int)FootballGameTypeEnum.TotalGoals)
         {
             var totalGoals = bll.GetTotalGoalsList();
             if (totalGoals != null)
             {
                 var result = ResMessage.CreatMessage(ResultMessageEnum.Success, totalGoals);
                 return(Json(result));
             }
         }
         else if (football.FootballGameType == (int)FootballGameTypeEnum.Score)
         {
             var score = bll.GetMatchScoreList();
             if (score != null)
             {
                 var result = ResMessage.CreatMessage(ResultMessageEnum.Success, score);
                 return(Json(result));
             }
         }
         else if (football.FootballGameType == (int)FootballGameTypeEnum.HalfCourtNegative)
         {
             var half = bll.GetHalfCourtNegativeList();
             if (half != null)
             {
                 var result = ResMessage.CreatMessage(ResultMessageEnum.Success, half);
                 return(Json(result));
             }
         }
         else if (football.FootballGameType == (int)FootballGameTypeEnum.MixedCustoms)
         {
             var all = bll.GetAllMatchOrOdds();
             if (all != null)
             {
                 var result = ResMessage.CreatMessage(ResultMessageEnum.Success, all);
                 return(Json(result));
             }
         }
     }
     return(Json(ResMessage.CreatMessage(ResultMessageEnum.Error, "暂无赛事数据")));
 }
Exemple #9
0
        public ActionResult MenuButtonsByMenuId(string menuId)
        {
            Func <List <Sys_button>, List <ResButton> > func = (x) =>
                                                               x.Select(t =>
                                                                        ResButton.CreatesInstance(t.ButtonId, t.ButtonName, t.ButtonSeq ?? 0, t.ButtonIcon)).ToList();
            var allbtns  = _buttonShareBll.LoadEntities();
            var menubtns = _buttonBll.GetMenuButtonsByMenuId(menuId);
            var result   = ResdSingleToMultiple <ResButton> .CreateObject(func(allbtns), func(menubtns), menuId);

            return(Json(ResMessage.CreatMessage(ResultTypeEnum.Success, "执行成功", result)));
        }
Exemple #10
0
        public IHttpActionResult DeleteCustomer(BizCustomerDelViewModel cusDel)
        {
            if (cusDel.CusId <= 0)
            {
                ResMessage.Fail("无效客户编号");
            }

            _customer.DeleteCustomer(cusDel.CusId);

            return(Ok(ResMessage.Success()));
        }
        public IHttpActionResult DeleteAccount(AccountDeleteViewModel vmAccount)
        {
            if (vmAccount == null)
            {
                ResMessage.Fail("参数为空");
            }

            _account.DeleteAccount(vmAccount.AccId);

            return(Ok(ResMessage.Success()));
        }
        public IHttpActionResult DeleteWorkOrder(WorkOrderDelViewModel workOrder)
        {
            if (workOrder.WoId <= 0)
            {
                ResMessage.Fail("要删除的工单编号无效");
            }

            _progress.DeleteWorkOrder(workOrder);

            return(Ok(ResMessage.Success()));
        }
        public IHttpActionResult DeleteCertWord(CertWordDeleteViewModel certWord)
        {
            if (certWord == null)
            {
                ResMessage.Fail("传入模型为空");
            }

            _certWord.Delete(certWord.CwId);

            return(Ok(ResMessage.Success()));
        }
Exemple #14
0
 public IHttpActionResult SaveBizCategory(BizCategoryViewModel category)
 {
     try
     {
         _setting.SaveCategory(category);
     }
     catch (Exception err)
     {
         ResMessage.Fail(err.Message);
     }
     return(Ok(ResMessage.Success()));
 }
Exemple #15
0
 public IHttpActionResult SaveBizItem(BizItemViewModel item)
 {
     try
     {
         _setting.SaveBizItem(item);
     }
     catch (Exception err)
     {
         ResMessage.Fail(err.Message);
     }
     return(Ok(ResMessage.Success()));
 }
Exemple #16
0
        public IHttpActionResult SaveBizStep(BizStepsViewModel step)
        {
            try
            {
                _setting.SaveBizStep(step);
            }
            catch (Exception err)
            {
                ResMessage.Fail(err.Message);
            }

            return(Ok(ResMessage.Success()));
        }
Exemple #17
0
        public IHttpActionResult DeleteBizStep(BizConfigDeleteViewModel step)
        {
            try
            {
                _setting.DeleteBizStep(step.id);
            }
            catch (Exception err)
            {
                ResMessage.Fail(err.Message);
            }

            return(Ok(ResMessage.Success()));
        }
Exemple #18
0
        public IHttpActionResult DeleteBizCategory(BizConfigDeleteViewModel category)
        {
            try
            {
                _setting.DeleteCategory(category.id);
            }
            catch (Exception err)
            {
                ResMessage.Fail(err.Message);
            }

            return(Ok(ResMessage.Success()));
        }
        public IHttpActionResult SaveWorkOrder(WorkOrderViewModel progress)
        {
            string err;

            if (!_modelValid.ValidBizProgress(progress, out err))
            {
                ResMessage.Fail(err);
            }

            _progress.SaveWorkOrder(progress);

            return(Ok(ResMessage.Success()));
        }
        public IHttpActionResult SaveAccountBook(AcctBookViewModels acctBook)
        {
            string err;

            if (!_modelValid.ValidAccountBookCreate(acctBook, out err))
            {
                ResMessage.Fail(err);
            }

            _acctBook.Save(acctBook);

            return(Ok(ResMessage.Success()));
        }
        public IHttpActionResult SetInvoicePath(VoucherInvoicePathModel invoice)
        {
            try
            {
                _voucher.SetInvoicePath(invoice.VId, invoice.InvoicePath);
            }
            catch (Exception e)
            {
                ResMessage.Fail(e.Message);
            }

            return(Ok(ResMessage.Success()));
        }
        public IHttpActionResult GetMultiColumn(SearchMultiColumnViewModel condition)
        {
            if (string.IsNullOrEmpty(condition.StartPeriod) || string.IsNullOrEmpty(condition.EndPeriod))
            {
                ResMessage.Fail("会计期间不能为空");
            }

            List <MultiColumnViewModels> sheet = _sheet.GetMultiColumn(condition);
            DatagridViewModel <MultiColumnViewModels> dgSheet = new DatagridViewModel <MultiColumnViewModels>();

            dgSheet.rows = sheet;

            return(Ok(dgSheet));
        }
        public ActionResult GetUserInfo(string userid, ReqBasePage page)
        {
            var userId = Session[ConstString.SysUserLoginId];

            if (userId == null)
            {
                return(Json(ResMessage.CreatMessage(QueryUserMenu.NullUser)));
            }
            var userinfo = _userBll.GetUserInfo(userid, page);

            if (userinfo != null)
            {
                return(Json(ResMessage.CreatMessage(ResultTypeEnum.Success, "获取用户信息成功", userinfo)));
            }
            return(Json(ResMessage.CreatMessage(ResultTypeEnum.Error, "当前没有数据", userinfo)));
        }
        public ActionResult Register(ReqUserRegister userRegister)
        {
            var check = RegisterAction.UserRegisterCheck(userRegister);

            if (!check.Item1)
            {
                return(Json(ResMessage.CreatMessage(ResultMessageEnum.AuthorityCheck, "用户手机号或邮箱已注册")));
            }
            int userId = check.Item2;

            SessionManager.Add(ConstString.UserLoginId, userId);
            var token = userId.ToString().Encrypt();
            var obj   = new { token };

            return(Json(ResMessage.CreatMessage(ResultMessageEnum.Success, "注册成功", obj)));
        }
        public ActionResult LoginIn(ReqUserLogin userLogin)
        {
            var chekUser = user.CheckLogin(userLogin);

            if (!chekUser.Item1)
            {
                return(Json(ResMessage.CreatMessage(ResultMessageEnum.AuthorityCheck, "用户或密码错误")));
            }
            int userId = chekUser.Item2;

            SessionManager.Add(ConstString.UserLoginId, userId);
            var token = userId.ToString().Encrypt();
            var obj   = new { token };

            return(Json(ResMessage.CreatMessage(ResultMessageEnum.Success, "登录成功", obj)));
        }
Exemple #26
0
        public ActionResult DelMenuExecutive(string menuId, string delMenuId)
        {
            var isBtn = _buttonBll.BtnJurisdiction(menuId, (int)Operation.Delete);

            if (!isBtn)
            {
                return(Json(ResMessage.CreatMessage(ResultTypeEnum.ValidateError, "您没有删除按钮权限")));
            }
            var delMenuIds = delMenuId.Split(',');

            if (delMenuIds == null || delMenuIds.Any())
            {
                return(Json(ResMessage.CreatMessage(ResultTypeEnum.ValidateError, "传入delMenuId值不存在元素")));
            }
            var result = _menuShareBll.BulkDelete(x => delMenuIds.Contains(x.MenuId));

            return(Json(ResMessage.CreatMessage(ResultTypeEnum.Success)));
        }
        public IHttpActionResult SaveVoucher(VoucherViewModel voucher)
        {
            string err;

            //校验借贷是否平衡、凭证字号是否最新、科目是否有效等
            if (!_modelValid.ValidVoucher(voucher, out err))
            {
                ResMessage.Fail(err);
            }

            Voucher v = _voucher.Save(voucher);

            ResMessageContent rmContent = ResMessage.Success();

            rmContent.State = Mapper.Map <VoucherViewModel>(v);

            return(Ok(rmContent));
        }
        public IHttpActionResult DeleteWorkProgress(WorkProgressDelViewModel delWorkProg)
        {
            if (delWorkProg.ProgId <= 0)
            {
                ResMessage.Fail("待删除的进度编号无效");
            }

            try
            {
                _progress.DeleteWorkProgress(delWorkProg.ProgId);
            }
            catch (Exception err)
            {
                ResMessage.Fail(err.Message);
            }

            return(Ok(ResMessage.Success()));
        }
Exemple #29
0
        public void ResultMessageTest()
        {
            var obj = new { Id = 1, Name = "二狗子" };

            var viewModel = ResMessage.CreatMessage(ResultMessageEnum.Success);
            var json      = JsonHelper.Serialize(viewModel);


            viewModel = ResMessage.CreatMessage(ResultMessageEnum.Success, "业务处理成功");
            json      = JsonHelper.Serialize(viewModel);


            viewModel = ResMessage.CreatMessage(ResultMessageEnum.Success, obj);
            json      = JsonHelper.Serialize(viewModel);


            viewModel = ResMessage.CreatMessage(ResultMessageEnum.Success, "业务处理成功", obj);
            json      = JsonHelper.Serialize(viewModel);
        }
Exemple #30
0
        /// <summary>
        /// 获取菜单列表
        /// </summary>
        /// <param name="page"></param>
        /// <param name="userId"></param>
        /// <returns></returns>
        public RequestResult QueryNavMenuList(ReqBasePage page, string userId)
        {
            //用户菜单信息
            var userMenus = _navMenuBll.GetNavMenuByUserId(userId);

            userMenus.ForEach(x =>
            {
                x.Url       = x.Url ?? "#";
                x.IconClass = x.IconClass ?? "icon icon-target";
                x.IconUrl   = string.Format("<i class='{0}'></i>", x.IconClass);
            });
            var menuList = userMenus.OrderBy(x => x.Seq)
                           .Skip((page.pageIndex - 1) * page.pageSize)
                           .Take(page.pageSize).ToList();
            var pageList = ResBasePage <Sys_NavMenu> .GetInstance(menuList, userMenus.Count);

            ResMessage.CreatMessage(ResultTypeEnum.Success, null, pageList);
            return(RequestResult.Success("", pageList));
        }