Beispiel #1
0
        public ActionResult Index()
        {
            CriterionRequest <SysUser> criterion = new CriterionRequest <SysUser>();

            GetRequestParams(criterion, "LoginName");
            IEnumerable <SysUser> datalist = service.GetAccounts(criterion);

            return(View(criterion));
        }
        /// <summary>
        /// Creates a single criterion with the given parameters.
        /// </summary>
        /// <param name="criterion">The criterion to create.</param>
        /// <returns>The created criterion.</returns>
        public Task <CriterionResponse> Create(Criterion criterion)
        {
            if (criterion == null)
            {
                throw new ArgumentNullException(nameof(criterion));
            }

            var request = new CriterionRequest(criterion);

            return(this.m_httpClient.Post <CriterionResponse>(request, ENDPOINT));
        }
Beispiel #3
0
        private void GetRequestParams <T>(CriterionRequest <T> criterion, params string[] keywork)
        {
            criterion.PageSize    = Convert.ToInt32(Request.Form["numPerPage"] ?? "10");
            criterion.CurrentPage = Convert.ToInt32(Request.Form["pageNum"] ?? "1");
            string orderby   = Request.Form["orderField"] ?? "";
            string direction = Request.Form["orderDirection"] ?? "";
            string keyWords  = Request.Form["keywords"] ?? "";

            ViewData["orderby"] = orderby;
            //direction = direction == "desc" ? "asc" : "desc";
            ViewData["direction"] = direction;
            ViewData["keyword"]   = keyWords;

            List <CriterionAssociations> associations = new List <CriterionAssociations>();

            if (!string.IsNullOrEmpty(keyWords))
            {
                var exp = NHibernate.Criterion.Expression.Disjunction();
                foreach (string str in keywork)
                {
                    string[] spt = str.Split('.');
                    if (spt != null && spt.Length == 2)
                    {
                        CriterionAssociations tempc = this.CheckAssociations(associations, spt[0]);
                        if (tempc.Criterias != null && tempc.Criterias.Length > 0)
                        {
                            ((NHibernate.Criterion.Disjunction)tempc.Criterias[0].Compile().Invoke()).Add(NHibernate.Criterion.Expression.Like(str, keyWords));
                        }
                        else
                        {
                            tempc.Criterias = new System.Linq.Expressions.Expression <Func <NHibernate.Criterion.ICriterion> >[] {
                                () => NHibernate.Criterion.Expression.Disjunction().Add(NHibernate.Criterion.Expression.Like(str, keyWords))
                            };
                        }
                    }
                    {
                        exp.Add(NHibernate.Criterion.Expression.Like(str, keyWords));
                    }
                }
                criterion.Criterias = new System.Linq.Expressions.Expression <Func <NHibernate.Criterion.ICriterion> >[] {
                    () => exp
                };
            }
            if (!string.IsNullOrEmpty(orderby))
            {
                string[] strt = orderby.Split('.');
                if (strt != null && strt.Length == 2)
                {
                    CriterionAssociations temp_order = this.CheckAssociations(associations, strt[0]);
                    temp_order.Orders = new System.Linq.Expressions.Expression <Func <NHibernate.Criterion.Order> >[]
                    {
                        () => direction == "asc"?NHibernate.Criterion.Order.Asc(orderby):NHibernate.Criterion.Order.Desc(orderby)
                    };
                }
                else
                {
                    criterion.Orders = new System.Linq.Expressions.Expression <Func <NHibernate.Criterion.Order> >[]
                    {
                        () => direction == "asc"?NHibernate.Criterion.Order.Asc(orderby):NHibernate.Criterion.Order.Desc(orderby)
                    };
                }
            }
            criterion.Associations = associations.ToArray();
        }