public ActionResult Index(JobOrders JobOrders, EFPagingInfo <JobOrders> p, DateTime?STime, DateTime?ETime, int IsFirst = 0)
        {
            IPageOfItems <JobOrders> JobOrdersList = null;

            if (IsFirst == 0)
            {
                JobOrders.State      = 99;
                JobOrders.AgentState = 99;
                JobOrdersList        = new PageOfItems <JobOrders>(new List <JobOrders>(), 0, 10, 0, new Hashtable());
            }
            else
            {
                p             = this.Condition(JobOrders, p, STime, ETime);
                JobOrdersList = Entity.Selects <JobOrders>(p);
            }
            List <int> UId = JobOrdersList.Select(o => o.UId).Distinct().ToList();

            ViewBag.UsersList     = Entity.Users.Where(n => n.State == 1 && UId.Contains(n.Id)).ToList();
            ViewBag.JobOrdersList = JobOrdersList;
            ViewBag.JobOrders     = JobOrders;
            ViewBag.Edit          = this.checkPower("Edit");
            ViewBag.ETime         = ETime;
            ViewBag.STime         = STime;
            ViewBag.ExcelExport   = this.checkPower("ExcelExport");
            ViewBag.SplitMoney    = this.checkPower("SplitMoney");
            ViewBag.JobPayWayList = Entity.JobPayWay.ToList();
            return(View());
        }
        /// <summary>
        /// 传入集合分页
        /// </summary>
        /// <typeparam name="S"></typeparam>
        /// <typeparam name="OrderByType"></typeparam>
        /// <param name="pageIndex"></param>
        /// <param name="pageSize"></param>
        /// <param name="list">传入的集合</param>
        /// <param name="whereLambda"></param>
        /// <param name="orderbyLambad"></param>
        /// <returns></returns>
        public PageOfItems <S> PageOfItemBySelfModel <S, OrderByType>(int pageIndex, int pageSize, IQueryable <S> list, System.Linq.Expressions.Expression <Func <S, bool> > whereLambda, System.Linq.Expressions.Expression <Func <S, OrderByType> > orderbyLambad = null, bool isAsc = true)
        {
            var info = list.Where <S>(whereLambda);

            var list_return = new PageOfItems <S>()
            {
                PageNumber     = pageIndex,
                PageSize       = pageSize,
                TotalItemCount = info.Count()
            };
            IQueryable <S> orderList = null;

            if (orderbyLambad != null)
            {
                if (isAsc)
                {
                    orderList = info.OrderBy <S, OrderByType>(orderbyLambad).Skip <S>((pageIndex - 1) * pageSize).Take <S>(pageSize);
                }
                else
                {
                    orderList = info.OrderByDescending <S, OrderByType>(orderbyLambad).Skip <S>((pageIndex - 1) * pageSize).Take <S>(pageSize);
                }
            }
            else
            {
                orderList = info.Skip <S>((pageIndex - 1) * pageSize).Take <S>(pageSize);
            }
            list_return.AddRange(orderList.ToList());
            return(list_return);
        }
Exemple #3
0
        public ActionResult Index(string UserName, DateTime?Date, EFPagingInfo <CheckUser> p, int show = 1)
        {
            p.PageSize = 50;
            DateTime TrueDate;

            if (Date.HasValue)
            {
                TrueDate = new DateTime(Date.Value.Year, Date.Value.Month, Date.Value.Day);
            }
            else
            {
                TrueDate = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day);
            }
            IPageOfItems <CheckUser> CheckUserList = new PageOfItems <CheckUser>(new List <CheckUser>(), 0, 10, 0, new Hashtable());;
            var CheckUserMoneyList = new List <CheckUserMoney>();
            var UsersList          = new List <CheckUserModel>();
            var CheckResultList    = new List <CheckResult>();
            int uid   = 0;
            int Count = 0;

            var CheckTaskList = this.Entity.CheckTask.Where(o => o.IsComplete == true).Select(o => o.TaskDate).ToList();
            var CheckTask     = this.Entity.CheckTask.FirstOrDefault(o => o.TaskDate == TrueDate);

            if (!UserName.IsNullOrEmpty())
            {
                uid = this.Entity.Users.Where(o => o.UserName == UserName).Select(o => o.Id).FirstOrDefault();
                p.SqlWhere.Add(o => o.UId == uid);
            }
            if (CheckTask != null)
            {
                p.SqlWhere.Add(o => o.TaskDate == CheckTask.TaskDate);
                if (show == 1)
                {
                    p.SqlWhere.Add(o => o.NowMoney != o.CheckMoney || o.NowFrozen != o.CheckFrozen);
                }
                p.OrderByList.Add("Id", "DESC");
                CheckUserList = Entity.Selects <CheckUser>(p);
                Count         = CheckUserList.TotalCount;

                var uids = CheckUserList.Select(o => o.UId).ToList();
                UsersList = this.Entity.Users.Where(o => uids.Contains(o.Id))
                            .Select(o => new CheckUserModel()
                {
                    Id = o.Id, TrueName = o.TrueName, UserName = o.UserName
                }).ToList();
                CheckUserMoneyList = this.Entity.CheckUserMoney.Where(o => uids.Contains(o.UId) && o.TaskDate == CheckTask.TaskDate).ToList();
            }
            ViewBag.CheckUserList      = CheckUserList;
            ViewBag.CheckUserMoneyList = CheckUserMoneyList;
            ViewBag.UsersList          = UsersList;
            ViewBag.CheckTask          = CheckTask;
            ViewBag.CheckTaskList      = CheckTaskList;
            ViewBag.TrueDate           = TrueDate;
            ViewBag.ExcelExport        = this.checkPower("ExcelExport");
            ViewBag.show       = show;
            ViewBag.Count      = Count;
            ViewBag.UserName   = UserName;
            ViewBag.SaveRemark = this.checkPower("Remark");
            return(View());
        }
        /// <summary>
        /// 分页查询
        /// </summary>
        /// <typeparam name="s">排序字段</typeparam>
        /// <param name="pageIndex">页码</param>
        /// <param name="pageSize">分页尺寸</param>
        /// <param name="whereLambda">条件</param>
        /// <param name="orderbyLambad">排序条件</param>
        /// <param name="isAsc">正序:true  倒序:false </param>
        /// <returns></returns>
        public PageOfItems <T> PageOfItemsLoadPageEntites <s>(int pageIndex, int pageSize, System.Linq.Expressions.Expression <Func <T, bool> > whereLambda, System.Linq.Expressions.Expression <Func <T, s> > orderbyLambad = null, bool isAsc = true)
        {
            var info = _db.Set <T>().Where <T>(whereLambda);

            var list = new PageOfItems <T>()
            {
                PageNumber     = pageIndex,
                PageSize       = pageSize,
                TotalItemCount = info.Count()
            };

            IQueryable <T> orderList = null;

            if (isAsc)
            {
                orderList = info.OrderBy <T, s>(orderbyLambad).Skip <T>((pageIndex - 1) * pageSize).Take <T>(pageSize);
            }
            else
            {
                orderList = info.OrderByDescending <T, s>(orderbyLambad).Skip <T>((pageIndex - 1) * pageSize).Take <T>(pageSize);
            }

            list.AddRange(orderList.ToList());
            return(list);
        }
        public ActionResult Index(OrderCash OrderCash, EFPagingInfo <OrderCash> p, bool?IsShowSupAgent, int IsFirst = 0, int TimeType = 1)
        {
            if (IsShowSupAgent == null)
            {
                IsShowSupAgent = false;
            }
            p = this.Condition(OrderCash, p, IsShowSupAgent, IsFirst, TimeType);
            p.OrderByList.Add("Id", "DESC");
            IPageOfItems <OrderCash> OrderCashList = null;

            if (IsFirst == 0)
            {
                OrderCashList = new PageOfItems <OrderCash>(new List <OrderCash>(), 0, 10, 0, new Hashtable());
            }
            else
            {
                OrderCashList = Entity.Selects <OrderCash>(p);
            }
            ViewBag.OrderCashList = OrderCashList;
            ViewBag.OrderCash     = OrderCash;
            IList <OrderCash> List = OrderCashList.GroupBy(n => n.UId).Select(n => n.First()).ToList();
            List <int>        UId  = new List <int>();

            foreach (var pp in List)
            {
                UId.Add(pp.UId);
            }
            ViewBag.UsersList      = Entity.Users.Where(n => n.State == 1 && UId.Contains(n.Id)).ToList();
            ViewBag.SysAgentList   = Entity.SysAgent.Where(n => n.State == 1).ToList();
            ViewBag.IsShowSupAgent = IsShowSupAgent;
            ViewBag.Save           = this.checkPower("Save");
            ViewBag.TimeType       = TimeType;
            ViewBag.ExcelExport    = this.checkPower("ExcelExport");
            return(View());
        }
        public ActionResult Index(BasicBankCard BasicBankCard, EFPagingInfo <BasicBankCard> p, int IsFirst = 0)
        {
            if (IsFirst == 0)
            {
                PageOfItems <BasicBankCard> BasicBankCardList1 = new PageOfItems <BasicBankCard>(new List <BasicBankCard>(), 0, 10, 0, new Hashtable());
                ViewBag.BasicBankCardList = BasicBankCardList1;
                ViewBag.BasicBankCard     = BasicBankCard;
                ViewBag.BasicBankList     = Entity.BasicBank.Where(n => n.State == 1).ToList();
                ViewBag.Add    = this.checkPower("Add");
                ViewBag.Edit   = this.checkPower("Edit");
                ViewBag.Delete = this.checkPower("Delete");
                ViewBag.Save   = this.checkPower("Save");
                return(View());
            }
            if (!BasicBankCard.Name.IsNullOrEmpty())
            {
                p.SqlWhere.Add(f => f.Name.Contains(BasicBankCard.Name));
            }
            if (!BasicBankCard.BId.IsNullOrEmpty())
            {
                p.SqlWhere.Add(f => f.BId == BasicBankCard.BId);
            }
            p.OrderByList.Add("Id", "DESC");
            IPageOfItems <BasicBankCard> BasicBankCardList = Entity.Selects <BasicBankCard>(p);

            ViewBag.BasicBankCardList = BasicBankCardList;
            ViewBag.BasicBankCard     = BasicBankCard;
            ViewBag.BasicBankList     = Entity.BasicBank.Where(n => n.State == 1).ToList();
            ViewBag.Add    = this.checkPower("Add");
            ViewBag.Edit   = this.checkPower("Edit");
            ViewBag.Delete = this.checkPower("Delete");
            ViewBag.Save   = this.checkPower("Save");
            return(View());
        }
Exemple #7
0
        public ActionResult Index(FastOrder FastOrder, EFPagingInfo <FastOrder> p, bool?IsShowSupAgent, int?LowerLevel, int IsFirst = 0)
        {
            if (IsShowSupAgent == null)
            {
                IsShowSupAgent = false;
            }
            LowerLevel = LowerLevel == null ? 0 : LowerLevel;
            p          = this.Condition(FastOrder, p, IsShowSupAgent.Value, LowerLevel.Value);
            IPageOfItems <FastOrder> FastOrderList = null;

            if (IsFirst == 0)
            {
                FastOrder.STime = DateTime.Now.AddDays(-1).Date;
                FastOrder.ETime = DateTime.Now;
                FastOrderList   = new PageOfItems <FastOrder>(new List <FastOrder>(), 0, 10, 0, new Hashtable());
            }
            else
            {
                FastOrderList = Entity.Selects <FastOrder>(p);
            }
            ViewBag.FastOrderList = FastOrderList;
            ViewBag.FastOrder     = FastOrder;
            //副表信息
            List <int> UId = FastOrderList.Select(o => o.UId).Distinct().ToList();

            ViewBag.UsersList = Entity.Users.Where(n => n.State == 1 && UId.Contains(n.Id)).ToList();

            //其他信息
            ViewBag.IsShowSupAgent = IsShowSupAgent;//是否显示下级
            ViewBag.LowerLevel     = LowerLevel;

            //权限相关
            ViewBag.Edit = this.checkPower("Edit");
            return(View());
        }
        public ActionResult Index(MsgUser MsgUser, EFPagingInfo <MsgUser> p, int IsFirst = 0)
        {
            if (IsFirst == 0)
            {
                PageOfItems <MsgUser> MsgUserList1 = new PageOfItems <MsgUser>(new List <MsgUser>(), 0, 10, 0, new Hashtable());
                ViewBag.MsgUserList = MsgUserList1;
                ViewBag.MsgUser     = MsgUser;
                return(View());
            }
            if (!MsgUser.Name.IsNullOrEmpty())
            {
                p.SqlWhere.Add(f => f.Name.Contains(MsgUser.Name));
            }
            if (!MsgUser.State.IsNullOrEmpty())
            {
                p.SqlWhere.Add(f => f.State == (MsgUser.State == 99 ? 0 : MsgUser.State));
            }
            p.SqlWhere.Add(f => f.PId == AdminUser.Id);
            p.OrderByList.Add("Id", "DESC");
            IPageOfItems <MsgUser> MsgUserList = Entity.Selects <MsgUser>(p);

            ViewBag.MsgUserList = MsgUserList;
            ViewBag.MsgUser     = MsgUser;
            return(View());
        }
        public ActionResult Index(MsgAdmin MsgAdmin, EFPagingInfo <MsgAdmin> p, int IsFirst = 0)
        {
            if (IsFirst == 0)
            {
                PageOfItems <MsgAdmin> MsgAdminList1 = new PageOfItems <MsgAdmin>(new List <MsgAdmin>(), 0, 10, 0, new Hashtable());
                ViewBag.MsgAdminList = MsgAdminList1;
                ViewBag.MsgAdmin     = MsgAdmin;
                ViewBag.SysAdminList = Entity.SysAdmin.Where(n => n.State == 1).ToList();
                return(View());
            }
            if (!MsgAdmin.AId.IsNullOrEmpty())
            {
                p.SqlWhere.Add(f => f.AId == MsgAdmin.AId);
            }
            if (!MsgAdmin.Name.IsNullOrEmpty())
            {
                p.SqlWhere.Add(f => f.Name.Contains(MsgAdmin.Name));
            }
            if (!MsgAdmin.State.IsNullOrEmpty())
            {
                p.SqlWhere.Add(f => f.State == (MsgAdmin.State == 99 ? 0 : MsgAdmin.State));
            }
            p.SqlWhere.Add(f => f.PId == AdminUser.Id);
            p.OrderByList.Add("Id", "DESC");
            IPageOfItems <MsgAdmin> MsgAdminList = Entity.Selects <MsgAdmin>(p);

            ViewBag.MsgAdminList = MsgAdminList;
            ViewBag.MsgAdmin     = MsgAdmin;
            ViewBag.SysAdminList = Entity.SysAdmin.Where(n => n.State == 1).ToList();
            //ViewBag.SysAgentList = Entity.SysAgent.Where(n => n.State == 1 && n.AgentID == n.Id).ToList();
            return(View());
        }
        public IPageOfItems <TElement> GetPaged(string whereClause, string fields, string orderBy, int pageIndex, int pageSize)
        {
            var dt = _searchService.GetPaged(TableName, whereClause, fields, orderBy, pageIndex, pageSize, PrimaryKey);

            if (dt == null)
            {
                return new PageOfItems <TElement>()
                       {
                           PageIndex = pageIndex, PageSize = pageSize
                       }
            }
            ;;
            var result = new PageOfItems <TElement>()
            {
                PageIndex      = dt.PageIndex,
                PageSize       = dt.PageSize,
                TotalItemCount = dt.TotalItemCount,
            };

            foreach (DataRow dataRow in dt.Data.Rows)
            {
                var item = Format(dataRow, dt.Data.Columns);

                result.Add(item);
            }
            return(result);
        }
Exemple #11
0
        public ActionResult Index(MsgHelp MsgHelp, EFPagingInfo <MsgHelp> p, int IsFirst = 0)
        {
            if (IsFirst == 0)
            {
                PageOfItems <MsgHelp> MsgHelpList1 = new PageOfItems <MsgHelp>(new List <MsgHelp>(), 0, 10, 0, new Hashtable());
                ViewBag.MsgHelpList = MsgHelpList1;
                ViewBag.MsgHelp     = MsgHelp;
                ViewBag.Add         = this.checkPower("Add");
                ViewBag.Edit        = this.checkPower("Edit");
                ViewBag.Delete      = this.checkPower("Delete");
                ViewBag.Save        = this.checkPower("Save");
                return(View());
            }
            if (!MsgHelp.Name.IsNullOrEmpty())
            {
                p.SqlWhere.Add(f => f.Name.Contains(MsgHelp.Name));
            }
            if (!MsgHelp.State.IsNullOrEmpty())
            {
                p.SqlWhere.Add(f => f.State == (MsgHelp.State == 99 ? 0 : MsgHelp.State));
            }
            p.OrderByList.Add("Id", "DESC");
            IPageOfItems <MsgHelp> MsgHelpList = Entity.Selects <MsgHelp>(p);

            ViewBag.MsgHelpList = MsgHelpList;
            ViewBag.MsgHelp     = MsgHelp;
            ViewBag.Add         = this.checkPower("Add");
            ViewBag.Edit        = this.checkPower("Edit");
            ViewBag.Delete      = this.checkPower("Delete");
            ViewBag.Save        = this.checkPower("Save");
            return(View());
        }
        public ActionResult Index(SysAgent SysAgent, EFPagingInfo <SysAgent> p, int IsFirst = 0)
        {
            ViewBag.AgentList = Entity.SysAgent.ToList();
            if (IsFirst == 0)
            {
                PageOfItems <SysAgent> SysAgentList1 = new PageOfItems <SysAgent>(new List <SysAgent>(), 0, 10, 0, new Hashtable());
                ViewBag.SysAgentList = SysAgentList1;
                ViewBag.SysAgent     = SysAgent;
                ViewBag.Batch        = this.checkPower("Batch");
                ViewBag.AllAgent     = this.checkPower("AllAgent");
                return(View());
            }
            if (SysAgent.Id.IsNullOrEmpty())
            {
                ViewBag.ErrorMsg = "请选择代理商";
                return(View("Error"));
            }
            if (!SysAgent.Id.IsNullOrEmpty())
            {
                p.SqlWhere.Add(f => f.AgentID == SysAgent.Id);
            }
            p.SqlWhere.Add(f => f.Id != SysAgent.Id);
            p.OrderByList.Add("Id", "DESC");
            IPageOfItems <SysAgent> SysAgentList = Entity.Selects <SysAgent>(p);

            ViewBag.SysAgentList = SysAgentList;
            ViewBag.SysAgent     = SysAgent;
            ViewBag.Batch        = this.checkPower("Batch");
            ViewBag.AllAgent     = this.checkPower("AllAgent");
            return(View());
        }
Exemple #13
0
        public ActionResult Index(BasicProvince BasicProvince, EFPagingInfo <BasicProvince> p, int IsFirst = 0)
        {
            IPageOfItems <BasicProvince> BasicProvinceList = null;

            if (!BasicProvince.Name.IsNullOrEmpty())
            {
                p.SqlWhere.Add(f => f.Name.Contains(BasicProvince.Name));
            }
            if (!BasicProvince.State.IsNullOrEmpty())
            {
                p.SqlWhere.Add(f => f.State == (BasicProvince.State == 99 ? 0 : BasicProvince.State));
            }
            p.OrderByList.Add("Id", "ASC");
            if (IsFirst == 0)
            {
                BasicProvinceList = new PageOfItems <BasicProvince>(new List <BasicProvince>(), 0, 10, 0, new Hashtable());
            }
            else
            {
                BasicProvinceList = Entity.Selects <BasicProvince>(p);
            }

            ViewBag.BasicProvinceList = BasicProvinceList;
            ViewBag.BasicProvince     = BasicProvince;
            ViewBag.Add    = this.checkPower("Add");
            ViewBag.Edit   = this.checkPower("Edit");
            ViewBag.Delete = this.checkPower("Delete");
            ViewBag.Save   = this.checkPower("Save");
            return(View());
        }
Exemple #14
0
        public ActionResult Index(Users Users, EFPagingInfo <Users> p, int IsFirst = 0)
        {
            ViewBag.AgentList = Entity.SysAgent.ToList();
            if (IsFirst == 0)
            {
                PageOfItems <Users> UsersList1 = new PageOfItems <Users>(new List <Users>(), 0, 10, 0, new Hashtable());
                ViewBag.UsersList = UsersList1;
                ViewBag.Users     = Users;
                ViewBag.Batch     = this.checkPower("Batch");
                ViewBag.AllUsers  = this.checkPower("AllUsers");
                return(View());
            }
            if (Users.Id.IsNullOrEmpty())
            {
                ViewBag.ErrorMsg = "请选择代理商";
                return(View("Error"));
            }
            if (!Users.Id.IsNullOrEmpty())
            {
                p.SqlWhere.Add(f => f.Agent == Users.Id);
            }
            SysAgent SysAgent = Entity.SysAgent.FirstOrNew(o => o.Id == Users.Id);

            p.SqlWhere.Add(f => f.UserName != SysAgent.LinkMobile);
            p.OrderByList.Add("Id", "DESC");
            IPageOfItems <Users> UsersList = Entity.Selects <Users>(p);

            ViewBag.UsersList = UsersList;
            ViewBag.Users     = Users;
            ViewBag.Batch     = this.checkPower("Batch");
            ViewBag.AllUsers  = this.checkPower("AllUsers");
            return(View());
        }
Exemple #15
0
        //
        // GET: /UserBlackList/

        public ActionResult Index(UserBlackList UserBlackList, EFPagingInfo <UserBlackList> p, DateTime?STime, DateTime?ETime, int IsFirst = 0)
        {
            //if (STime.IsNullOrEmpty())
            //{
            //    STime = DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd"));
            //}
            //if (ETime.IsNullOrEmpty())
            //{
            //    ETime = DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd"));
            //}
            //ViewBag.ETime = ETime;
            //ViewBag.STime = STime;
            ViewBag.UserBlackList = UserBlackList;
            if (IsFirst == 0)
            {
                PageOfItems <UserBlackList> UserBlackListList1 = new PageOfItems <UserBlackList>(new List <UserBlackList>(), 0, 10, 0, new Hashtable());
                ViewBag.UserBlackListList = UserBlackListList1;
                return(View());
            }
            if (!UserBlackList.CardNumber.IsNullOrEmpty())
            {
                p.SqlWhere.Add(f => f.CardNumber == UserBlackList.CardNumber);
            }
            if (UserBlackList.State != 0)
            {
                p.SqlWhere.Add(f => f.State == UserBlackList.State);
            }
            // ETime = ETime.Value.AddDays(1);
            //  p.SqlWhere.Add(f => f.AddTime >= STime && f.AddTime <= ETime);
            p.OrderByList.Add("Id", "DESC");
            IPageOfItems <UserBlackList> UserBlackListList = Entity.Selects <UserBlackList>(p);

            ViewBag.UserBlackListList = UserBlackListList;
            return(View());
        }
        public ActionResult Index(BasicCardBin BasicCardBin, EFPagingInfo <BasicCardBin> p, int IsFirst = 0)
        {
            if (!BasicCardBin.BankCode.IsNullOrEmpty())
            {
                p.SqlWhere.Add(f => f.BankCode == BasicCardBin.BankCode);
            }
            if (!BasicCardBin.BIN.IsNullOrEmpty())
            {
                p.SqlWhere.Add(f => f.BIN == BasicCardBin.BIN);
            }
            if (!BasicCardBin.BankName.IsNullOrEmpty())
            {
                p.SqlWhere.Add(f => f.BankName == BasicCardBin.BankName);
            }
            p.OrderByList.Add("Id", "DESC");
            IPageOfItems <BasicCardBin> BasicCardBinList;

            if (IsFirst == 0)
            {
                BasicCardBinList = new PageOfItems <BasicCardBin>(new List <BasicCardBin>(), 0, 10, 0, new Hashtable());
            }
            else
            {
                BasicCardBinList = Entity.Selects <BasicCardBin>(p);
            }
            ViewBag.BasicCardBinList = BasicCardBinList;
            ViewBag.BasicCardBin     = BasicCardBin;
            ViewBag.Add    = this.checkPower("Add");
            ViewBag.Edit   = this.checkPower("Edit");
            ViewBag.Delete = this.checkPower("Delete");
            ViewBag.Save   = this.checkPower("Save");
            return(View());
        }
        public ActionResult IndexMyUsers(Users Users, EFPagingInfo <Users> p, int IsFirst = 0)
        {
            if (IsFirst == 0)
            {
                PageOfItems <Users> UsersList1 = new PageOfItems <Users>(new List <Users>(), 0, 10, 0, new Hashtable());
                ViewBag.UsersList = UsersList1;
                ViewBag.Users     = Users;
                return(View());
            }
            Users baseUsers = null;

            if (!Users.MyPId.IsNullOrEmpty())
            {
                baseUsers = this.Entity.Users.FirstOrNew(o => o.Id == Users.MyPId);
            }
            if (baseUsers == null)
            {
                ViewBag.ErrorMsg = AgentLanguage.Empty;
                return(View("Error"));
            }
            if (!IsBelongToAgent(baseUsers.Agent))
            {
                ViewBag.ErrorMsg = AgentLanguage.Surmount;
                return(View("Error"));
            }
            if (!Users.UserName.IsNullOrEmpty())
            {
                p.SqlWhere.Add(f => f.UserName.Contains(Users.UserName));
            }
            if (!Users.State.IsNullOrEmpty())
            {
                p.SqlWhere.Add(f => f.State == (Users.State == 99 ? 0 : Users.State));
            }
            //if (!Users.MyPId.IsNullOrEmpty()) { p.SqlWhere.Add(f => f.MyPId == Users.MyPId); }
            if (!Users.ShareType.IsNullOrEmpty())
            {
                p.SqlWhere.Add(f => f.ShareType == Users.ShareType);
            }
            if (!Users.CardStae.IsNullOrEmpty())
            {
                int CardStae = Users.CardStae;
                if (CardStae == 99)
                {
                    CardStae = 0;
                }
                if (CardStae != 88)
                {
                    p.SqlWhere.Add(f => f.CardStae == CardStae);
                }
            }
            p.SqlWhere.Add(f => f.MyPId == Users.MyPId);
            p.OrderByList.Add("Id", "DESC");
            IPageOfItems <Users> UsersList = Entity.Selects <Users>(p);

            ViewBag.UsersList = UsersList;
            ViewBag.Users     = Users;
            //显示上级名字
            return(View());
        }
Exemple #18
0
        public ActionResult Index(MsgUser MsgUser, EFPagingInfo <MsgUser> p, int IsFirst = 0)
        {
            if (IsFirst == 0)
            {
                PageOfItems <MsgUser> MsgUserList1 = new PageOfItems <MsgUser>(new List <MsgUser>(), 0, 10, 0, new Hashtable());
                ViewBag.MsgUserList = MsgUserList1;
                ViewBag.MsgUser     = MsgUser;
                ViewBag.UsersList   = new List <Users>();
                ViewBag.IsMyDelete  = checkPower("Delete");
                ViewBag.IsMyEdit    = checkPower("Edit");
                ViewBag.IsMySave    = checkPower("Save");
                ViewBag.IsMyAdd     = checkPower("Add");
                return(View());
            }
            if (!MsgUser.Info.IsNullOrEmpty())
            {
                if (MsgUser.Info == "全体商户")
                {
                    p.SqlWhere.Add(f => f.UId == 0);
                }
                else
                {
                    IList <Users> UList = Entity.Users.Where(n => n.TrueName.Contains(MsgUser.Info) || n.NeekName.Contains(MsgUser.Info) || n.UserName == MsgUser.Info).ToList();
                    List <int>    UIds  = new List <int>();
                    foreach (var pp in UList)
                    {
                        UIds.Add(pp.Id);
                    }
                    p.SqlWhere.Add(f => UIds.Contains(f.UId));
                }
            }
            if (!MsgUser.Name.IsNullOrEmpty())
            {
                p.SqlWhere.Add(f => f.Name.Contains(MsgUser.Name));
            }
            if (!MsgUser.State.IsNullOrEmpty())
            {
                p.SqlWhere.Add(f => f.State == (MsgUser.State == 99 ? 0 : MsgUser.State));
            }
            p.OrderByList.Add("Id", "DESC");
            IPageOfItems <MsgUser> MsgUserList = Entity.Selects <MsgUser>(p);

            ViewBag.MsgUserList = MsgUserList;
            ViewBag.MsgUser     = MsgUser;
            IList <MsgUser> List = MsgUserList.GroupBy(n => n.UId).Select(n => n.First()).ToList();
            List <int>      UId  = new List <int>();

            foreach (var pp in List)
            {
                UId.Add(pp.UId);
            }
            ViewBag.UsersList = Entity.Users.Where(n => n.State == 1 && UId.Contains(n.Id)).ToList();

            ViewBag.IsMyDelete = checkPower("Delete");
            ViewBag.IsMyEdit   = checkPower("Edit");
            ViewBag.IsMySave   = checkPower("Save");
            ViewBag.IsMyAdd    = checkPower("Add");
            return(View());
        }
Exemple #19
0
        public ActionResult Index(OrderProfitLog OrderProfitLog, EFPagingInfo <OrderProfitLog> p, int IsFirst = 0)
        {
            this.TempData.Remove("SysAgentList");
            #region 校验与初始化
            //if (OrderProfitLog.STime.IsNullOrEmpty())
            //{
            //    OrderProfitLog.STime = DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd"));
            //}
            //if (OrderProfitLog.ETime.IsNullOrEmpty())
            //{
            //    //OrderProfitLog.ETime = DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd"));
            //    OrderProfitLog.ETime = DateTime.Now;
            //}
            p.SqlWhere.Add(f => f.LogType == 3);
            if (!OrderProfitLog.TNum.IsNullOrEmpty())
            {
                p.SqlWhere.Add(f => f.TNum == OrderProfitLog.TNum);
            }
            if (!OrderProfitLog.OrderType.IsNullOrEmpty())
            {
                p.SqlWhere.Add(f => f.OrderType == OrderProfitLog.OrderType);
            }
            if (!OrderProfitLog.Agent.IsNullOrEmpty())
            {
                p.SqlWhere.Add(f => f.Agent == OrderProfitLog.Agent);
            }
            if (!OrderProfitLog.STime.IsNullOrEmpty() && !OrderProfitLog.ETime.IsNullOrEmpty())
            {
                DateTime ETime = OrderProfitLog.ETime;
                p.SqlWhere.Add(f => f.AddTime > OrderProfitLog.STime && f.AddTime < ETime);
            }
            #endregion
            p.PageSize = 20;
            p.OrderByList.Add("Id", "DESC");
            IPageOfItems <OrderProfitLog> OrderProfitLogList = null;
            if (IsFirst == 0)
            {
                OrderProfitLogList = new PageOfItems <OrderProfitLog>(new List <OrderProfitLog>(), 0, 20, 0, new Hashtable());
            }
            else
            {
                OrderProfitLogList = Entity.Selects <OrderProfitLog>(p);
            }
            ViewBag.OrderProfitLogList = OrderProfitLogList;
            ViewBag.OrderProfitLog     = OrderProfitLog;
            IList <OrderProfitLog> List      = OrderProfitLogList.GroupBy(n => n.UId).Select(n => n.First()).ToList();
            List <int>             UId       = OrderProfitLogList.Select(o => o.UId).Distinct().ToList();
            IList <Users>          UsersList = Entity.Users.Where(n => n.State == 1 && UId.Contains(n.Id)).ToList();

            List <int>       AgentId   = OrderProfitLogList.Select(o => o.Agent).Distinct().ToList();
            IList <SysAgent> AgentList = Entity.SysAgent.Where(n => n.State == 1 && AgentId.Contains(n.Id)).ToList();
            ViewBag.UsersList             = Entity.Users.Where(n => n.State == 1 && UId.Contains(n.Id)).ToList();
            ViewBag.SysAgentList          = Entity.SysAgent.Where(n => AgentId.Contains(n.Id)).ToList();
            this.TempData["SysAgentList"] = ViewBag.SysAgentList;
            ViewBag.SelectSysAgentList    = Entity.SysAgent.Where(n => n.State == 1).ToList();
            ViewBag.Xls = this.checkPower("Xls");
            return(View());
        }
        public ActionResult Index(OrdersRetrievalInModel OrdersRetrievalInModel, EFPagingInfo <OrdersRetrievalInModel> p, int IsFirst = 0)
        {
            if (IsFirst == 0)
            {
                PageOfItems <OrdersRetrievalViewModel> OrdersRetrievalViewModelList1 = new PageOfItems <OrdersRetrievalViewModel>(new List <OrdersRetrievalViewModel>(), 0, 10, 0, new Hashtable());
                ViewBag.OrdersRetrievalViewModelList = OrdersRetrievalViewModelList1;
                ViewBag.PayConfigList          = Entity.PayConfig.Where(n => n.State == 1).ToList();
                ViewBag.SysAgentList           = Entity.SysAgent.Where(n => n.State == 1).ToList();
                ViewBag.OrdersRetrievalInModel = OrdersRetrievalInModel;
                return(View());
            }
            var IQuery = this.Entity.Orders.Join(this.Entity.Users, o => o.UId, u => u.Id, (Orders, Users) => new OrdersRetrievalViewModel()
            {
                Orders = Orders, Users = Users
            });

            #region 条件
            TimeSpan TS   = OrdersRetrievalInModel.ETime.Subtract(OrdersRetrievalInModel.STime);
            int      Days = TS.Days;
            if (Days > 31)
            {
                ViewBag.ErrorMsg = "统计时间间隔不能超过31天!";
                return(View("Error"));
            }
            if (!OrdersRetrievalInModel.OrderAddress.IsNullOrEmpty())
            {
                var OrderAddress = OrdersRetrievalInModel.OrderAddress.Split(',');
                var predicate    = PredicateBuilder.False <OrdersRetrievalViewModel>();
                foreach (var item in OrderAddress)
                {
                    predicate = predicate.Or(o => o.Orders.OrderAddress.Contains(item));
                }
                IQuery = IQuery.Where(predicate);
            }
            if (!OrdersRetrievalInModel.UsersState.IsNullOrEmpty())
            {
                int UsersState = OrdersRetrievalInModel.UsersState == 99 ? 0 : OrdersRetrievalInModel.UsersState;
                IQuery = IQuery.Where(o => o.Users.State == UsersState);
            }
            if (!OrdersRetrievalInModel.STime.IsNullOrEmpty())
            {
                IQuery = IQuery.Where(o => o.Orders.AddTime >= OrdersRetrievalInModel.STime);
            }
            if (!OrdersRetrievalInModel.ETime.IsNullOrEmpty())
            {
                var etime = OrdersRetrievalInModel.ETime.AddSeconds(-1);
                IQuery = IQuery.Where(o => o.Orders.AddTime <= etime);
            }
            #endregion
            p.OrderByList.Add("Id", "DESC");
            var pages = IQuery.OrderByDescending(o => o.Orders.Id).Skip(p.PageIndex < 1 ? 0 : ((p.PageIndex - 1) * p.PageSize)).Take(p.PageSize);
            var OrdersRetrievalViewModelList = new PageOfItems <OrdersRetrievalViewModel>(pages, p.PageIndex, p.PageSize, IQuery.Count(), p.OrderByList);
            this.ViewBag.OrdersRetrievalViewModelList = OrdersRetrievalViewModelList;
            ViewBag.PayConfigList          = Entity.PayConfig.Where(n => n.State == 1).ToList();
            ViewBag.SysAgentList           = Entity.SysAgent.Where(n => n.State == 1).ToList();
            ViewBag.OrdersRetrievalInModel = OrdersRetrievalInModel;
            return(View());
        }
        public ActionResult Index(UsersFace UsersFace, EFPagingInfo <UsersFace> p, int IsFirst = 0)
        {
            if (IsFirst == 0)
            {
                PageOfItems <UsersFace> UsersFaceList1 = new PageOfItems <UsersFace>(new List <UsersFace>(), 0, 10, 0, new Hashtable());
                ViewBag.UsersFaceList = UsersFaceList1;
                ViewBag.UsersFace     = UsersFace;
                ViewBag.SysAgentList  = Entity.SysAgent.Where(n => n.State == 1).ToList();
                return(View());
            }
            p.SqlWhere.Add(f => f.CType == 1);
            if (!UsersFace.TrueName.IsNullOrEmpty())
            {
                p.SqlWhere.Add(f => f.TrueName.Contains(UsersFace.TrueName));
            }
            if (!UsersFace.Mobile.IsNullOrEmpty())
            {
                p.SqlWhere.Add(f => f.Mobile.Contains(UsersFace.Mobile));
            }
            if (!UsersFace.CardStae.IsNullOrEmpty())
            {
                if (UsersFace.CardStae == 2)
                {
                    p.SqlWhere.Add(f => f.CardStae == 2);
                }
                else
                {
                    p.SqlWhere.Add(f => f.CardStae != 2);
                }
            }
            if (!UsersFace.Agent.IsNullOrEmpty())
            {
                p.SqlWhere.Add(f => f.Agent == UsersFace.Agent);
            }
            if (!UsersFace.IsDaiLi.IsNullOrEmpty())
            {
                if (UsersFace.IsDaiLi == 99)
                {
                    UsersFace.IsDaiLi = 0;
                }
                p.SqlWhere.Add(f => f.IsDaiLi == UsersFace.IsDaiLi);
            }
            if (!UsersFace.MobileType.IsNullOrEmpty())
            {
                p.SqlWhere.Add(f => f.MobileType == UsersFace.MobileType);
            }
            if (!UsersFace.State.IsNullOrEmpty())
            {
                p.SqlWhere.Add(f => f.State == UsersFace.State);
            }
            p.OrderByList.Add("UpdateTime", "DESC");
            IPageOfItems <UsersFace> UsersFaceList = Entity.Selects <UsersFace>(p);

            ViewBag.UsersFaceList = UsersFaceList;
            ViewBag.UsersFace     = UsersFace;
            ViewBag.SysAgentList  = Entity.SysAgent.Where(n => n.State == 1).ToList();
            return(View());
        }
        public ActionResult Index(FastUser FastUser, EFPagingInfo <FastUser> p, DateTime?STime, DateTime?ETime, int IsFirst = 0)
        {
            #region 筛选条件
            if (!FastUser.TrueName.IsNullOrEmpty())
            {
                if (!FastUser.UId.IsNullOrEmpty())
                {
                    switch (FastUser.UId)
                    {
                    case 1:
                        p.SqlWhere.Add(f => f.TrueName == FastUser.TrueName);
                        break;

                    case 2:
                        p.SqlWhere.Add(f => f.CardId == FastUser.CardId);
                        break;

                    case 3:
                        p.SqlWhere.Add(f => f.Card == FastUser.Card);
                        break;

                    case 4:
                        p.SqlWhere.Add(f => f.Bin == FastUser.Bin);
                        break;
                    }
                }
            }
            if (!FastUser.Bank.IsNullOrEmpty())
            {
                p.SqlWhere.Add(f => f.Bank == FastUser.Bank);
            }
            if (STime.HasValue)
            {
                p.SqlWhere.Add(f => f.AddTime >= STime);
            }
            if (ETime.HasValue)
            {
                p.SqlWhere.Add(f => f.AddTime <= ETime);
            }
            #endregion
            p.OrderByList.Add("Id", "DESC");
            IPageOfItems <FastUser> FastUserList = null;
            if (IsFirst == 0)
            {
                FastUserList = new PageOfItems <FastUser>(new List <FastUser>(), 0, 10, 0, new Hashtable());
            }
            else
            {
                FastUserList = Entity.Selects <FastUser>(p);
            }
            ViewBag.FastUserList = FastUserList;
            ViewBag.FastUser     = FastUser;
            ViewBag.STime        = STime;
            ViewBag.ETime        = ETime;

            return(View());
        }
Exemple #23
0
        public ActionResult Index(BasicBankInfo BasicBankInfo, EFPagingInfo <BasicBankInfo> p, int IsFirst = 0)
        {
            if (IsFirst == 0)
            {
                PageOfItems <BasicBankInfo> BasicBankInfoList1 = new PageOfItems <BasicBankInfo>(new List <BasicBankInfo>(), 0, 10, 0, new Hashtable());
                ViewBag.BasicBankInfoList = BasicBankInfoList1;
                ViewBag.BasicBankInfo     = BasicBankInfo;
                ViewBag.BasicProvinceList = Entity.BasicProvince.Where(n => n.State == 1).ToList();
                ViewBag.BasicCityList     = Entity.BasicCity.Where(n => n.State == 1).ToList();
                ViewBag.BasicDistrictList = Entity.BasicDistrict.Where(n => n.State == 1).ToList();
                ViewBag.BasicBankList     = Entity.BasicBank.Where(n => n.State == 1).ToList();
                ViewBag.Add    = this.checkPower("Add");
                ViewBag.Edit   = this.checkPower("Edit");
                ViewBag.Delete = this.checkPower("Delete");
                ViewBag.Save   = this.checkPower("Save");
                return(View());
            }
            if (!BasicBankInfo.Name.IsNullOrEmpty())
            {
                p.SqlWhere.Add(f => f.Name.Contains(BasicBankInfo.Name));
            }
            if (!BasicBankInfo.BId.IsNullOrEmpty())
            {
                p.SqlWhere.Add(f => f.BId == BasicBankInfo.BId);
            }
            if (!BasicBankInfo.State.IsNullOrEmpty())
            {
                p.SqlWhere.Add(f => f.State == (BasicBankInfo.State == 99?0:BasicBankInfo.State));
            }
            if (!BasicBankInfo.SId.IsNullOrEmpty())
            {
                p.SqlWhere.Add(f => f.SId == BasicBankInfo.SId);
            }
            if (!BasicBankInfo.CId.IsNullOrEmpty())
            {
                p.SqlWhere.Add(f => f.CId == BasicBankInfo.CId);
            }
            if (!BasicBankInfo.DId.IsNullOrEmpty())
            {
                p.SqlWhere.Add(f => f.DId == BasicBankInfo.DId);
            }
            p.OrderByList.Add("Id", "DESC");
            IPageOfItems <BasicBankInfo> BasicBankInfoList = Entity.Selects <BasicBankInfo>(p);

            ViewBag.BasicBankInfoList = BasicBankInfoList;
            ViewBag.BasicBankInfo     = BasicBankInfo;
            ViewBag.BasicProvinceList = Entity.BasicProvince.Where(n => n.State == 1).ToList();
            ViewBag.BasicCityList     = Entity.BasicCity.Where(n => n.State == 1).ToList();
            ViewBag.BasicDistrictList = Entity.BasicDistrict.Where(n => n.State == 1).ToList();
            ViewBag.BasicBankList     = Entity.BasicBank.Where(n => n.State == 1).ToList();
            ViewBag.Add    = this.checkPower("Add");
            ViewBag.Edit   = this.checkPower("Edit");
            ViewBag.Delete = this.checkPower("Delete");
            ViewBag.Save   = this.checkPower("Save");
            return(View());
        }
        public ActionResult Index(JobOrders JobOrders, EFPagingInfo <JobOrders> p, bool?IsShowSupAgent, int?LowerLevel, DateTime?STime, DateTime?ETime, int IsFirst = 0)
        {
            IPageOfItems <JobOrders> JobOrdersList = null;

            if (IsShowSupAgent == null)
            {
                IsShowSupAgent = false;
            }
            ViewBag.BasicAgent = BasicAgent;
            ViewBag.IsAll      = IsAll;
            LowerLevel         = LowerLevel == null ? 0 : LowerLevel;
            if (IsFirst == 0)
            {
                JobOrders.State = 99;
                JobOrdersList   = new PageOfItems <JobOrders>(new List <JobOrders>(), 0, 10, 0, new Hashtable());
            }
            else
            {
                p = this.Condition(JobOrders, p, STime, ETime);

                IList <SysAgent> SysAgentList = null;
                if ((bool)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.AgentId));
                }
                else
                {
                    p.SqlWhere.Add(f => f.AgentId == BasicAgent.Id);//读取全部分支机构
                }

                JobOrdersList = Entity.Selects <JobOrders>(p);
            }
            ViewBag.JobOrdersList  = JobOrdersList;
            ViewBag.JobOrders      = JobOrders;
            ViewBag.Edit           = this.checkPower("Edit");
            ViewBag.ETime          = ETime;
            ViewBag.STime          = STime;
            ViewBag.IsShowSupAgent = IsShowSupAgent;
            ViewBag.LowerLevel     = LowerLevel;
            List <int> UId = JobOrdersList.Select(o => o.UId).Distinct().ToList();

            ViewBag.UsersList = Entity.Users.Where(n => n.State == 1 && UId.Contains(n.Id)).ToList();
            return(View());
        }
        public ActionResult Index(SysAgent SysAgent, EFPagingInfo <SysAgent> p, int IsFirst = 0)
        {
            if (IsFirst == 0)
            {
                PageOfItems <SysAgent> SysAgentList1 = new PageOfItems <SysAgent>(new List <SysAgent>(), 0, 10, 0, new Hashtable());
                ViewBag.SysAgentList = SysAgentList1;
                ViewBag.SysAgent     = SysAgent;
                ViewBag.Save         = this.checkPower("Save");
                ViewBag.IsAdd        = this.checkPower("Add");
                ViewBag.Edit         = this.checkPower("Edit");
                ViewBag.PayEdit      = this.checkPower("PayEdit");
                return(View());
            }
            if (!SysAgent.Name.IsNullOrEmpty())
            {
                p.SqlWhere.Add(f => f.Name.Contains(SysAgent.Name));
            }
            if (!SysAgent.State.IsNullOrEmpty())
            {
                p.SqlWhere.Add(f => f.State == SysAgent.State);
            }
            if (!SysAgent.ExpireTime.IsNullOrEmpty())
            {
                p.SqlWhere.Add(f => f.ExpireTime == SysAgent.ExpireTime);
            }
            if (!SysAgent.Salesman.IsNullOrEmpty())
            {
                p.SqlWhere.Add(f => f.Salesman.Contains(SysAgent.Salesman));
            }
            if (!SysAgent.Id.IsNullOrEmpty())
            {
                //校验是否从属关系
                if (!IsBelongToAgent(SysAgent.Id))
                {
                    ViewBag.ErrorMsg = "不是所属代理!";
                    return(View("Error"));
                }
                p.SqlWhere.Add(f => f.AgentID == SysAgent.Id);
            }
            else
            {
                SysAgent.Id = this.BasicAgent.Id;
                p.SqlWhere.Add(o => o.AgentID == this.BasicAgent.Id);
            }
            p.OrderByList.Add("Id", "DESC");
            IPageOfItems <SysAgent> SysAgentList = Entity.Selects <SysAgent>(p);

            ViewBag.SysAgentList = SysAgentList;
            ViewBag.SysAgent     = SysAgent;
            ViewBag.Save         = this.checkPower("Save");
            ViewBag.IsAdd        = this.checkPower("Add");
            ViewBag.Edit         = this.checkPower("Edit");
            ViewBag.PayEdit      = this.checkPower("PayEdit");
            return(View());
        }
        public ActionResult Index(PagerParameters pagerParameters, string searchIndex = null, string q = "")
        {
            var pager             = new Pager(_siteService.GetSiteSettings(), pagerParameters);
            var searchSettingPart = Services.WorkContext.CurrentSite.As <SearchSettingsPart>();
            var index             = !String.IsNullOrWhiteSpace(searchIndex) ? searchIndex.Trim() : searchSettingPart.SearchIndex;

            if (String.IsNullOrEmpty(index))
            {
                Services.Notifier.Error(T("Please define a default search index."));
                return(HttpNotFound());
            }

            IPageOfItems <ISearchHit> searchHits = new PageOfItems <ISearchHit>(new ISearchHit[] { });

            try {
                searchHits = _searchService.Query(
                    q, pager.Page, pager.PageSize,
                    Services.WorkContext.CurrentSite.As <SearchSettingsPart>().FilterCulture,
                    index,
                    searchSettingPart.GetSearchFields(index),
                    searchHit => searchHit);
            } catch (Exception exception) {
                Logger.Error(T("Invalid search query: {0}", exception.Message).Text);
                Services.Notifier.Error(T("Invalid search query: {0}", exception.Message));
            }

            var list     = Shape.List();
            var foundIds = searchHits.Select(searchHit => searchHit.ContentItemId).ToList();

            // ignore search results which content item has been removed or unpublished
            var foundItems = _contentManager.GetMany <IContent>(foundIds, VersionOptions.Published, new QueryHints()).ToList();

            foreach (var contentItem in foundItems)
            {
                list.Add(_contentManager.BuildDisplay(contentItem, searchSettingPart.DisplayType));
            }
            searchHits.TotalItemCount -= foundIds.Count() - foundItems.Count();

            var pagerShape = Shape.Pager(pager).TotalItemCount(searchHits.TotalItemCount);

            var searchViewModel = new SearchViewModel {
                Query          = q,
                TotalItemCount = searchHits.TotalItemCount,
                StartPosition  = (pager.Page - 1) * pager.PageSize + 1,
                EndPosition    = pager.Page * pager.PageSize > searchHits.TotalItemCount ? searchHits.TotalItemCount : pager.Page * pager.PageSize,
                ContentItems   = list,
                Pager          = pagerShape,
                IndexName      = index
            };

            //todo: deal with page requests beyond result count

            return(View(searchViewModel));
        }
Exemple #27
0
        public ActionResult Index(SysLog SysLog, EFPagingInfo <SysLog> p, int?AgentSysAdminId, int IsFirst = 0)
        {
            if (IsFirst == 0)
            {
                PageOfItems <SysLog> SysLogList1 = new PageOfItems <SysLog>(new List <SysLog>(), 0, 10, 0, new Hashtable());
                ViewBag.SysLogList      = SysLogList1;
                ViewBag.SysLog          = SysLog;
                ViewBag.AgentSysAdminId = AgentSysAdminId;
                //后台操作员
                ViewBag.SysAdminList = Entity.SysAdmin.Where(o => o.AgentId == 0).ToList();
                //代理操作员
                ViewBag.AgentSysAdminList = Entity.SysAdmin.Where(o => o.AgentId != 0).ToList();
                return(View());
            }
            if (SysLog.PType == 1 || SysLog.PType.IsNullOrEmpty())
            {
                SysLog.PType = 1;
                if (!SysLog.AId.IsNullOrEmpty())
                {
                    p.SqlWhere.Add(f => f.AId == SysLog.AId);
                }
            }
            else
            {
                if (!AgentSysAdminId.IsNullOrEmpty())
                {
                    p.SqlWhere.Add(f => f.AId == AgentSysAdminId);
                }
            }
            if (!SysLog.ControllerName.IsNullOrEmpty())
            {
                p.SqlWhere.Add(f => f.ControllerName == SysLog.ControllerName);
            }
            if (!SysLog.ActionName.IsNullOrEmpty())
            {
                p.SqlWhere.Add(f => f.ActionName == SysLog.ActionName);
            }
            if (!SysLog.Title.IsNullOrEmpty())
            {
                p.SqlWhere.Add(f => f.Title.Contains(SysLog.Title));
            }
            p.SqlWhere.Add(f => f.PType == SysLog.PType);
            p.OrderByList.Add("Id", "DESC");
            IPageOfItems <SysLog> SysLogList = Entity.Selects <SysLog>(p);

            ViewBag.SysLogList      = SysLogList;
            ViewBag.SysLog          = SysLog;
            ViewBag.AgentSysAdminId = AgentSysAdminId;
            //后台操作员
            ViewBag.SysAdminList = Entity.SysAdmin.Where(o => o.AgentId == 0).ToList();
            //代理操作员
            ViewBag.AgentSysAdminList = Entity.SysAdmin.Where(o => o.AgentId != 0).ToList();
            return(View());
        }
        /// <summary>
        /// 管理员账号 获取沙龙信息表
        /// </summary>
        /// <param name="pageIndex">当前页</param>
        /// <param name="pageSize">一页X条</param>
        /// <returns></returns>
        public PageOfItems <SalonSimple> GetSalonList(int pageIndex, int pageSize, string saleName = null, Func <IQueryable <t_salemanager> > func = null)
        {
            IQueryable <SalonSimple> salons = null;
            IQueryable <t_salon>     info   = null;
            var list = new PageOfItems <SalonSimple>()
            {
                PageNumber     = pageIndex,
                PageSize       = pageSize,
                TotalItemCount = (saleName == null || saleName == "") ? _db.t_salon.Count() : _db.t_salemanager.Where(c => c.sm_name.Contains(saleName)).Count()
            };
            var beginNum = (pageIndex - 1) * pageSize;

            info = saleName == null?_db.t_salon.OrderByDescending(a => a.s_date).Skip(beginNum).Take(pageSize) : _db.t_salon;

            if (func != null)
            {
                salons = from a in info
                         join b in func() on a.s_uid equals b.sm_s_uid
                         into pro
                         from x in pro.DefaultIfEmpty()
                         where ((saleName == null || saleName == "") ? true : x.sm_name.Contains(saleName))
                         select new SalonSimple
                {
                    Uid          = a.s_uid,
                    Cell         = a.s_cell,
                    Nickname     = a.s_nickname,
                    Logo         = a.s_logo,
                    Opendate     = a.s_opendate,
                    Status       = a.s_status,
                    Businessdate = a.s_businessdate,
                    LinkName     = a.s_linkname,
                    LastTime     = x.sm_editdate,
                    Sale_Id      = x.sm_id,
                    SaleName     = x.sm_name,
                    Recommend    = a.s_recommend
                };
            }
            else
            {
                salons = info.Select(a => new SalonSimple
                {
                    Uid          = a.s_uid,
                    Cell         = a.s_cell,
                    Nickname     = a.s_nickname,
                    Logo         = a.s_logo,
                    Opendate     = a.s_opendate,
                    Status       = a.s_status,
                    Businessdate = a.s_businessdate,
                    LinkName     = a.s_linkname
                });
            }
            list.AddRange(saleName == null ? salons.ToList() : salons.OrderByDescending(c => c.LastTime).Skip(beginNum).Take(pageSize).ToList());
            return(list);
        }
        public ActionResult Index(Users Users, EFPagingInfo <Users> p, int IsFirst = 0)
        {
            if (IsFirst == 0)
            {
                PageOfItems <Users> UsersList1 = new PageOfItems <Users>(new List <Users>(), 0, 10, 0, new Hashtable());
                ViewBag.UsersList = UsersList1;
                ViewBag.Users     = Users;
                ViewBag.Log       = this.checkPower("Log");
                return(View());
            }
            if (Users.CardStae.IsNullOrEmpty())
            {
                Users.CardStae = 1;
            }
            if (!Users.UserName.IsNullOrEmpty())
            {
                p.SqlWhere.Add(f => f.UserName.Contains(Users.UserName));
            }
            if (!Users.TrueName.IsNullOrEmpty())
            {
                p.SqlWhere.Add(f => f.TrueName.Contains(Users.TrueName) || f.NeekName.Contains(Users.TrueName));
            }
            if (!Users.Mobile.IsNullOrEmpty())
            {
                p.SqlWhere.Add(f => f.Mobile.Contains(Users.Mobile));
            }
            if (!Users.State.IsNullOrEmpty())
            {
                p.SqlWhere.Add(f => f.State == (Users.State == 99 ? 0 : Users.State));
            }
            if (!Users.CardNum.IsNullOrEmpty())
            {
                p.SqlWhere.Add(f => f.CardNum.Contains(Users.CardNum));
            }
            // if (!Users.CardStae.IsNullOrEmpty()) { p.SqlWhere.Add(f => f.CardStae == (Users.CardStae == 99 ? 0 : Users.CardStae)); }
            p.SqlWhere.Add(f => f.CardStae > 0);//0未申请1申请2已审核3审核失败
            if (!Users.CardStae.IsNullOrEmpty())
            {
                if (Users.CardStae != 99)
                {
                    p.SqlWhere.Add(f => f.CardStae == Users.CardStae);
                }
            }
            p.OrderByList.Add("Id", "DESC");
            IPageOfItems <Users> UsersList = Entity.Selects <Users>(p);

            ViewBag.UsersList = UsersList;
            ViewBag.Users     = Users;
            ViewBag.Log       = this.checkPower("Log");
            ViewBag.Save      = this.checkPower("Save");
            return(View());
        }
        public PageOfItems<Post> GetPosts(int page, int pageSize)
        {
            var postsQuery = _session.QueryOver<Post>();
            var futurePostsQuery = postsQuery
                                    .OrderBy(x => x.CreatedAt).Desc
                                    .Skip((page - 1) * pageSize)
                                    .Take(pageSize)
                                    .Future();
            var futurePostCountQuery = postsQuery.ToRowCountQuery().FutureValue<int>();

            var result = new PageOfItems<Post>(futurePostsQuery.ToList(), page, futurePostCountQuery.Value, pageSize);
            return result;
        }
        /// <summary>
        /// 列表
        /// </summary>
        /// <param name="APPModule"></param>
        /// <param name="p"></param>
        /// <param name="IsFirst"></param>
        /// <returns></returns>
        public ActionResult Index(APPModule APPModule, EFPagingInfo <APPModule> p, int IsFirst = 0)
        {
            //条件
            p.SqlWhere.Add(f => f.Version == 1);

            p.SqlWhere.Add(f => f.AgentId == APPModule.AgentId);
            if (!APPModule.DisplaySite.IsNullOrEmpty())
            {
                p.SqlWhere.Add(f => f.DisplaySite == APPModule.DisplaySite);
            }
            //排序
            p.OrderByList.Add("Sort", "ASC");
            IPageOfItems <APPModule> APPModuleList = null;

            if (IsFirst == 0)
            {
                APPModuleList = new PageOfItems <APPModule>(new List <APPModule>(), 0, 10, 0, new Hashtable());
            }
            else
            {
                APPModuleList = Entity.Selects <APPModule>(p);
            }

            ViewBag.APPModuleList = APPModuleList;
            ViewBag.APPModule     = APPModule;
            //贴牌代理
            var SysAgentList  = Entity.SysAgent.Where(o => o.IsTeiPai == 1 && o.State == 1).ToList();
            var haofusysagent = new SysAgent()
            {
                Id           = 0,
                Name         = "好付",
                AppBtnNumber = BasicSet.AppBtnNumber,
                APPHasMore   = BasicSet.APPHasMore,
                APPName      = BasicSet.Name,
            };

            SysAgentList.Add(haofusysagent);
            SysAgentList         = SysAgentList.OrderBy(o => o.Id).ToList();
            ViewBag.SysAgentList = SysAgentList;
            //加载类型选项
            string filename             = HttpContext.Server.MapPath("/ModuleTypeSelectList.json");
            string jsonstr              = System.IO.File.ReadAllText(filename);
            var    ModuleTypeSelectList = JsonConvert.DeserializeObject <SortedList <string, string> >(jsonstr);

            ViewBag.ModuleTypeSelectList = ModuleTypeSelectList;
            ViewBag.Add    = this.checkPower("Add");
            ViewBag.Edit   = this.checkPower("Edit");
            ViewBag.Save   = this.checkPower("Save");
            ViewBag.Delete = this.checkPower("Delete");
            return(View());
        }
        public ActionResult Index(PagerParameters pagerParameters, string searchIndex = null, string q = "") {
            var pager = new Pager(_siteService.GetSiteSettings(), pagerParameters);
            var searchSettingPart = Services.WorkContext.CurrentSite.As<SearchSettingsPart>();
            var index = !String.IsNullOrWhiteSpace(searchIndex) ? searchIndex.Trim() : searchSettingPart.SearchIndex;

            if (String.IsNullOrEmpty(index)) {
                Services.Notifier.Error(T("Please define a default search index."));
                return HttpNotFound();
            }

            IPageOfItems<ISearchHit> searchHits = new PageOfItems<ISearchHit>(new ISearchHit[] { });
            try {
                searchHits = _searchService.Query(
                    q, pager.Page, pager.PageSize,
                    Services.WorkContext.CurrentSite.As<SearchSettingsPart>().FilterCulture,
                    index,
                    searchSettingPart.GetSearchFields(index),
                    searchHit => searchHit);
            } catch(Exception exception) {
                Logger.Error(T("Invalid search query: {0}", exception.Message).Text);
                Services.Notifier.Error(T("Invalid search query: {0}", exception.Message));
            }

            var list = Shape.List();
            var foundIds = searchHits.Select(searchHit => searchHit.ContentItemId).ToList();

            // ignore search results which content item has been removed or unpublished
            var foundItems = _contentManager.GetMany<IContent>(foundIds, VersionOptions.Published, new QueryHints()).ToList();
            foreach (var contentItem in foundItems) {
                list.Add(_contentManager.BuildDisplay(contentItem, "Summary"));
            }
            searchHits.TotalItemCount -= foundIds.Count() - foundItems.Count();

            var pagerShape = Shape.Pager(pager).TotalItemCount(searchHits.TotalItemCount);

            var searchViewModel = new SearchViewModel {
                Query = q,
                TotalItemCount = searchHits.TotalItemCount,
                StartPosition = (pager.Page - 1) * pager.PageSize + 1,
                EndPosition = pager.Page * pager.PageSize > searchHits.TotalItemCount ? searchHits.TotalItemCount : pager.Page * pager.PageSize,
                ContentItems = list,
                Pager = pagerShape
            };

            //todo: deal with page requests beyond result count

            return View(searchViewModel);
        }
        public ActionResult Index(PagerParameters pagerParameters, string searchText = "") {
            Pager pager = new Pager(_siteService.GetSiteSettings(), pagerParameters);
            var searchFields = Services.WorkContext.CurrentSite.As<SearchSettingsPart>().SearchedFields;

            IPageOfItems<ISearchHit> searchHits = new PageOfItems<ISearchHit>(new ISearchHit[] { });
            try {

                searchHits = _searchService.Query(searchText, pager.Page, pager.PageSize,
                                                  Services.WorkContext.CurrentSite.As<SearchSettingsPart>().Record.FilterCulture,
                                                  searchFields,
                                                  searchHit => searchHit);
            }
            catch (Exception exception) {
                Logger.Error(T("Invalid search query: {0}", exception.Message).Text);
                Services.Notifier.Error(T("Invalid search query: {0}", exception.Message));
            }

            var list = Services.New.List();
            foreach (var contentItem in Services.ContentManager.GetMany<IContent>(searchHits.Select(x => x.ContentItemId), VersionOptions.Published, QueryHints.Empty)) {
                // ignore search results which content item has been removed or unpublished
                if (contentItem == null) {
                    searchHits.TotalItemCount--;
                    continue;
                }

                list.Add(Services.ContentManager.BuildDisplay(contentItem, "SummaryAdmin"));
            }

            var pagerShape = Services.New.Pager(pager).TotalItemCount(searchHits.TotalItemCount);


            foreach(IShape item in list.Items) {
                item.Metadata.Type = "ContentPicker";
            }

            // retain the parameter in the pager links
            RouteData.Values["searchText"] = searchText;

            dynamic tab = Services.New.SearchContentTab()
                .ContentItems(list)
                .Pager(pagerShape)
                .SearchText(searchText);

            return new ShapeResult(this, Services.New.ContentPicker().Tab(tab));
        }
        public ActionResult PostalCodeSearch(PagerParameters pagerParameters, string q = "")
        {
            // Strip spaces
            q = q.Replace(" ", "");
            Pager pager = new Pager(_siteService.GetSiteSettings(), pagerParameters);
            IPageOfItems<IContent> searchHits = new PageOfItems<IContent>(new IContent[] { });
            try
            {
                searchHits = _addressDirectoryService.GetItemsByPostalCodeSearch(q, pager.Page, pager.PageSize);
            }
            catch (Exception e)
            {
                Logger.Error(e, "Invalid postal code search query: " + q);
            }

            var list = Shape.List();
            foreach (var contentItem in searchHits.Select(searchHit => searchHit.ContentItem))
            {
                // ignore search results which content item has been removed or unpublished
                if (contentItem == null)
                {
                    searchHits.TotalItemCount--;
                    continue;
                }
                list.Add(Services.ContentManager.BuildDisplay(contentItem, "Summary"));
            }

            var pagerShape = Shape.Pager(pager).TotalItemCount(searchHits.TotalItemCount);

            var searchViewModel = new PostalCodeSearchViewModel
            {
                Query = q,
                TotalItemCount = searchHits.TotalItemCount,
                StartPosition = (pager.Page - 1) * pager.PageSize + 1,
                EndPosition = pager.Page * pager.PageSize > searchHits.TotalItemCount ? searchHits.TotalItemCount : pager.Page * pager.PageSize,
                ContentItems = list,
                Pager = pagerShape
            };

            //todo: deal with page requests beyond result count

            return View((object)searchViewModel);
        }
        public ActionResult Index(PagerParameters pagerParameters, string q = "") {
            Pager pager = new Pager(_siteService.GetSiteSettings(), pagerParameters);
            var searchFields = Services.WorkContext.CurrentSite.As<SearchSettingsPart>().SearchedFields;

            IPageOfItems<ISearchHit> searchHits = new PageOfItems<ISearchHit>(new ISearchHit[] { });
            try {

                searchHits = _searchService.Query(q, pager.Page, pager.PageSize,
                                                  Services.WorkContext.CurrentSite.As<SearchSettingsPart>().Record.FilterCulture,
                                                  searchFields,
                                                  searchHit => searchHit);
            } catch(Exception exception) {
                Logger.Error(T("Invalid search query: {0}", exception.Message).Text);
                Services.Notifier.Error(T("Invalid search query: {0}", exception.Message));
            }

            var list = Shape.List();
            foreach (var contentItem in searchHits.Select(searchHit => _contentManager.Get(searchHit.ContentItemId))) {
                // ignore search results which content item has been removed or unpublished
                if(contentItem == null){
                    searchHits.TotalItemCount--;
                    continue;
                }

                list.Add(_contentManager.BuildDisplay(contentItem, "Summary"));
            }

            var pagerShape = Shape.Pager(pager).TotalItemCount(searchHits.TotalItemCount);

            var searchViewModel = new SearchViewModel {
                Query = q,
                TotalItemCount = searchHits.TotalItemCount,
                StartPosition = (pager.Page - 1) * pager.PageSize + 1,
                EndPosition = pager.Page * pager.PageSize > searchHits.TotalItemCount ? searchHits.TotalItemCount : pager.Page * pager.PageSize,
                ContentItems = list,
                Pager = pagerShape
            };

            //todo: deal with page requests beyond result count

            return View(searchViewModel);
        }
Exemple #36
0
        public ActionResult Index(PagerParameters pagerParameters, string searchText = "") {
            var pager = new Pager(_siteService.GetSiteSettings(), pagerParameters);
            var adminSearchSettingsPart = Services.WorkContext.CurrentSite.As<AdminSearchSettingsPart>();
            var searchSettingsPart = Services.WorkContext.CurrentSite.As<SearchSettingsPart>();
            
            IPageOfItems<ISearchHit> searchHits = new PageOfItems<ISearchHit>(new ISearchHit[] { });
            try {

                searchHits = _searchService.Query(
                    searchText, pager.Page, pager.PageSize,
                    searchSettingsPart.FilterCulture,
                    adminSearchSettingsPart.SearchIndex,
                    searchSettingsPart.GetSearchFields(adminSearchSettingsPart.SearchIndex),
                    searchHit => searchHit);
            }
            catch (Exception exception) {
                Logger.Error(T("Invalid search query: {0}", exception.Message).Text);
                Services.Notifier.Error(T("Invalid search query: {0}", exception.Message));
            }

            var list = Services.New.List();
            foreach (var contentItem in Services.ContentManager.GetMany<IContent>(searchHits.Select(x => x.ContentItemId), VersionOptions.Latest, QueryHints.Empty)) {
                // ignore search results which content item has been removed
                if (contentItem == null) {
                    searchHits.TotalItemCount--;
                    continue;
                }

                list.Add(Services.ContentManager.BuildDisplay(contentItem, "SummaryAdmin"));
            }

            var pagerShape = Services.New.Pager(pager).TotalItemCount(searchHits.TotalItemCount);

            var viewModel = Services.New.ViewModel()
                .ContentItems(list)
                .Pager(pagerShape)
                .SearchText(searchText);

            return View(viewModel);
        }
Exemple #37
0
        public ActionResult Index(PagerParameters pagerParameters, string searchText = "") {
            var pager = new Pager(_siteService.GetSiteSettings(), pagerParameters);
            var searchSettingsPart = Services.WorkContext.CurrentSite.As<SearchSettingsPart>();
            
            IPageOfItems<ISearchHit> searchHits = new PageOfItems<ISearchHit>(new ISearchHit[] { });
            try {

                searchHits = _searchService.Query(searchText, pager.Page, pager.PageSize,
                                                  Services.WorkContext.CurrentSite.As<SearchSettingsPart>().Record.FilterCulture,
                                                  searchSettingsPart.SearchIndex,
                                                  searchSettingsPart.SearchedFields,
                                                  searchHit => searchHit);
            }
            catch (Exception exception) {
                Logger.Error(T("Invalid search query: {0}", exception.Message).Text);
                Services.Notifier.Error(T("Invalid search query: {0}", exception.Message));
            }

            var list = Services.New.List();
            foreach (var contentItem in Services.ContentManager.GetMany<IContent>(searchHits.Select(x => x.ContentItemId), VersionOptions.Published, QueryHints.Empty)) {
                // ignore search results which content item has been removed or unpublished
                if (contentItem == null) {
                    searchHits.TotalItemCount--;
                    continue;
                }

                list.Add(Services.ContentManager.BuildDisplay(contentItem, "SummaryAdmin"));
            }

            var pagerShape = Services.New.Pager(pager).TotalItemCount(searchHits.TotalItemCount);

            dynamic viewModel = Services.New.ViewModel()
                .ContentItems(list)
                .Pager(pagerShape)
                .SearchText(searchText);

            // Casting to avoid invalid (under medium trust) reflection over the protected View method and force a static invocation.
            return View((object)viewModel);
        }
        public IEnumerable<ContentItem> GetFilteredNotificationBatches(string keywords, DateTime? fromDate, DateTime? toDate, NotificationBatchSortBy sortBy)
        {
            var pager = new Pager(_siteService.GetSiteSettings(), new PagerParameters());
            var searchSettingsPart = _orchardServices.WorkContext.CurrentSite.As<SearchSettingsPart>();

            IEnumerable<ISearchHit> searchHits = new PageOfItems<ISearchHit>(new ISearchHit[] { });

            searchHits = _searchService.Query(keywords, pager.Page, pager.PageSize,
                                              _orchardServices.WorkContext.CurrentSite.As<SearchSettingsPart>().Record.FilterCulture,
                                              searchSettingsPart.SearchIndex,
                                              searchSettingsPart.SearchedFields,
                                              searchHit => searchHit);

            var notificationBatchItems = _contentManager
                .Query(VersionOptions.Latest, Constants.NotificationBatchContentType)
                .ForContentItems(searchHits.Select(hit => hit.ContentItemId));

            if (fromDate != null && toDate != null)
            {
                notificationBatchItems = notificationBatchItems
                    .Where<CommonPartRecord>(record => record.CreatedUtc >= fromDate.Value && record.CreatedUtc <= toDate.Value);
            }

            switch (sortBy)
            {
                case NotificationBatchSortBy.DateSent: notificationBatchItems = notificationBatchItems
                    .OrderByDescending<CommonPartRecord>(record => record.PublishedUtc);
                    break;
                case NotificationBatchSortBy.Title: notificationBatchItems = notificationBatchItems
                    .OrderBy<TitlePartRecord>(record => record.Title);
                    break;
                default:
                    throw new ArgumentOutOfRangeException("sortBy");
            }

            return notificationBatchItems.List();
        }
        public ActionResult Index(PagerParameters pagerParameters, int? forumsHomeId, string q = "")
        {
            var pager = new Pager(_siteService.GetSiteSettings(), pagerParameters);
            var searchSettingPart = _orchardServices.WorkContext.CurrentSite.As<SearchSettingsPart>();
            ForumsHomePagePart forumsHomePagePart = null;

            if ( forumsHomeId != null ) {
                forumsHomePagePart = _contentManager.Get<ForumsHomePagePart>( forumsHomeId.Value );
            }

            string searchIndex = ForumSearchService.FORUMS_INDEX_NAME;

            if (forumsHomePagePart == null) {
                _orchardServices.Notifier.Error(T("Error: The search index was not found.  Searching failed.  Please review the logs for additional information"));
                Logger.Log(LogLevel.Error, new Exception(String.Format("The forums default search index '{0}' was not found.  Please manually create an index by this name and associate it with the Post contentitem",searchIndex)),null, null);
                return HttpNotFound();
            }

            IPageOfItems<ISearchHit> searchHits = new PageOfItems<ISearchHit>(new ISearchHit[] { });
            try
            {

                searchHits = _forumSearchService.Query(q, forumsHomeId, pager.Page, pager.PageSize,
                                                  _orchardServices.WorkContext.CurrentSite.As<SearchSettingsPart>().FilterCulture,
                                                  searchIndex,
                                                  searchSettingPart.SearchedFields,
                                                  searchHit => searchHit);
            }
            catch (Exception exception)
            {
                Logger.Error(T("Invalid search query: {0}", exception.Message).Text);
                _orchardServices.Notifier.Error(T("Invalid search query: {0}", exception.Message));
            }

            var list = Shape.List();
            var foundIds = searchHits.Select(searchHit => searchHit.ContentItemId).ToList();

            // ignore search results which content item has been removed or unpublished
            var foundItems = _contentManager.GetMany<IContent>(foundIds, VersionOptions.Published, new QueryHints()).ToList();
            foreach (var contentItem in foundItems)
            {
                if (contentItem.Is<PostPart>())
                {
                    if (contentItem.As<PostPart>().IsInappropriate == false)
                    {
                        list.Add(_contentManager.BuildDisplay(contentItem, "SearchResult"));
                    }
                }
            }

            searchHits.TotalItemCount -= foundIds.Count() - foundItems.Count();

            var pagerShape = Shape.Pager(pager).TotalItemCount(searchHits.TotalItemCount);

            dynamic menuShape = null;
            if (_orchardServices.WorkContext.CurrentUser != null)
            {
                menuShape = Shape.Parts_ForumMenu(ForumsHomePagePart: forumsHomePagePart, ShowRecent: true, ShowMarkAll: true, ReturnUrl: HttpContext.Request.Url.AbsoluteUri);    
            }

            
            //var search = _orchardServices.ContentManager.New("ForumSearch");
            var breadCrumb = Shape.Parts_BreadCrumb(ForumsHomePagePart:forumsHomePagePart);
            var searchShape = Shape.Parts_Forum_Search(ForumsHomeId: forumsHomePagePart.Id); ;

            var forumsSearchViewModel = new ForumsSearchViewModel
            {
                Query = q,
                ForumsHomeId = forumsHomeId,
                TotalItemCount = searchHits.TotalItemCount,
                StartPosition = (pager.Page - 1) * pager.PageSize + 1,
                EndPosition = pager.Page * pager.PageSize > searchHits.TotalItemCount ? searchHits.TotalItemCount : pager.Page * pager.PageSize,
                ContentItems = list,
                Pager = pagerShape,
                ForumSearch = searchShape,
                ForumMenu = menuShape,
                BreadCrumb = breadCrumb
            };



            return View((object)forumsSearchViewModel);

        }
Exemple #40
0
        public ActionResult Search(PagerParameters pagerParameters, string q = "")
        {
       

            var pager = new Pager(_siteService.GetSiteSettings(), pagerParameters);
            var searchFields = _orchardServices.WorkContext.CurrentSite.As<SearchSettingsPart>().SearchedFields;

            IPageOfItems<ISearchHit> searchHits = new PageOfItems<ISearchHit>(new ISearchHit[] { });
            try
            {

                searchHits = _wikiPageService.IndexSearch(q, pager.Page, pager.PageSize,
                                                  _orchardServices.WorkContext.CurrentSite.As<SearchSettingsPart>().Record.FilterCulture,
                                                  searchFields,
                                                  searchHit => searchHit);
            }
            catch (Exception exception)
            {
                Logger.Error(T("Invalid search query: {0}", exception.Message).Text);
                _orchardServices.Notifier.Error(T("Invalid search query: {0}", exception.Message));
            }

            var list = Shape.List();
            var foundIds = searchHits.Select(searchHit => searchHit.ContentItemId).ToList();

            // ignore search results which content item has been removed or unpublished
            var foundItems = _orchardServices.ContentManager.GetMany<IContent>(foundIds, VersionOptions.Published, new QueryHints()).ToList();
            foreach (var contentItem in foundItems)
            {
                list.Add(_orchardServices.ContentManager.BuildDisplay(contentItem, "Summary"));
            }
            searchHits.TotalItemCount -= foundIds.Count() - foundItems.Count();

            var pagerShape = Shape.Pager(pager).TotalItemCount(searchHits.TotalItemCount);

            var searchViewModel = new SearchViewModel
            {
                Query = q,
                TotalItemCount = searchHits.TotalItemCount,
                StartPosition = (pager.Page - 1) * pager.PageSize + 1,
                EndPosition = pager.Page * pager.PageSize > searchHits.TotalItemCount ? searchHits.TotalItemCount : pager.Page * pager.PageSize,
                ContentItems = list,
                Pager = pagerShape
            };

            //todo: deal with page requests beyond result count

            return View(searchViewModel);
        }