Пример #1
0
 public IObQueryable <TModel> OrderBy(IObQueryable <TModel> queryable)
 {
     if (ObSort == null)
     {
         ObSort = new ObSort();
     }
     ObSort.Add(queryable.ObSort);
     return(this);
 }
Пример #2
0
 public IObQueryable <TModel> And(IObQueryable <TModel> queryable)
 {
     ObParameter = (ObParameterBase)ObParameter && (ObParameterBase)queryable.ObParameter;
     if (ObGroup != null && queryable.ObGroupParameter != null)
     {
         ObGroupParameter = (ObParameterBase)ObGroupParameter && (ObParameterBase)queryable.ObGroupParameter;
     }
     return(this);
 }
Пример #3
0
 public IObQueryable <TModel> Or(IObQueryable <TModel> queryable)
 {
     ObParameter = Factory.ObParameter.Create((ObParameterBase)ObParameter || (ObParameterBase)queryable.ObParameter);
     if (ObGroup != null && queryable.ObGroupParameter != null)
     {
         ObGroupParameter = Factory.ObParameter.Create((ObParameterBase)ObGroupParameter || (ObParameterBase)queryable.ObGroupParameter);
     }
     return(this);
 }
Пример #4
0
        protected override void GetList(ref IObQueryable <EmployeInfo> queryable, IDictionary <string, object> requestParams, IDictionary <string, object> requestGroupParams, IDictionary <string, string> requestSorts)
        {
            base.GetList(ref queryable, requestParams, requestGroupParams, requestSorts);
            queryable = MethodBase.GetCurrentMethod().CreateQueryable(queryable, requestParams, requestGroupParams, requestSorts);

            /*queryable.ObParameter = MethodBase.GetCurrentMethod().CreateParameter<EmployeInfo>(queryable.ObParameter, requestParams);
             * queryable.ObGroupParameter = MethodBase.GetCurrentMethod().CreateGroupParameter<EmployeInfo>(queryable.ObGroupParameter, requestGroupParams);
             * queryable.ObSort = MethodBase.GetCurrentMethod().CreateSort<EmployeInfo>(queryable.ObSort, requestSorts);*/
        }
Пример #5
0
 public IObQueryable <TModel> Where(IObQueryable <TModel> queryable)
 {
     ObParameter      = queryable.ObParameter;
     ObGroupParameter = queryable.ObGroupParameter;
     ObGroup          = queryable.ObGroup;
     ObSort           = queryable.ObSort;
     ObJoin           = queryable.ObJoin;
     return(this);
 }
Пример #6
0
 public IObQueryable <TModel> Select(IObQueryable <TModel> queryable)
 {
     if (ObGroup == null)
     {
         ObGroup = new ObGroup();
     }
     ObGroup.AddGroupBy(queryable.ObGroup.ObProperties.Select(o => (ObProperty)o).ToArray());
     return(this);
 }
Пример #7
0
 public IObQueryable <TModel> Join(IObQueryable <TModel> queryable)
 {
     if (ObJoin == null)
     {
         ObJoin = new ObJoin();
     }
     foreach (var obJoinJoinModel in queryable.ObJoin.JoinModels)
     {
         ObJoin.JoinModels.Add(obJoinJoinModel);
     }
     return(this);
 }
Пример #8
0
        public new async Task <ResultInfo <TM> > Add(TM model)
        {
            IObQueryable <TM> queryable = null;
            var ret    = OnAddingJudge(model, ref queryable);
            var result = new ResultInfo <TM>(ret)
            {
                OperationCategory = OperationCategory.Add
            };

            if (!ret.IsSuccess())
            {
                return(result);
            }
            model.Id    = Convert.ToInt32(await AddAsync(model));
            result.Data = model;
            return(result);
        }
Пример #9
0
        public async Task <ResultInfo <TM> > Update(TM model)
        {
            IObQueryable <TM> queryable = null;
            var ret    = OnUpdatingJudge(model, ref queryable);
            var result = new ResultInfo <TM>(ret)
            {
                OperationCategory = OperationCategory.Mod
            };

            if (!ret.IsSuccess())
            {
                return(result);
            }
            await UpdateAsync(model, o => o.Where(k => k.Id == model.Id));

            result.Data = model;
            return(result);
        }
Пример #10
0
        public async Task <ResultInfo <IList <TM> > > Delete(int[] ids)
        {
            IObQueryable <TM> queryable = null;
            var result = OnDeletingJudge(ref queryable);
            var ret    = new ResultInfo <IList <TM> >(result)
            {
                OperationCategory = OperationCategory.Del
            };

            if (!ret.IsSuccess())
            {
                return(ret);
            }
            await DeleteAsync(o => o.Where(k => ids.Contains(k.Id)));

            return(new ResultInfo <IList <TM> >
            {
                Data = ids.Select(id => new TM
                {
                    Id = id
                }).ToList()
            });
        }
Пример #11
0
 public IObQueryable <TModel> DistinctBy(IObQueryable <TModel> queryable)
 {
     return(GroupBy(queryable));
 }
Пример #12
0
 protected override void GetList(ref IObQueryable <DepartmentInfo> queryable, IDictionary <string, object> requestParams, IDictionary <string, object> requestGroupParams,
                                 IDictionary <string, string> requestSorts)
 {
     base.GetList(ref queryable, requestParams, requestGroupParams, requestSorts);
     queryable = MethodBase.GetCurrentMethod().CreateQueryable(queryable, requestParams, requestGroupParams, requestSorts);
 }
Пример #13
0
 protected virtual ResultInfo OnUpdatingJudge(TM model, ref IObQueryable <TM, TT> queryable)
 {
     OnGlobalExecuting(ref queryable);
     return(new ResultInfo());
 }
Пример #14
0
 protected override void OnAdding(EmployeInfo model, ref IObQueryable <EmployeInfo> queryable)
 {
     base.OnAdding(model, ref queryable);
     model.CreateTime = DateTime.Now;
 }
Пример #15
0
 protected virtual ResultInfo OnDeletingJudge(ref IObQueryable <TM> queryable)
 {
     OnGlobalExecuting(ref queryable);
     return(new ResultInfo());
 }
Пример #16
0
 protected override void OnUpdating(EmployeInfo model, ref IObQueryable <EmployeInfo> queryable)
 {
     base.OnUpdating(model, ref queryable);
     queryable = queryable.Join(o => o);
 }
Пример #17
0
 public static IObQueryable <TM, TT> CreateQueryable <TM, TT>(this MethodBase currentMethodBase, TT obTerm, IObQueryable <TM, TT> queryable,
                                                              IDictionary <string, object> requestParams, IDictionary <string, object> requestGroupParams,
                                                              IDictionary <string, string> requestSorts)
     where TM : ObModelBase
     where TT : ObTermBase
 {
     queryable.ObParameter      = CreateParameter(currentMethodBase, obTerm, queryable.ObParameter, requestParams);
     queryable.ObGroupParameter = CreateGroupParameter(currentMethodBase, obTerm, queryable.ObGroupParameter, requestGroupParams);
     queryable.ObSort           = CreateSort(currentMethodBase, obTerm, queryable.ObSort, requestSorts);
     return(queryable);
 }