コード例 #1
0
        /// <summary>
        /// 获取内部组织机构
        /// </summary>
        /// <param name="userInfo">用户</param>
        /// <returns>数据表</returns>
        public DataTable GetInnerOrganizeDT(BaseUserInfo userInfo)
        {
            var parameter = ServiceParameter.CreateWithLog(userInfo
                                                           , MethodBase.GetCurrentMethod());

            ServiceUtil.ProcessUserCenterWriteDbWithLock(parameter, locker, (dbHelper, getOnLine) =>
            {
                var manager = new BaseOrganizeManager(dbHelper, userInfo);
                if (MessageService.LaseInnerOrganizeCheck == DateTime.MinValue)
                {
                    getOnLine = true;
                }
                else
                {
                    // 2008.01.23 JiRiGaLa 修正错误
                    TimeSpan timeSpan = DateTime.Now - MessageService.LaseInnerOrganizeCheck;
                    if ((timeSpan.Minutes * 60 + timeSpan.Seconds) >= BaseSystemInfo.OnLineCheck * 10)
                    {
                        getOnLine = true;
                    }
                }
                if (OnLineStateDT == null || getOnLine)
                {
                    string commandText = string.Empty;

                    if (BaseSystemInfo.OrganizeDynamicLoading)
                    {
                        commandText = "    SELECT * "
                                      + "      FROM " + BaseOrganizeEntity.TableName
                                      + "     WHERE " + BaseOrganizeEntity.FieldDeletionStateCode + " = 0 "
                                      + "           AND " + BaseOrganizeEntity.FieldIsInnerOrganize + " = 1 "
                                      + "           AND " + BaseOrganizeEntity.FieldEnabled + " = 1 "
                                      + "           AND (" + BaseOrganizeEntity.FieldParentId + " IS NULL "
                                      + "                OR " + BaseOrganizeEntity.FieldParentId + " IN (SELECT " + BaseOrganizeEntity.FieldId + " FROM " + BaseOrganizeEntity.TableName + " WHERE " + BaseOrganizeEntity.FieldDeletionStateCode + " = 0 AND " + BaseOrganizeEntity.FieldIsInnerOrganize + " = 1 AND " + BaseOrganizeEntity.FieldEnabled + " = 1 AND " + BaseOrganizeEntity.FieldParentId + " IS NULL)) "
                                      + "  ORDER BY " + BaseOrganizeEntity.FieldSortCode;
                    }
                    else
                    {
                        commandText = "    SELECT * "
                                      + "      FROM " + BaseOrganizeEntity.TableName
                                      + "     WHERE " + BaseOrganizeEntity.FieldDeletionStateCode + " = 0 "
                                      + "           AND " + BaseOrganizeEntity.FieldIsInnerOrganize + " = 1 "
                                      + "           AND " + BaseOrganizeEntity.FieldEnabled + " = 1 "
                                      + "  ORDER BY " + BaseOrganizeEntity.FieldSortCode;
                    }

                    InnerOrganizeDT                       = manager.Fill(commandText);
                    InnerOrganizeDT.TableName             = BaseOrganizeEntity.TableName;
                    MessageService.LaseInnerOrganizeCheck = DateTime.Now;
                }
                // BaseLogManager.Instance.Add(userInfo, this.serviceName, MethodBase.GetCurrentMethod());
                return(getOnLine);
            });
            return(InnerOrganizeDT);
        }
コード例 #2
0
        /// <summary>
        /// 获取倒序序列号
        /// </summary>
        /// <param name="userInfo">用户</param>
        /// <param name="fullName">序列名称</param>
        /// <returns>序列号</returns>
        public string GetReduction(BaseUserInfo userInfo, string fullName)
        {
            string result = string.Empty;

            var parameter = ServiceInfo.Create(userInfo, MethodBase.GetCurrentMethod());

            ServiceUtil.ProcessUserCenterWriteDbWithLock(userInfo, parameter, LOCK, (dbHelper) =>
            {
                result = this.GetReduction(dbHelper, userInfo, fullName);
            });
            return(result);
        }
コード例 #3
0
        /// <summary>
        /// 获取序列号
        /// </summary>
        /// <param name="userInfo">用户</param>
        /// <param name="name">序列名称</param>
        /// <returns>序列号</returns>
        public string Increment(BaseUserInfo userInfo, string name)
        {
            var result = string.Empty;

            var parameter = ServiceInfo.Create(userInfo, MethodBase.GetCurrentMethod());

            ServiceUtil.ProcessUserCenterWriteDbWithLock(userInfo, parameter, _lock, (dbHelper) =>
            {
                result = Increment(dbHelper, userInfo, name);
            });
            return(result);
        }
コード例 #4
0
        /// <summary>
        /// 获取新序列号
        /// </summary>
        /// <param name="userInfo">用户</param>
        /// <param name="fullName">序列名称</param>
        /// <param name="defaultSequence">默认序列</param>
        /// <param name="sequenceLength">序列长度</param>
        /// <param name="fillZeroPrefix">是否填充补零</param>
        /// <returns>序列号</returns>
        public string GetNewSequence(BaseUserInfo userInfo, string fullName, int defaultSequence, int sequenceLength, bool fillZeroPrefix)
        {
            string result = string.Empty;

            var parameter = ServiceInfo.Create(userInfo, MethodBase.GetCurrentMethod());

            ServiceUtil.ProcessUserCenterWriteDbWithLock(userInfo, parameter, LOCK, (dbHelper) =>
            {
                var sequenceManager = new BaseSequenceManager(dbHelper);
                result = sequenceManager.Increment(fullName, defaultSequence, sequenceLength, fillZeroPrefix);
            });
            return(result);
        }
コード例 #5
0
        /// <summary>
        /// 获取原序列号
        /// </summary>
        /// <param name="userInfo">用户</param>
        /// <param name="name">序列名称</param>
        /// <param name="defaultSequence">默认序列</param>
        /// <param name="sequenceLength">序列长度</param>
        /// <param name="fillZeroPrefix">是否填充补零</param>
        /// <returns>序列号</returns>
        public string GetOldSequence(BaseUserInfo userInfo, string name, int defaultSequence, int sequenceLength, bool fillZeroPrefix)
        {
            var result = string.Empty;

            var parameter = ServiceInfo.Create(userInfo, MethodBase.GetCurrentMethod());

            ServiceUtil.ProcessUserCenterWriteDbWithLock(userInfo, parameter, _lock, (dbHelper) =>
            {
                var managerSequence = new BaseSequenceManager(dbHelper);
                result = managerSequence.StoreCounter(name, defaultSequence, sequenceLength, fillZeroPrefix);
            });
            return(result);
        }