示例#1
0
        /// <summary>
        /// 生成构造工厂
        /// </summary>
        /// <param name="ttimeEntity"></param>
        public TimeUserBuildFactory(TtimeEntity ttimeEntity)
        {
            switch ((BuildType)ttimeEntity.TIMEBUILDTYPE)
            {
            case BuildType.Normal:
                _iTimeUserBuild = new TimeUserBuildNormal();
                break;

            case BuildType.NormalByGdzc:
                _iTimeUserBuild = new TimeUserBuildNormalByGdzc();
                break;

            case BuildType.NormalByPl:
                _iTimeUserBuild = new TimeUserBuildNormalByPl();
                break;

            case BuildType.Cumulative:
                _iTimeUserBuild = new TimeUserBuildCumulative();
                break;

            case BuildType.Year:
                _iTimeUserBuild = new TimeUserBuildYear();
                break;

            case BuildType.Quarter:
                _iTimeUserBuild = new TimeUserBuildQuarter();
                break;

            default:
                throw new Exception("接收到未知生成类型,TIMEBUILDTYPE=" + ttimeEntity.TIMEBUILDTYPE);
            }
        }
示例#2
0
        protected Strategy(TtimeEntity entity)
        {
            if (string.IsNullOrWhiteSpace(entity.ECO_TYPE))
            {
                ttimeEntity = entity;
            }
            else
            {
                using (var conn = new DbBase().DbConnecttion) {
                    ttimeEntity = conn.Query <TtimeEntity>($@" select * from t_time where eco_type='{entity.ECO_TYPE.ToUpper()}' ").SingleOrDefault();
                }
            }

            if (ttimeEntity == null)
            {
                return;
            }
            ttimeEntity.SplitChar = entity.GetSplitChar();
        }
示例#3
0
        /// <summary>
        /// 生成
        /// </summary>
        /// <param name="ttimeEntity">下拉框生成配置实体</param>
        /// <returns></returns>
        public virtual List <TtimeEntityOut> BuildList(TtimeEntity ttimeEntity)
        {
            var list    = new List <TtimeEntityOut>();
            var bgYear  = TimeHelper.GetYear(ttimeEntity.BEGINTIME);
            var bgMonth = TimeHelper.GetMonth(ttimeEntity.BEGINTIME);
            var enYear  = TimeHelper.GetYear(ttimeEntity.ENDTIME);
            var enMonth = TimeHelper.GetMonth(ttimeEntity.ENDTIME);

            for (var i = bgYear; i <= enYear; i++)
            {
                if (i == bgYear)
                {
                    //起始
                    for (var j = bgMonth; j <= 12; j++)
                    {
                        list = Do(ttimeEntity)(i, j, list);
                    }
                }
                else if (i == enYear)
                {
                    //结束
                    for (var j = 1; j <= enMonth; j++)
                    {
                        list = Do(ttimeEntity)(i, j, list);
                    }
                }
                else
                {
                    //中间循环
                    for (var j = 1; j <= 12; j++)
                    {
                        list = Do(ttimeEntity)(i, j, list);
                    }
                }
            }
            list.Reverse();
            return(list);
        }
示例#4
0
        /// <summary>
        /// 生成年份下拉框
        /// </summary>
        /// <param name="entityDto"></param>
        /// <returns></returns>
        public override List <TtimeEntityOut> BuildList(TtimeEntity entityDto)
        {
            List <TtimeEntityOut> list = new List <TtimeEntityOut>();
            var bgYear = TimeHelper.GetYear(entityDto.BEGINTIME);
            var enYear = TimeHelper.GetYear(entityDto.ENDTIME);
            Func <int, List <TtimeEntityOut>, List <TtimeEntityOut> > funcM = (i, k) => {
                var timeValue = i.ToString();
                if (timeValue != entityDto.FLAG_DEC)
                {
                    k.Add(new TtimeEntityOut {
                        Text = timeValue + "年", Value = timeValue, SplitChar = entityDto.GetSplitChar()
                    });
                }
                return(k);
            };

            for (var i = bgYear; i <= enYear; i++)
            {
                list = funcM(i, list);
            }
            list.Reverse();
            return(list);
        }
示例#5
0
 public AlgorithMonthlyGdzc(TtimeEntity entity) : base(entity)
 {
 }
示例#6
0
 protected override Func <int, int, List <TtimeEntityOut>, List <TtimeEntityOut> > Do(TtimeEntity entityDto)
 {
     return((i, j, k) => {
         var timeValue = i + TimeHelper.ComplementZero(j);
         if (!entityDto.GetShowTime().Contains(j))
         {
             return k;
         }
         if (timeValue == entityDto.FLAG_DEC)
         {
             return k;
         }
         k.Add(new TtimeEntityOut {
             Text = i + "年" + j + "月", Value = timeValue, SplitChar = entityDto.GetSplitChar()
         });
         return k;
     });
 }
示例#7
0
 public AlgorithMonthlyZczj(TtimeEntity entity) : base(entity)
 {
 }
示例#8
0
 public AlgorithMonthlyCyry(TtimeEntity entity) : base(entity)
 {
 }
示例#9
0
 public AlgorithMonthlyYysr(TtimeEntity entity) : base(entity)
 {
 }
示例#10
0
 public AlgorithMonthlyLrze(TtimeEntity entity) : base(entity)
 {
 }
示例#11
0
 public AlgorithMonthlyTax(TtimeEntity entity) : base(entity)
 {
 }
示例#12
0
 /// <summary>
 /// 生成策略
 /// </summary>
 /// <returns></returns>
 protected abstract Func <int, int, List <TtimeEntityOut>, List <TtimeEntityOut> > Do(TtimeEntity ttimeEntity);
示例#13
0
 protected override Func <int, int, List <TtimeEntityOut>, List <TtimeEntityOut> > Do(TtimeEntity ttimeEntity)
 {
     throw new NotImplementedException();
 }