コード例 #1
0
        public async Task <IActionResult> List(string searchContent, string seniorQueryJson, int page = 1, int limit = 10, string sidx = "CreateDt", string sord = "desc")
        {
            try
            {
                SysUser query = null;
                if (!string.IsNullOrEmpty(seniorQueryJson))
                {
                    query = Newtonsoft.Json.JsonConvert.DeserializeObject <SysUser>(seniorQueryJson);
                }
                System.Linq.Expressions.Expression <Func <SysUser, bool> > predicate = ExpressionBuilder.True <SysUser>();
                predicate = predicate.And(b => b.Id > 0);

                if (searchContent != null)
                {
                    predicate = predicate.And(b => b.UserName.IndexOf(searchContent) != -1);
                }
                PageInfo pageinfo = new PageInfo {
                };
                (List <SysUser> list, long count)datas = await SysUserDAL.QueryAsync(predicate, null, pageinfo);

                var lists = datas.list;
                return(lists.GetJson <SysUser>(sidx, sord, page, limit, SysTool.GetPropertyNameArray <SysUser>()));
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
コード例 #2
0
        private static System.Linq.Expressions.Expression <Func <WebContentEntity, bool> > FilterParams(System.Linq.Expressions.Expression <Func <WebContentEntity, bool> > expression, Newtonsoft.Json.Linq.JObject queryParam)
        {
            if (!queryParam["keyword"].IsEmpty())
            {
                string keyword = queryParam["keyword"].ToString();
                expression = expression.And(t => (t.F_Title.Contains(keyword) || t.F_Author.Contains(keyword) || t.F_Source.Contains(keyword)));
            }
            if (!queryParam["F_NodeId"].IsEmpty())
            {
                string F_NodeId = queryParam["F_NodeId"].ToString();
                expression = expression.And(t => (t.F_NodeId.Equals(F_NodeId)));
            }
            if (!queryParam["F_FeaturesId"].IsEmpty())
            {
                string F_FeaturesId = queryParam["F_FeaturesId"].ToString();
                expression = expression.And(t => (t.F_FeaturesId.Equals(F_FeaturesId)));
            }

            if (!queryParam["F_DeleteMark"].IsEmpty())
            {
                string F_DeleteMark = queryParam["F_DeleteMark"].ToString();
                expression = expression.And(t => (t.F_DeleteMark.Equals(F_DeleteMark)));
            }
            if (!queryParam["F_EnabledMark"].IsEmpty())
            {
                string F_EnabledMark = queryParam["F_EnabledMark"].ToString();
                expression = expression.And(t => (t.F_EnabledMark.Equals(F_EnabledMark)));
            }

            return(expression);
        }
コード例 #3
0
        private static System.Linq.Expressions.Expression <Func <WebAttachmentEntity, bool> > FilterParams(System.Linq.Expressions.Expression <Func <WebAttachmentEntity, bool> > expression, Newtonsoft.Json.Linq.JObject queryParam)
        {
            if (!queryParam["keyword"].IsEmpty())
            {
                string keyword = queryParam["keyword"].ToString();
                expression = expression.And(t => t.F_FullName.Contains(keyword));
            }
            if (!queryParam["TableName"].IsEmpty())
            {
                string TableName = queryParam["TableName"].ToString();
                expression = expression.And(t => t.F_TableName.Equals(TableName));
            }
            if (!queryParam["TableRecordID"].IsEmpty())
            {
                string TableRecordID = queryParam["TableRecordID"].ToString();
                expression = expression.And(t => t.F_TableRecordID.Equals(TableRecordID));
            }

            if (!queryParam["F_DeleteMark"].IsEmpty())
            {
                string F_DeleteMark = queryParam["F_DeleteMark"].ToString();
                expression = expression.And(t => (t.F_DeleteMark.Equals(F_DeleteMark)));
            }
            if (!queryParam["F_EnabledMark"].IsEmpty())
            {
                string F_EnabledMark = queryParam["F_EnabledMark"].ToString();
                expression = expression.And(t => (t.F_EnabledMark.Equals(F_EnabledMark)));
            }

            return(expression);
        }
コード例 #4
0
        /// <summary>
        /// 根据类型查询条件
        /// </summary>
        /// <param name="predicate"></param>
        /// <param name="context"></param>
        /// <returns></returns>
        private System.Linq.Expressions.Expression <Func <User, bool> > SelectType()
        {
            System.Linq.Expressions.Expression <Func <User, bool> > predicate = p => true;

            string key        = context.Request["searchKey"];
            string selecttype = context.Request["selectType"];

            switch (selecttype)
            {
            case "userName": predicate = predicate.And(p => p.DisplayName.Contains(key) || p.Account.Contains(key));
                break;

            case "email": predicate = predicate.And(p => p.Email.Contains(key));
                break;

            //case "homePhone": predicate = predicate.And(p => p.HomePhone.Contains(key));
            //    break;
            case "ipPhone": predicate = predicate.And(p => p.IpPhone.Contains(key));
                break;

            case "mobilePhone": predicate = predicate.And(p => p.MobilePhone.Contains(key));
                break;
            }

            return(predicate);
        }
コード例 #5
0
 private static System.Linq.Expressions.Expression <Func <WebPictureEntity, bool> > FilterParams(System.Linq.Expressions.Expression <Func <WebPictureEntity, bool> > expression, Newtonsoft.Json.Linq.JObject queryParam)
 {
     if (!queryParam["keyword"].IsEmpty())
     {
         string keyword = queryParam["keyword"].ToString();
         expression = expression.And(t => (t.F_FullName.Contains(keyword) || t.F_Nick.Contains(keyword) || t.F_FileType.Contains(keyword) || t.F_Alias.Contains(keyword)));
     }
     if (!queryParam["F_Category"].IsEmpty())
     {
         string F_Category = queryParam["F_Category"].ToString();
         expression = expression.And(t => (t.F_Category.Equals(F_Category)));
     }
     if (!queryParam["F_Synchro"].IsEmpty())
     {
         string F_Synchro = queryParam["F_Synchro"].ToString();
         if (F_Synchro == "False")
         {
             expression = expression.And(t => (t.F_Synchro.ToString().Equals(F_Synchro) || t.F_Synchro.ToString() == ""));
         }
         else
         {
             expression = expression.And(t => (t.F_Synchro.ToString().Equals(F_Synchro)));
         }
     }
     return(expression);
 }
コード例 #6
0
        /// <summary>
        /// 响应部门通讯录
        /// </summary>
        /// <param name="context"></param>
        private void ResponseDepartmentUserJson()
        {
            System.Linq.Expressions.Expression <Func <User, bool> > predicate = p => true;
            string key            = context.Request["searchKey"];
            string selecttype     = context.Request["selectType"];
            var    currentAccount = UserInfo.Account;
            //var currentAccount = "王立弘";
            var user = userService.GenericService.GetAll(p => p.Account == currentAccount).FirstOrDefault();

            if (user != null)
            {
                predicate = p => p.OrganizationID == user.OrganizationID;
            }
            else
            {
                predicate = p => p.OrganizationID == ConstValue.EMPTY_GUID_STR;
            }

            if (!String.IsNullOrEmpty(key))
            {
                if (String.IsNullOrEmpty(selecttype))
                {
                    predicate = predicate.And(p => p.DisplayName.Contains(key) || p.Account.Contains(key));
                }
                else
                {
                    predicate = predicate.And(SelectType());
                }
            }

            predicate = predicate.And(p => p.IsShow);

            ResponseUsersByPager(predicate);
        }
コード例 #7
0
 private static System.Linq.Expressions.Expression <Func <WebFriendLinksEntity, bool> > FilterParams(System.Linq.Expressions.Expression <Func <WebFriendLinksEntity, bool> > expression, Newtonsoft.Json.Linq.JObject queryParam)
 {
     if (!queryParam["keyword"].IsEmpty())
     {
         string keyword = queryParam["keyword"].ToString();
         expression = expression.And(t => t.F_FullName.Contains(keyword));
     }
     if (!queryParam["nodeid"].IsEmpty())
     {
         string keyword = queryParam["nodeid"].ToString();
         expression = expression.And(t => t.F_NodeID.Equals(keyword));
     }
     if (!queryParam["linktype"].IsEmpty())
     {
         string keyword = queryParam["linktype"].ToString();
         expression = expression.And(t => t.F_LinkType.Equals(keyword));
     }
     if (!queryParam["F_DeleteMark"].IsEmpty())
     {
         string F_DeleteMark = queryParam["F_DeleteMark"].ToString();
         expression = expression.And(t => (t.F_DeleteMark.Equals(F_DeleteMark)));
     }
     if (!queryParam["F_EnabledMark"].IsEmpty())
     {
         string F_EnabledMark = queryParam["F_EnabledMark"].ToString();
         expression = expression.And(t => (t.F_EnabledMark.Equals(F_EnabledMark)));
     }
     return(expression);
 }
コード例 #8
0
        public ActionResult GetUserInfoList(string strID, string strName)
        {
            int pageIndex = Request["page"] != null?int.Parse(Request["page"]) : 1;

            int pageSize = Request["rows"] != null?int.Parse(Request["rows"]) : 5;

            int   totalCount;
            short delFlag = (short)DeleteEnumType.Normarl;
            int   nID     = BasePubfun.ConvertToInt32(strID, -1);

            System.Linq.Expressions.Expression <Func <USERINFO, bool> > whereLambda = c => c.DELFLAG == delFlag;
            if (nID >= 0)
            {
                whereLambda = whereLambda.And(c => c.ID == nID);
            }
            if (!string.IsNullOrEmpty(strName) && strName.Length >= 1)
            {
                whereLambda = whereLambda.And(c => c.UNAME.Contains(strName));
            }
            var userInfoList = UserInfoService.LoadPageEntities(pageIndex, pageSize, out totalCount,
                                                                whereLambda, c => c.ID, true);
            var temp = from u in userInfoList
                       select new
            {
                ID      = u.ID,
                UNAME   = u.UNAME,
                UPWD    = u.UPWD,
                REMARK  = u.REMARK,
                SUBTIME = u.SUBTIME
            };

            return(Json(new { rows = temp, total = totalCount, }, JsonRequestBehavior.AllowGet));
        }
コード例 #9
0
        public JsonResult BuscarPedidos(string codigo, int?[] bodegas, DateTime?fechaInicial, DateTime?fechaFinal)
        {
            System.Linq.Expressions.Expression <Func <vw_pedidos, bool> > predicate        = PredicateBuilder.True <vw_pedidos>();
            System.Linq.Expressions.Expression <Func <vw_pedidos, bool> > bodegasPredicate = PredicateBuilder.False <vw_pedidos>();
            if (fechaInicial != null && fechaFinal != null && fechaInicial <= fechaFinal)
            {
                predicate = predicate.And(
                    x => x.fecha >= fechaInicial && x.fecha <= fechaFinal && x.planmayor == codigo);
                if (bodegas != null)
                {
                    if (bodegas[0] == 0)
                    {
                        bodegas[0] = Convert.ToInt32(Session["user_bodega"]);
                    }

                    foreach (int item in bodegas)
                    {
                        bodegasPredicate = bodegasPredicate.Or(x => x.id_bodega == item);
                    }

                    predicate = predicate.And(bodegasPredicate);
                }

                List <vw_pedidos> datos = context.vw_pedidos.Where(predicate).ToList();

                var data = datos.Select(x => new
                {
                    x.numero,
                    x.cot_numcotizacion,
                    fecha = x.fecha.ToString("yyyy/MM/dd"),
                    x.bodccs_nombre,
                    x.doc_tercero,
                    nombre = x.prinom_tercero + " " + x.segnom_tercero + " " + x.apellido_tercero + " " +
                             x.segapellido_tercero,
                    vendedor = x.asesor,
                    x.modelo,
                    x.modvh_nombre,
                    x.id_anio_modelo,
                    color = x.colvh_nombre,
                    fecha_asignacion_planmayor = x.fecha_asignacion_planmayor.Value.ToString("yyyy/MM/dd"),
                    valor_unitario             = x.valor_unitario != null ? x.valor_unitario.Value.ToString("0,0", elGR) : "",
                    porcentaje_iva             = x.porcentaje_iva != null ? x.porcentaje_iva : 0,
                    porcentaje_impoconsumo     = x.porcentaje_impoconsumo != null ? x.porcentaje_impoconsumo : 0,
                    vrtotal          = x.vrtotal != null ? x.vrtotal.Value.ToString("0,0", elGR) : "",
                    valorPoliza      = x.valorPoliza != null ? x.valorPoliza.Value.ToString("0,0", elGR) : "",
                    nit_prenda       = x.nit_prenda != null ? x.nit_prenda : "",
                    numfactura       = x.numfactura != null ? x.numfactura : 0,
                    codigoFlota      = x.codigoFlota != null ? x.codigoFlota : "",
                    descripcionFlota = x.descripcionFlota != null ? x.descripcionFlota : "",
                    valormatricula   = x.valormatricula != null ? x.valormatricula.Value.ToString("0,0", elGR) : "",
                    valorsoat        = x.valorsoat != null ? x.valorsoat.Value.ToString("0,0", elGR) : ""
                });
                return(Json(data, JsonRequestBehavior.AllowGet));
            }

            return(Json(0, JsonRequestBehavior.AllowGet));
        }
コード例 #10
0
        public List <ProductSearchItem> GetProducts(ID templateId)
        {
            //var predicate = PredicateBuilder.True<Brand>()
            //    .And(p => p.TemplateId == templateId)
            //    .And(p => !p.Name.Equals("__Standard Values"));
            ////.And(p => p.Language == Context.Language.Name);
            //var results = GetSolrResult(predicate).ToList();
            //return results;
            List <ProductSearchItem> ProductResultItems = new List <ProductSearchItem>();
            //var language = Sitecore.Context.Language.CultureInfo.TwoLetterISOLanguageName.ToString();
            //var index = ContentSearchManager.GetIndex("sitecore_web_index");
            //using (var context = index.CreateSearchContext())
            //{
            //    var predicate = PredicateBuilder.True<SearchResultItem>();

            //    predicate = predicate.And((p => p.TemplateId == templateId));
            //   // predicate = predicate.And((p => p.Language == language));


            //    var results = context.GetQueryable<SearchResultItem>().Where(predicate).ToList();

            //}
            ISearchIndex indexbrand = ContentSearchManager.GetIndex("website_custom_product");

            using (IProviderSearchContext context = indexbrand.CreateSearchContext())
            {
                System.Linq.Expressions.Expression <Func <Library.SC.Lucene.ProductSearchItem, bool> > predicate = PredicateBuilder.True <Library.SC.Lucene.ProductSearchItem>();
                predicate          = predicate.And(p => p._language.Equals(Garnier.Library.SC.Utility.Extensions.currentContextLanguage()));
                predicate          = predicate.And(p => p.TemplateId == Lookups.TemplateProductID);
                ProductResultItems = context.GetQueryable <Library.SC.Lucene.ProductSearchItem>()
                                     .Where(predicate)
                                     .ToList();
            }
            if (ProductResultItems != null && ProductResultItems.Count > 0)
            {
                //List<Sitecore.Data.Items.Item> ResultItems = new List<Sitecore.Data.Items.Item>();

                //foreach (Library.SC.Lucene.BrandSearchItem ProductResultItem in ProductResultItems)
                //{
                //    Sitecore.Data.Items.Item thisItem = ProductResultItem.GetContextItem(ResultItems);
                //    if (thisItem != null && thisItem.itemIsValid() && (thisItem.itemHasValidChildren()))
                //    {
                //        ResultItems.Add(thisItem);
                //    }
                //}
                //return ResultItems;
                return(ProductResultItems);
            }
            else
            {
                return(new List <Library.SC.Lucene.ProductSearchItem>());
            }

            //return list;
        }
コード例 #11
0
        public JsonResult BuscarKardexVehiculos(int anio, int mes, int?[] bodega, string codigo)
        {
            System.Linq.Expressions.Expression <Func <vw_kardex, bool> > anioP = PredicateBuilder.True <vw_kardex>();

            System.Linq.Expressions.Expression <Func <vw_kardex, bool> > bodegaP = PredicateBuilder.False <vw_kardex>();
            System.Linq.Expressions.Expression <Func <vw_kardex, bool> > codigoP = PredicateBuilder.False <vw_kardex>();

            anioP = anioP.And(x => x.ano == anio);
            anioP = anioP.And(x => x.mes == mes);
            anioP = anioP.And(x => x.modulo == "V");

            #region Predicate bodega

            if (bodega.Count() > 0 && bodega[0] != null)
            {
                foreach (int?item in bodega)
                {
                    if (item != null)
                    {
                        bodegaP = bodegaP.Or(d => d.bodega == item);
                    }
                }

                anioP = anioP.And(bodegaP);
            }

            #endregion

            #region Predicate codigo

            if (!string.IsNullOrEmpty(codigo))
            {
                codigoP = codigoP.Or(d => d.codigo == codigo);
                anioP   = anioP.And(codigoP);
            }

            #endregion

            System.Collections.Generic.List <vw_kardex> consulta = context.vw_kardex.Where(anioP).ToList();
            var consultaB = context.vw_kardex.Where(anioP).Select(x => new { x.bodega, x.bodccs_nombre }).Distinct()
                            .ToList();

            if (consulta.Count > 0 && consultaB.Count > 0)
            {
                var data = new
                {
                    consulta,
                    consultaB
                };

                return(Json(new { info = true, data }, JsonRequestBehavior.AllowGet));
            }

            return(Json(new { info = false }, JsonRequestBehavior.AllowGet));
        }
コード例 #12
0
        public JsonResult BuscarReferencias(string id, string[] otras)
        {
            if (!string.IsNullOrWhiteSpace(id))
            {
                System.Linq.Expressions.Expression <Func <icb_referencia, bool> > predicado  = PredicateBuilder.True <icb_referencia>();
                System.Linq.Expressions.Expression <Func <icb_referencia, bool> > predicado2 = PredicateBuilder.False <icb_referencia>();

                if (!string.IsNullOrWhiteSpace(otras[0]))
                {
                    //var otrasarray = otras.Split(',');
                    foreach (string item in otras)
                    {
                        predicado2 = predicado2.Or(d => d.ref_codigo == item);
                    }
                }
                //predicado = predicado.And(predicado2);

                predicado2 = predicado2.Or(d => d.ref_codigo.Contains(id));
                predicado2 = predicado2.Or(d => d.ref_descripcion.ToUpper().Contains(id.ToUpper()));
                predicado  = predicado.And(predicado2);


                List <icb_referencia> listareferencias = context.icb_referencia.Where(predicado).ToList();
                var data = listareferencias.Select(d => new
                {
                    id       = d.ref_codigo,
                    nombre   = d.ref_descripcion.ToUpper(),
                    selected = verificarseleccionado(otras, d.ref_codigo)
                }).ToList();
                return(Json(data));
            }

            return(Json(0));
        }
コード例 #13
0
        /// <summary>
        /// 根据类别ID获取内容数据源
        /// </summary>
        /// <param name="categoryId"></param>
        /// <returns></returns>
        List <News> GenerateContentSource(string CategoryCode)
        {
            if (string.IsNullOrEmpty(CategoryCode))
            {
                return(new List <News>());
            }

            string category_id = categoryService.GenericService.GetAll(p => p.Code == CategoryCode).First().ID;

            if (string.IsNullOrEmpty(category_id))
            {
                return(new List <News>());
            }

            int count = 0;

            System.Linq.Expressions.Expression <Func <News, bool> > predicate = p => p.CategoryID == category_id;
            predicate = predicate.And(p => p.CreateTime <= DateTime.Now);

            //var contentSource = dynamicService.GenericService.GetListByPage(AspNetPager1.PageSize, AspNetPager1.CurrentPageIndex, out count, predicate, p => p.CreateTime, true).ToList();
            var contentSourceCount = dynamicService.GenericService.GetAll(predicate).ToList();
            var contentSource      = dynamicService.GenericService.GetAll(predicate).OrderByDescending(p => p.OrderNum).ThenByDescending(p => p.CreateTime).Skip <News>((AspNetPager1.CurrentPageIndex - 1) * AspNetPager1.PageSize)
                                     .Take <News>(AspNetPager1.PageSize).ToList();

            //设置页数
            AspNetPager1.RecordCount = contentSourceCount.Count;

            return(contentSource);
        }
コード例 #14
0
        public JsonResult BuscarAreasBodegaPaginadas()
        {
            int bodega = Convert.ToInt32(Session["user_bodega"]);
            int rol    = Convert.ToInt32(Session["user_rolid"]);

            System.Linq.Expressions.Expression <Func <area_bodega, bool> > predicado = PredicateBuilder.True <area_bodega>();
            int permiso = context.opcion_acceso_rol.Where(d => d.id_rol == rol && d.opcion_acceso.codigo == "OA66").Count();

            if (rol == 1 || permiso > 0)
            {
            }
            else
            {
                predicado = predicado.And(d => d.id_bodega == bodega);
            }
            System.Collections.Generic.List <area_bodega> datos = context.area_bodega.Where(predicado).ToList();
            var data = datos.Select(x => new
            {
                x.areabod_id,
                bodega = x.bodega_concesionario.bodccs_nombre,
                bod    = x.id_bodega,
                x.areabod_nombre,
                areabod_estado = x.areabod_estado ? "Activo" : "Inactivo"
            }).ToList();

            return(Json(data, JsonRequestBehavior.AllowGet));
        }
コード例 #15
0
        /// <summary>
        /// 获取数据源
        /// </summary>
        /// <returns></returns>
        List <User> GenerateBindingResource()
        {
            string type   = Request["type"];
            string search = txtSearch.Text.Trim();

            System.Linq.Expressions.Expression <Func <User, bool> > pre = p => true;
            if (!String.IsNullOrEmpty(search))
            {
                pre = p => p.Account.Contains(search) || p.DisplayName.Contains(search) || p.OrganizationName.Contains(search);
            }
            if (!string.IsNullOrEmpty(Department) && String.IsNullOrEmpty(search))
            {
                if (String.IsNullOrEmpty(type))
                {
                    txtSearch.Text = Department;
                }
                pre = pre.And(p => p.OrganizationName == txtSearch.Text);
            }
            int count = 0;
            //var userResource = userService.GenericService.GetListByPage(AspNetPager1.PageSize, AspNetPager1.CurrentPageIndex, out count, pre, p => p.DisplayName, false).ToList();
            var userResource = userService.GenericService.GetListByPage(AspNetPager1.PageSize, AspNetPager1.CurrentPageIndex, out count, pre, new OrderByMultiCondition <User, int>(c => c.SortNum, false), new OrderByMultiCondition <User, String>(p => p.DisplayName, false)).ToList();

            AspNetPager1.RecordCount = count;

            return(userResource);
        }
コード例 #16
0
        protected override T GetSingleCore(System.Linq.Expressions.Expression <Func <T, bool> > filter, bool getDefaultFilter)
        {
            if (DefaultFilter != null)
            {
                filter = filter.And(DefaultFilter);
            }

            return(CurrentCloudTable.CreateQuery <T>().Where(filter).SingleOrDefault());
        }
コード例 #17
0
            static Expr GenerateRemoveFlagsGuts(ExprParam paramV, ExprParam paramF)
            {
                var v_as_int = Expr.Convert(paramV, kUnderlyingType);                                           // integer v = (integer)value
                var f_as_int = Expr.Convert(paramF, kUnderlyingType);                                           // integer f = (integer)flags

                var f_complement = Expr.Not(f_as_int);                                                          // ~f

                return(Expr.Convert(Expr.And(v_as_int, f_complement), kEnumType));                              // (TEnum)(v & ~f)
            }
コード例 #18
0
 private static System.Linq.Expressions.Expression <Func <WebFeedbackEntity, bool> > FilterParams(System.Linq.Expressions.Expression <Func <WebFeedbackEntity, bool> > expression, Newtonsoft.Json.Linq.JObject queryParam)
 {
     if (!queryParam["keyword"].IsEmpty())
     {
         string keyword = queryParam["keyword"].ToString();
         expression = expression.And(t => t.F_Realname.Contains(keyword) || t.F_Mobile.Equals(keyword));
     }
     if (!queryParam["F_DeleteMark"].IsEmpty())
     {
         string F_DeleteMark = queryParam["F_DeleteMark"].ToString();
         expression = expression.And(t => (t.F_DeleteMark.Equals(F_DeleteMark)));
     }
     if (!queryParam["F_EnabledMark"].IsEmpty())
     {
         string F_EnabledMark = queryParam["F_EnabledMark"].ToString();
         expression = expression.And(t => (t.F_EnabledMark.Equals(F_EnabledMark)));
     }
     return(expression);
 }
コード例 #19
0
        private void BindContent()
        {
            string category_id = categoryService.GenericService.GetAll(p => p.Code == CategoryCode).First().ID;

            System.Linq.Expressions.Expression <Func <News, bool> > predicate = p => p.CategoryID == category_id;
            predicate = predicate.And(p => p.CreateTime <= DateTime.Now);
            var contentSource = dynamicService.GenericService.GetAll(predicate).OrderByDescending(p => p.OrderNum).ThenByDescending(p => p.CreateTime).Take(10).ToList();

            rptContentTitle.DataSource = contentSource.ToList();
            rptContentTitle.DataBind();
        }
コード例 #20
0
            static Expr GenerateRemoveFlagsGuts(ExprParam paramV, ExprParam paramF)
            {
                var param_v_member = Expr.PropertyOrField(paramV, EnumUtils.kMemberName);               // value.value__
                var param_f_member = Expr.PropertyOrField(paramF, EnumUtils.kMemberName);               // flags.value__

                var f_complement = Expr.Not(param_f_member);                                            // ~flags.value__

                var and = Expr.And(param_v_member, f_complement);

                return(Expr.Assign(param_v_member, and));
                //return Expr.AndAssign(param_v_member, f_complement);					// value.value__ &= ~flags.value__
            }
コード例 #21
0
 public System.Linq.Expressions.Expression <Func <IEvaluationContext, bool> > GetConditionExpression()
 {
     System.Linq.Expressions.Expression <Func <IEvaluationContext, bool> > retVal = null;
     if (Children != null && Children.Any())
     {
         retVal = All ? PredicateBuilder.True <IEvaluationContext>() : PredicateBuilder.False <IEvaluationContext>();
         foreach (var expression in Children.OfType <IConditionExpression>().Select(x => x.GetConditionExpression()))
         {
             retVal = All ? retVal.And(expression) : retVal.Or(expression);
         }
     }
     return(retVal);
 }
コード例 #22
0
        /// <summary>
        /// 获取通讯录的查询条件
        /// </summary>
        /// <param name="context"></param>
        /// <returns></returns>
        private System.Linq.Expressions.Expression <Func <User, bool> > GetBookAddressUserPredicate()
        {
            System.Linq.Expressions.Expression <Func <User, bool> > predicate = p => true;

            string key            = context.Request["searchKey"];
            string orgIdString    = context.Request["orgId"];
            string selecttype     = context.Request["selectType"];
            var    currentAccount = UserInfo.Account;

            //限制查询条件
            if (!String.IsNullOrEmpty(key))
            {
                predicate = predicate.And(SelectType());
            }

            //限制组织
            if (!String.IsNullOrEmpty(orgIdString))
            {
                var isContainersChildren = context.Request["isContainsChildren"];
                if (isContainersChildren.Equals("1"))
                {
                    if (String.IsNullOrEmpty(key))
                    {
                        predicate = predicate.And(p => (p.OrganizationID != null && p.OrgPath.Contains(orgIdString)));
                    }
                }
                else
                {
                    predicate = predicate.And(p => p.OrganizationID == orgIdString);
                }
            }

            predicate = predicate.And(p => p.IsShow);
            //设置员工状态为 1(在职) 0表示已离职,不在通讯录中显示
            predicate = predicate.And(p => p.Status == 1);

            return(predicate);
        }
コード例 #23
0
        protected override bool AnyCore(System.Linq.Expressions.Expression <Func <T, bool> > filter, bool getDefaultFilter)
        {
            if (getDefaultFilter && DefaultFilter != null)
            {
                filter = filter.And(DefaultFilter);
            }

            if (filter == null)
            {
                filter = query => true;
            }

            return(CurrentCloudTable.CreateQuery <T>().Any(filter));
        }
コード例 #24
0
        protected override int CountCore(System.Linq.Expressions.Expression <Func <T, bool> > filter, bool getDefaultFilter)
        {
            if (getDefaultFilter && this.DefaultFilter != null)
            {
                filter = filter.And(this.DefaultFilter);
            }

            if (filter == null)
            {
                filter = query => true;
            }

            return(Convert.ToInt32(CurrentCollection.CountDocuments(filter)));
        }
コード例 #25
0
        protected override IQueryable <T> GetAllCore(System.Linq.Expressions.Expression <Func <T, bool> > filter, bool getDefaultFilter, bool getDefaultSorter, string sortColumn, SortDirection?sortDirection, bool allowPaging, int pageSize, int pageIndex, ref int totalCount)
        {
            if (getDefaultFilter)
            {
                filter = filter.And(this.DefaultFilter);
            }

            if (filter == null)
            {
                filter = query => true;
            }

            IQueryable <T> returnList = CurrentCollection.Find(filter).ToList().AsQueryable();

            if (!String.IsNullOrEmpty(sortColumn))
            {
                returnList = returnList.Sort(sortColumn, sortDirection);
            }
            else if (getDefaultSorter && DefaultSorter != null)
            {
                if (DefaultSortType == SortDirection.Ascending)
                {
                    returnList = returnList.OrderBy(DefaultSorter);
                }
                else
                {
                    returnList = returnList.OrderByDescending(DefaultSorter);
                }
            }

            if (allowPaging && pageSize > 0)
            {
                if (totalCount == 0)
                {
                    totalCount = returnList.Count();
                }

                int skipCount = pageSize * pageIndex;

                returnList = returnList.Skip <T>(skipCount).Take <T>(pageSize);
            }

            foreach (var entity in returnList)
            {
                this.AddCore(entity, false);
            }

            return(returnList);
        }
コード例 #26
0
        private static LinqExpression Evaluate(this LogicalExpression expression, System.Linq.Expressions.ParameterExpression arg)
        {
            if (expression == null)
            {
                throw new ArgumentNullException(nameof(expression));
            }

            if (arg == null)
            {
                throw new ArgumentNullException(nameof(arg));
            }

            LinqExpression leftExpression  = null;
            LinqExpression rightExpression = null;

            if (expression.AttributeLeft != null)
            {
                leftExpression = expression.AttributeLeft.Evaluate(arg);
            }

            if (expression.AttributeRight != null)
            {
                rightExpression = expression.AttributeRight.Evaluate(arg);
            }

            if (leftExpression != null && rightExpression != null)
            {
                switch (expression.Operator)
                {
                case LogicalOperators.and:
                    return(LinqExpression.And(leftExpression, rightExpression));

                case LogicalOperators.or:
                    return(LinqExpression.Or(leftExpression, rightExpression));
                }
            }

            if (leftExpression != null)
            {
                return(leftExpression);
            }

            if (rightExpression != null)
            {
                return(rightExpression);
            }

            return(null);
        }
コード例 #27
0
        /// <summary>
        /// 获取数据,并绑定到列表中
        /// </summary>
        private void GetDataAndBind(string Name)
        {
            System.Linq.Expressions.Expression <Func <DZAFCPortal.Entity.News, bool> > predicate = p => true;
            string code = Request["CategoryCode"];

            if (!string.IsNullOrEmpty(code))
            {
                var cate = categoryService.GenericService.GetAll(p => p.Code == code).ToList().First();
                predicate = predicate.And(p => p.CategoryID == cate.ID);
                codeId    = cate.ID;
            }
            if (!string.IsNullOrEmpty(Name))
            {
                predicate = predicate.And(p => p.Title.Contains(Name));
            }
            //if (new Guid(dropType.SelectedValue) != Guid.Empty)
            //{
            //    predicate = predicate.And(p => p.CategoryID == new Guid(dropType.SelectedValue));
            //}
            var navs = dynamicService.GenericService.GetAll(predicate).OrderByDescending(p => p.OrderNum).ThenByDescending(p => p.CreateTime).ToList();

            rptSlider.DataSource = navs;
            rptSlider.DataBind();
        }
コード例 #28
0
        public JsonResult buscar(int?modelo, string operacion, string referencia)
        {
            System.Linq.Expressions.Expression <Func <tsuministromanoot, bool> > predicado = PredicateBuilder.True <tsuministromanoot>();
            if (modelo != null)
            {
                predicado = predicado.And(d => d.modelo_general == modelo);
            }

            if (!string.IsNullOrWhiteSpace(operacion))
            {
                predicado = predicado.And(d => d.operacion == operacion);
            }

            if (!string.IsNullOrWhiteSpace(referencia))
            {
                predicado = predicado.And(d => d.referencia == referencia);
            }

            System.Collections.Generic.List <tsuministromanoot> lista = context.tsuministromanoot.Where(predicado).ToList();
            var data = lista.Select(d => new
                                    { id = d.id_suministromanoot, d.modelo_general, d.referencia, d.operacion, d.cantidad }).ToList();

            return(Json(data));
        }
コード例 #29
0
        protected virtual System.Linq.Expressions.Expression <Func <TBaseQuery, bool> > ApplyCriteria(IEnumerable <QueryComposerCriteriaDTO> criteria)
        {
            System.Linq.Expressions.Expression <Func <TBaseQuery, bool> > queryPredicate = null;

            foreach (var paragraph in criteria)
            {
                var paragraphPredicate = ParseParagraph(paragraph);
                if (queryPredicate == null)
                {
                    queryPredicate = PredicateBuilder.True <TBaseQuery>();

                    //The  initial predicate is set to TRUE and ANDed with the first paragraph conditions.
                    queryPredicate = queryPredicate.And(paragraphPredicate.Expand());
                }
                else if (paragraph.Operator == DTO.Enums.QueryComposerOperators.And && paragraph.Exclusion == false)
                {
                    queryPredicate = queryPredicate.And(paragraphPredicate.Expand());
                }
                else if (paragraph.Operator == DTO.Enums.QueryComposerOperators.Or && paragraph.Exclusion == false)
                {
                    queryPredicate = queryPredicate.Or(paragraphPredicate.Expand());
                }
                else if (paragraph.Operator == DTO.Enums.QueryComposerOperators.AndNot || (paragraph.Operator == DTO.Enums.QueryComposerOperators.And && paragraph.Exclusion))
                {
                    var negatedPredicate = PredicateHelper.Negate(paragraphPredicate);
                    queryPredicate = queryPredicate.And(negatedPredicate.Expand());
                }
                else if (paragraph.Operator == DTO.Enums.QueryComposerOperators.OrNot || (paragraph.Operator == DTO.Enums.QueryComposerOperators.Or && paragraph.Exclusion))
                {
                    var negatedPredicate = PredicateHelper.Negate(paragraphPredicate);
                    queryPredicate = queryPredicate.Or(negatedPredicate.Expand());
                }
            }

            return(queryPredicate);
        }
コード例 #30
0
ファイル: NamsController.cs プロジェクト: ucdavis/TPS
        public IEnumerable<DataNamFlattened> GetNamsByParams(string namNumber, string roomNumber, string vlan,
            string building, string departmentNumber)
        {
            var retval = new List<DataNamFlattened>();

            var hasNamNumber = !(String.IsNullOrEmpty(namNumber) || namNumber.Equals("0"));
            var hasRoomNumber = !(String.IsNullOrEmpty(roomNumber) || roomNumber.Equals("0"));
            var hasVlan = !(String.IsNullOrEmpty(vlan) || vlan.Equals("0"));
            var hasBuilding = !(String.IsNullOrEmpty(building) || building.Equals("0"));
            var hasDepartmentNumber = !(String.IsNullOrEmpty(departmentNumber) || departmentNumber.Equals("0"));
            var hasSearchParameters = hasNamNumber || hasRoomNumber || hasVlan || hasBuilding || hasDepartmentNumber
                                          ? true
                                          : false;
            if (hasSearchParameters)
            {
                NamSearchExpression = PredicateBuilder.True<DataNamFlattened>();

                if (hasNamNumber)
                {
                    NamSearchExpression = NamSearchExpression.And(p => p.NamNumber.Equals(namNumber));
                }
                if (hasRoomNumber)
                {
                    NamSearchExpression = NamSearchExpression.And(p => p.Room.Equals(roomNumber));
                }
                if (hasVlan)
                {
                    NamSearchExpression =
                        NamSearchExpression.And(p => p.Vlan.Equals(vlan));
                }
                if (hasBuilding)
                {
                    NamSearchExpression =
                        NamSearchExpression.And(p => p.Building.Equals(building));
                }
                if (hasDepartmentNumber)
                {
                    NamSearchExpression =
                        NamSearchExpression.And(p => p.DepartmentNumber.Equals(departmentNumber));
                }
                retval = _dataNamRepository
                   .Queryable
                   .Where(NamSearchExpression)
                   .OrderBy(t => t.NamNumber)
                   .ToList();
            }
            return retval;
        }
コード例 #31
0
        protected override T GetSingleCore(System.Linq.Expressions.Expression <Func <T, bool> > filter, bool getDefaultFilter)
        {
            if (getDefaultFilter)
            {
                filter = filter.And(this.DefaultFilter);
            }

            var entity = CurrentCollection.Find(filter).SingleOrDefault();

            if (entity != null)
            {
                this.AddCore(entity, false);
            }

            return(entity);
        }
コード例 #32
0
ファイル: NamSearchController.cs プロジェクト: ucdavis/TPS
        public ActionResult SearchResults(string namNumber, string roomNumber, string vlan, string building, string department)
        {
            var hasNamNumber = !(String.IsNullOrEmpty(namNumber) || namNumber.Equals("0"));
            var hasRoomNumber = !(String.IsNullOrEmpty(roomNumber) || roomNumber.Equals("0"));
            var hasVlanId = !(String.IsNullOrEmpty(vlan) || vlan.Equals("0"));
            var hasBuildingId = !(String.IsNullOrEmpty(building) || building.Equals("0"));
            var hasDepartmentId = !(String.IsNullOrEmpty(department) || department.Equals("0"));
            var hasSearchParameters = hasNamNumber || hasRoomNumber || hasVlanId || hasBuildingId || hasDepartmentId
                                          ? true
                                          : false;

            var viewModel = new NamSearchModel
                                {
                                    DataNams = new List<DataNam>()
                                };

            if (hasSearchParameters)
            {
                NamSearchExpression = PredicateBuilder.True<DataNam>();

                if (hasNamNumber)
                {
                    NamSearchExpression = NamSearchExpression.And(p => p.NamNumber.Equals(namNumber));
                }
                if (hasRoomNumber)
                {
                    NamSearchExpression = NamSearchExpression.And(p => p.Room.Equals(roomNumber));
                }
                if (hasVlanId)
                {
                    NamSearchExpression =
                        NamSearchExpression.And(p => p.Vlan.Id == int.Parse(vlan));
                }
                if (hasBuildingId)
                {
                    NamSearchExpression =
                        NamSearchExpression.And(p => p.Building.Id == int.Parse(building));
                }
                if (hasDepartmentId)
                {
                    NamSearchExpression =
                        NamSearchExpression.And(p => p.Department.Id.Equals(department));
                }

                viewModel.DataNams = _dataNamRepository
                    .Queryable
                    .Where(NamSearchExpression)
                    .OrderBy(t => t.NamNumber)
                    .ToList();
            }
            return View(viewModel);
        }