Exemple #1
0
        /// <summary>
        /// 当前数据筛选器
        /// </summary>
        /// <returns></returns>
        protected override LambdaItem <PositionPersonnelData> GetFilter()
        {
            var filter = new LambdaItem <PositionPersonnelData>
            {
                Root = p => p.DataState <= DataStateType.Discard
            };
            var keyWord = GetArg("keyWord");

            if (!string.IsNullOrEmpty(keyWord))
            {
                filter.AddAnd(p => p.Personnel.Contains(keyWord) || p.Appellation.Contains(keyWord) || p.Position.Contains(keyWord) || p.Role.Contains(keyWord) || p.Tel.Contains(keyWord) || p.Mobile.Contains(keyWord) || p.Organization.Contains(keyWord) || p.Department.Contains(keyWord) || p.Memo.Contains(keyWord));
            }
            return(filter);
        }
        /// <summary>
        ///     取得列表数据
        /// </summary>
        protected override void GetListData()
        {
            var root = new LambdaItem <PersonnelData>();
            //if (!CanDoAction("all"))
            //{
            //    root.Expression = p => p.JoinOrgId == BusinessContext.Current.LoginUser.CompanyId;
            //}
            var key = GetArg("keyWord");

            if (!string.IsNullOrWhiteSpace(key))
            {
                root.AddAnd(p => p.FullName.Contains(key) || p.Tel.Contains(key) || p.Mobile.Contains(key));
            }
            base.GetListData(root);
        }
        /// <summary>
        ///     取得列表数据
        /// </summary>
        protected override void GetListData()
        {
            var filter = new LambdaItem <UserJobData>();

            if (LoginUser.Id > 1)
            {
                filter.Root = p => p.ToUserId == LoginUser.Id && p.DataState == DataStateType.None;
            }
            else
            {
                filter.Root = p => p.DataState == DataStateType.None;
            }
            SetArg("order", "desc");
            SetArg("order", "Id");
            var size = LoginUser.Id > 1?GetIntArg("size", 6):9999;
            var type = GetArg("type");
            List <UserJobData> datas;

            switch (type)
            {
            case "msg":
                filter.AddAnd(p => p.JobType == UserJobType.Message);
                break;

            case "audit":
                filter.AddAnd(p => p.JobType == UserJobType.Audit);
                if (LoginUser.Id > 1)
                {
                    filter.AddAnd(p => p.JobStatus < JobStatusType.Succeed);
                }
                break;

            case "edit":
                filter.AddAnd(p => p.JobType == UserJobType.Edit);
                if (LoginUser.Id > 1)
                {
                    filter.AddAnd(p => p.JobStatus < JobStatusType.Succeed);
                }
                break;

            default:
                datas = Business.Access.PageData(1, 100, p => p.Date, true, filter);
                SetResult(datas);
                return;
            }
            datas = Business.Access.PageData(1, size, p => p.Date, true, filter);
            SetResult(datas);
        }
Exemple #4
0
        /// <summary>
        ///     取得列表数据
        /// </summary>
        protected override void GetListData(LambdaItem <TData> lambda)
        {
            var state = GetIntArg("dataState", 0x100);

            if (state >= 0)
            {
                if (state < 0x100)
                {
                    lambda.AddRoot(p => p.DataState == (DataStateType)state);
                }
                else
                {
                    lambda.AddRoot(p => p.DataState < DataStateType.Delete);
                }
            }
            DoGetListData(lambda);
        }
        /// <summary>
        ///     分页读取
        /// </summary>
        public ApiPageData <TData> PageData(int page, int limit, LambdaItem <TData> lambda)
        {
            if (limit <= 0 || limit >= 999)
            {
                limit = 30;
            }
            var data  = Access.PageData(page, limit, lambda);
            var count = (int)Access.Count(lambda);

            return(new ApiPageData <TData>
            {
                RowCount = count,
                Rows = data,
                PageIndex = page,
                PageSize = limit,
                PageCount = count / limit + (((count % limit) > 0 ? 1 : 0))
            });
        }
        /// <summary>
        ///     取得列表数据
        /// </summary>
        protected override void GetListData()
        {
            var root = new LambdaItem <PageItemData>();
            var fid  = GetIntArg("fid");

            if (fid >= 0)
            {
                root.Root = p => p.ParentId == fid;
            }
            else
            {
                root.Root = p => p.ItemType <= PageItemType.Page;
            }
            var keyWord = GetArg("keyWord");

            if (!string.IsNullOrEmpty(keyWord))
            {
                root.AddAnd(p => p.Name.Contains(keyWord) || p.Caption.Contains(keyWord) || p.Url.Contains(keyWord));
            }
            base.GetListData(root);
        }
        public void Invalid_argument_tests()
        {
            var lambdaItem = new LambdaItem(_lambdaIdentity, Mock.Of <IWorkflow>());

            Assert.Throws <ArgumentNullException>(() => lambdaItem.WithInput(null));
            Assert.Throws <ArgumentNullException>(() => lambdaItem.WithTimeout(null));
            Assert.Throws <ArgumentNullException>(() => lambdaItem.OnCompletion(null));
            Assert.Throws <ArgumentNullException>(() => lambdaItem.OnFailure(null));
            Assert.Throws <ArgumentNullException>(() => lambdaItem.OnTimedout(null));
            Assert.Throws <ArgumentNullException>(() => lambdaItem.OnSchedulingFailed(null));
            Assert.Throws <ArgumentNullException>(() => lambdaItem.OnStartFailed(null));
            Assert.Throws <ArgumentException>(() => lambdaItem.AfterActivity(null, "1.0"));
            Assert.Throws <ArgumentException>(() => lambdaItem.AfterActivity("name", null));
            Assert.Throws <ArgumentException>(() => lambdaItem.AfterTimer(null));
            Assert.Throws <ArgumentException>(() => lambdaItem.AfterLambda(null));
            Assert.Throws <ArgumentException>(() => lambdaItem.AfterChildWorkflow(null, "ver"));
            Assert.Throws <ArgumentException>(() => lambdaItem.AfterChildWorkflow("name", null));
            Assert.Throws <ArgumentNullException>(() => lambdaItem.When(null));
            Assert.Throws <ArgumentNullException>(() => lambdaItem.When(null, _ => WorkflowAction.Empty));
            Assert.Throws <ArgumentNullException>(() => lambdaItem.When(_ => true, null));
        }
        /// <summary>
        ///     取得列表数据
        /// </summary>
        /// <remarks>安全检查有漏洞</remarks>
        protected override void GetListData()
        {
            var pid       = GetIntArg("pid", 0);
            var oid       = GetIntArg("oid", 0);
            var kw        = GetArg("keyWord");
            var condition = new LambdaItem <PositionPersonnelData>();

            if (!string.IsNullOrWhiteSpace(kw))
            {
                condition.Root = p => p.Personnel.Contains(kw) || p.Mobile.Contains(kw) || p.Tel.Contains(kw);
            }
            if (pid > 0)
            {
                condition.Root = p => p.OrganizePositionId == pid;
                base.GetListData(condition);
            }
            else if (oid > 1)
            {
                using (MySqlReadTableScope <PositionPersonnelData> .CreateScope(Business.Access, "view_sys_position_personnel_master"))
                {
                    condition.Root = p => p.master_id == oid;
                    base.GetListData(condition);
                }
            }
            else if (BusinessContext.Current.LoginUser.DepartmentId == 1)
            {
                base.GetListData(condition);
            }
            else
            {
                using (MySqlReadTableScope <PositionPersonnelData> .CreateScope(Business.Access, "view_sys_position_personnel_master"))
                {
                    condition.Root = p => p.master_id == BusinessContext.Current.LoginUser.DepartmentId;
                    base.GetListData(condition);
                }
            }
        }
        /// <summary>
        ///     取得列表数据
        /// </summary>
        protected override ApiPageData <TData> GetListData(LambdaItem <TData> lambda)
        {
            var audit = GetIntArg("audit", -1);

            if (audit == 0x100 || audit < 0)
            {
                return(base.GetListData(lambda));
            }
            if (audit <= (int)AuditStateType.End)
            {
                lambda.AddRoot(p => p.AuditState == (AuditStateType)audit);
                return(base.GetListData(lambda));
            }

            switch (audit)
            {
            case 0x10:     //废弃
            case 0xFF:     //删除
                SetArg("dataState", audit);
                break;

            case 0x13:     //停用
                SetArg("dataState", (int)DataStateType.Disable);
                break;

            case 0x11:     //未审核
                lambda.AddRoot(p => p.AuditState <= AuditStateType.Again);
                break;

            case 0x12:     //未结束
                lambda.AddRoot(p => p.AuditState < AuditStateType.End);
                break;
            }

            return(base.GetListData(lambda));
        }
        /// <summary>
        ///     分页读取
        /// </summary>
        public async Task <ApiPageData <TData> > PageDataAsync(int page, int limit, LambdaItem <TData> lambda)
        {
            var item = Access.Compile(lambda);

            return(await PageDataAsync(page, limit, null, false, item.ConditionSql, item.Parameters));
        }
Exemple #11
0
 /// <summary>
 ///     关键字查询缺省实现
 /// </summary>
 /// <param name="filter">筛选器</param>
 protected void DefaultGetListData(LambdaItem <RolePowerData> filter)
 {
     SetKeywordFilger(filter);
 }
        public void Cancel_decision_is_empty()
        {
            var lambdaItem = new LambdaItem(_lambdaIdentity, Mock.Of <IWorkflow>());

            Assert.That(lambdaItem.CancelDecisions(), Is.Empty);
        }
Exemple #13
0
        /// <summary>
        ///     取得列表数据
        /// </summary>
        protected override void GetListData()
        {
            var root = new LambdaItem <TData>();

            GetListData(root);
        }
        /// <summary>
        ///     取得列表数据
        /// </summary>
        protected override ApiPageData <TData> GetListData()
        {
            var root = new LambdaItem <TData>();

            return(GetListData(root));
        }
        public ApiPageData <TData> PageData(int page, int limit, string sort, bool desc, LambdaItem <TData> lambda)
        {
            var item = Access.Compile(lambda);

            return(PageData(page, limit, sort, desc, item.ConditionSql, item.Parameters));
        }
Exemple #16
0
 /// <summary>
 ///     读取数据
 /// </summary>
 /// <param name="lambda">查询表达式</param>
 /// <returns>是否存在数据</returns>
 public List <TData> All(LambdaItem <TData> lambda)
 {
     return(Access.All(lambda));
 }
Exemple #17
0
 /// <summary>
 ///     取得列表数据
 /// </summary>
 protected void DefaultGetListData()
 {
     var filter = new LambdaItem<UserJobData>();
     SetKeywordFilter(filter);
     base.GetListData(filter);
 }
 /// <summary>
 ///     关键字查询缺省实现
 /// </summary>
 /// <param name="filter">筛选器</param>
 protected void DefaultGetListData(LambdaItem <PersonnelData> filter)
 {
     SetKeywordFilger(filter);
 }
        /// <summary>
        /// 导出到Excel
        /// </summary>
        /// <param name="sheetName"></param>
        /// <param name="filter"></param>
        /// <returns></returns>
        public async Task <(string name, string mime, byte[] bytes)> ExportAsync(string sheetName, LambdaItem <TData> filter)
        {
            var exporter = new ExcelExporter <TData, TPrimaryKey, TAccess>
            {
                OnDataLoad = OnListLoaded
            };
            var data  = new TData();
            var bytes = await exporter.ExportExcelAsync(filter, sheetName ?? data.__Struct.ImportName, null);

            return($"OrderAddress-{DateTime.Now:yyyyMMDDHHmmSS}",
                   "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
                   bytes);
        }
 /// <summary>
 ///     关键字查询缺省实现
 /// </summary>
 /// <param name="filter">筛选器</param>
 protected void DefaultGetListData(LambdaItem <SubjectionData> filter)
 {
     SetKeywordFilger(filter);
 }
        /// <summary>
        ///     分页读取
        /// </summary>
        public ApiPageData <TData> PageData(int page, int limit, LambdaItem <TData> lambda)
        {
            var item = Access.Compile(lambda);

            return(PageData(page, limit, null, false, item.ConditionSql, item.Parameters));
        }