public ActionResult IndexRepeatSubmit(StopPayAudit StopPayAudit)
        {
            StopPayAudit = Request.ConvertRequestToModel <StopPayAudit>(StopPayAudit, StopPayAudit);
            if (StopPayAudit.Pic == "System.Web.HttpPostedFileWrapper" || StopPayAudit.Pic == null)
            {
                ViewBag.ErrorMsg = "文件类型错误";
                return(View("Error"));
            }
            if (StopPayAudit.Remark.IsNullOrEmpty())
            {
                ViewBag.ErrorMsg = "请填写解除止付原因";
                return(View("Error"));
            }

            var baseStopPayAudit = this.Entity.StopPayAudit.FirstOrDefault(o => o.Id == StopPayAudit.Id);

            if (baseStopPayAudit == null)
            {
                ViewBag.ErrorMsg = AgentLanguage.Empty;
                return(View("Error"));
            }
            if (!IsBelongToAgent(baseStopPayAudit.Agent))
            {
                ViewBag.ErrorMsg = AgentLanguage.Surmount;
                return(View("Error"));
            }

            var BaseUsers = this.Entity.Users.Where(o => o.Id == baseStopPayAudit.UId).FirstOrDefault();

            if (BaseUsers == null)
            {
                ViewBag.ErrorMsg = AgentLanguage.Empty;
                return(View("Error"));
            }
            if (!BaseUsers.IfUnFrozenRepeat())
            {
                ViewBag.ErrorMsg = "不符合重新提交止付规则,无法重新提交";
                return(View("Error"));
            }

            baseStopPayAudit.TState     = 1;
            baseStopPayAudit.Remark     = StopPayAudit.Remark;
            baseStopPayAudit.Pic        = StopPayAudit.Pic;
            BaseUsers.StopPayAuditState = 1;
            Entity.SaveChanges();

            ViewBag.Title = "操作成功";
            return(View("Succeed"));
        }
        public ActionResult Index(StopPayAudit StopPayAudit, EFPagingInfo <StopPayAudit> p, bool IsShowSupAgent = false, int LowerLevel = 0, int IsFirst = 0)
        {
            #region 条件

            if (!StopPayAudit.Agent.IsNullOrEmpty())
            {
                //是否要显示下级
                if ((bool)IsShowSupAgent)
                {
                    SysAgent         LowerLevelAgent = Entity.SysAgent.Where(s => s.Id == StopPayAudit.Agent).FirstOrNew();
                    IList <SysAgent> SysAgentList    = LowerLevelAgent.GetSupAgent(Entity, true);
                    IList <int>      UID             = new List <int>();
                    foreach (var s in SysAgentList)
                    {
                        UID.Add(s.Id);
                    }
                    p.SqlWhere.Add(f => UID.Contains(f.Agent));
                }
                else
                {
                    p.SqlWhere.Add(f => f.Agent == StopPayAudit.Agent);
                }
            }
            if (!StopPayAudit.TState.IsNullOrEmpty())
            {
                p.SqlWhere.Add(o => o.TState == StopPayAudit.TState);
            }
            if (!StopPayAudit.CreateAdminName.IsNullOrEmpty())
            {
                List <int> uids = new List <int>();
                if (StopPayAudit.UId == 1)
                {
                    uids = Entity.Users.Where(o => o.UserName == StopPayAudit.CreateAdminName).Select(o => o.Id).ToList();
                }
                else if (StopPayAudit.UId == 2)
                {
                    uids = Entity.Users.Where(o => o.Mobile == StopPayAudit.CreateAdminName).Select(o => o.Id).ToList();
                }
                else if (StopPayAudit.UId == 3)
                {
                    uids = Entity.Users.Where(o => o.TrueName == StopPayAudit.CreateAdminName).Select(o => o.Id).ToList();
                }
                p.SqlWhere.Add(f => uids.Contains(f.UId));
            }
            #endregion
            p.OrderByList.Add("Id", "DESC");
            IPageOfItems <StopPayAudit> StopPayAuditList = null;
            if (IsFirst == 0)
            {
                StopPayAuditList = new PageOfItems <StopPayAudit>(new List <StopPayAudit>(), 0, 10, 0, new Hashtable());
            }
            else
            {
                StopPayAuditList = Entity.Selects <StopPayAudit>(p);
            }
            ViewBag.StopPayAuditList = StopPayAuditList;
            ViewBag.StopPayAudit     = StopPayAudit;
            //用户表
            var SPAUsersList = StopPayAuditList.Select(o => o.UId).ToList();
            ViewBag.UserSelect = Entity.Users.Where(o => SPAUsersList.Contains(o.Id)).ToList();

            ViewBag.SysAgentList   = Entity.SysAgent.Where(n => n.Tier == 1).ToList();
            ViewBag.IsShowSupAgent = IsShowSupAgent;//是否显示下级
            ViewBag.IsAudit        = this.checkPower("Audit");
            return(View());
        }
        public ActionResult Audit(StopPayAudit StopPayAudit)
        {
            if (StopPayAudit.Id.IsNullOrEmpty())
            {
                ViewBag.ErrorMsg = "请填写ID";
                return(View("Error"));
            }

            var BaseStopPayAudit = Entity.StopPayAudit.FirstOrDefault(o => o.Id == StopPayAudit.Id);

            if (BaseStopPayAudit == null)
            {
                ViewBag.ErrorMsg = "数据不存在";
                return(View("Error"));
            }

            var BaseUsers = this.Entity.Users.FirstOrDefault(o => o.Id == BaseStopPayAudit.UId);

            if (BaseUsers == null)
            {
                ViewBag.ErrorMsg = "数据不存在";
                return(View("Error"));
            }
            if (!BaseUsers.IfUnFrozenAudit())
            {
                ViewBag.ErrorMsg = "不符合解冻审核规则";
                return(View("Error"));
            }
            //商户数据修改
            BaseUsers.StopPayAuditState = StopPayAudit.TState;
            if (BaseUsers.StopPayAuditState == 2)
            {
                BaseUsers.StopPayState = 0;
            }

            BaseStopPayAudit.TState              = StopPayAudit.TState;
            BaseStopPayAudit.AuditRemark         = StopPayAudit.AuditRemark;
            BaseStopPayAudit.AuditInteriorRemark = StopPayAudit.AuditInteriorRemark;
            BaseStopPayAudit.AuditTime           = DateTime.Now;
            BaseStopPayAudit.AuditAdminId        = this.AdminUser.Id;
            BaseStopPayAudit.AuditAdminName      = this.AdminUser.TrueName;

            //记录日志
            var UserFrozenLog = new UserFrozenLog()
            {
                Img            = string.Empty,
                Remark         = StopPayAudit.AuditRemark,
                AddTime        = DateTime.Now,
                OpName         = this.AdminUser.TrueName,
                UId            = BaseUsers.Id,
                LogType        = StopPayAudit.TState,
                OpType         = 2,
                AId            = this.AdminUser.Id,
                InteriorRemark = StopPayAudit.AuditInteriorRemark,
                Platform       = 2,
            };

            this.Entity.UserFrozenLog.AddObject(UserFrozenLog);
            this.Entity.SaveChanges();
            ViewBag.Title = "操作成功";
            ViewBag.Msg   = "操作结果:审核" + (StopPayAudit.TState == 2 ? "通过" : "不通过");
            return(View("Succeed"));
        }
        /// <summary>
        /// 解冻管理
        /// </summary>
        /// <param name="Users"></param>
        /// <param name="p"></param>
        /// <returns></returns>
        public ActionResult Index(StopPayAudit StopPayAudit, EFPagingInfo <StopPayAudit> p, bool IsShowSupAgent = false, int LowerLevel = 0, int UserSelect = 1, int IsFirst = 0)
        {
            if (!StopPayAudit.TState.IsNullOrEmpty())
            {
                p.SqlWhere.Add(o => o.TState == StopPayAudit.TState);
            }
            //一级只有的功能
            if (BasicAgent.Tier == 1)
            {
                IList <SysAgent> SysAgentList = null;
                if (IsShowSupAgent)
                {
                    IList <int> UID = new List <int>();
                    if (LowerLevel != 0)
                    {
                        SysAgent LowerLevelAgent = Entity.SysAgent.Where(s => s.Id == LowerLevel).FirstOrNew();
                        SysAgentList = LowerLevelAgent.GetSupAgent(Entity, true);
                    }
                    else
                    {
                        SysAgentList = BasicAgent.GetSupAgent(Entity, true);//获取所有下级代理商信息
                    }
                    UID = SysAgentList.Select(o => o.Id).ToList();
                    p.SqlWhere.Add(f => UID.Contains(f.Agent));
                }
                else
                {
                    p.SqlWhere.Add(f => f.Agent == BasicAgent.Id);//读取全部分支机构
                }
            }
            else
            {
                p.SqlWhere.Add(f => f.Agent == BasicAgent.Id);
            }

            if (!StopPayAudit.CreateAdminName.IsNullOrEmpty())
            {
                List <int> uids = new List <int>();
                if (StopPayAudit.UId == 1)
                {
                    uids = Entity.Users.Where(o => o.UserName == StopPayAudit.CreateAdminName).Select(o => o.Id).ToList();
                }
                else if (StopPayAudit.UId == 2)
                {
                    uids = Entity.Users.Where(o => o.Mobile == StopPayAudit.CreateAdminName).Select(o => o.Id).ToList();
                }
                else if (StopPayAudit.UId == 3)
                {
                    uids = Entity.Users.Where(o => o.TrueName == StopPayAudit.CreateAdminName).Select(o => o.Id).ToList();
                }
                p.SqlWhere.Add(f => uids.Contains(f.UId));
            }
            p.OrderByList.Add("Id", "DESC");
            IPageOfItems <StopPayAudit> StopPayAuditList = null;

            if (IsFirst == 0)
            {
                StopPayAuditList = new PageOfItems <StopPayAudit>(new List <StopPayAudit>(), 0, 10, 0, new Hashtable());
            }
            else
            {
                StopPayAuditList = Entity.Selects <StopPayAudit>(p);
            }
            //用户表
            var SPAUsersList = StopPayAuditList.Select(o => o.UId).ToList();

            ViewBag.UserSelect = Entity.Users.Where(o => SPAUsersList.Contains(o.Id)).ToList();

            ViewBag.StopPayAuditList = StopPayAuditList;
            ViewBag.StopPayAudit     = StopPayAudit;
            ViewBag.IsShowSupAgent   = IsShowSupAgent;
            ViewBag.LowerLevel       = LowerLevel;
            return(View());
        }
        public ActionResult UnFrozen(StopPayAudit StopPayAudit)
        {
            #region 条件
            if (StopPayAudit.UId.IsNullOrEmpty())
            {
                ViewBag.ErrorMsg = "请选择目标商户";
                return(View("Error"));
            }
            StopPayAudit = Request.ConvertRequestToModel <StopPayAudit>(StopPayAudit, StopPayAudit);
            if (StopPayAudit.Pic == "System.Web.HttpPostedFileWrapper" || StopPayAudit.Pic == null)
            {
                ViewBag.ErrorMsg = "文件类型错误";
                return(View("Error"));
            }
            if (StopPayAudit.Remark.IsNullOrEmpty())
            {
                ViewBag.ErrorMsg = "请填写解除止付原因";
                return(View("Error"));
            }
            var BaseUsers = this.Entity.Users.Where(o => o.Id == StopPayAudit.UId).FirstOrDefault();
            if (BaseUsers == null)
            {
                ViewBag.ErrorMsg = AgentLanguage.Empty;
                return(View("Error"));
            }
            if (!BaseUsers.IfUnFrozen())
            {
                ViewBag.ErrorMsg = "不符合解除止付规则,无法解除";
                return(View("Error"));
            }
            var ForSysAgent = BaseUsers.ForSysAgent(this.Entity);
            if (ForSysAgent != null)
            {
                ViewBag.ErrorMsg = "代理商钱包账号无法解除止付";
                return(View("Error"));
            }
            if (this.BasicAgent.Tier != 1)
            {
                if (BaseUsers.Agent != this.BasicAgent.Id)
                {
                    ViewBag.ErrorMsg = "不能解除下级的商户";
                    return(View("Error"));
                }
            }
            else if (!IsBelongToAgent(BaseUsers.Agent))
            {
                ViewBag.ErrorMsg = AgentLanguage.Surmount;
                return(View("Error"));
            }
            #endregion

            BaseUsers.StopPayAuditState  = 1;
            StopPayAudit.AddTime         = DateTime.Now;
            StopPayAudit.CreateAdminId   = this.AdminUser.Id;
            StopPayAudit.CreateAdminName = this.AdminUser.TrueName;
            StopPayAudit.StopPayMoney    = 0;
            StopPayAudit.StopPayType     = 2;
            StopPayAudit.TState          = 1;
            StopPayAudit.Agent           = BaseUsers.Agent;
            this.Entity.StopPayAudit.AddObject(StopPayAudit);
            var UserFrozenLog = new UserFrozenLog()
            {
                AddTime        = DateTime.Now,
                OpName         = AdminUser.TrueName,
                AId            = AdminUser.Id,
                OpType         = 2,
                LogType        = 1,
                UId            = StopPayAudit.UId,
                StopPayMoney   = 0,
                Remark         = StopPayAudit.Remark,
                Platform       = 1,
                InteriorRemark = string.Empty,
                Img            = StopPayAudit.Pic,
            };
            this.Entity.UserFrozenLog.AddObject(UserFrozenLog);
            this.Entity.SaveChanges();
            ViewBag.Title = "操作成功";
            ViewBag.Msg   = BaseUsers.UserName + "申请解除止付成功,请等待审核";
            return(View("Succeed"));
        }