/// <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); } }
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(); }
/// <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); }
/// <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); }
public AlgorithMonthlyGdzc(TtimeEntity entity) : base(entity) { }
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; }); }
public AlgorithMonthlyZczj(TtimeEntity entity) : base(entity) { }
public AlgorithMonthlyCyry(TtimeEntity entity) : base(entity) { }
public AlgorithMonthlyYysr(TtimeEntity entity) : base(entity) { }
public AlgorithMonthlyLrze(TtimeEntity entity) : base(entity) { }
public AlgorithMonthlyTax(TtimeEntity entity) : base(entity) { }
/// <summary> /// 生成策略 /// </summary> /// <returns></returns> protected abstract Func <int, int, List <TtimeEntityOut>, List <TtimeEntityOut> > Do(TtimeEntity ttimeEntity);
protected override Func <int, int, List <TtimeEntityOut>, List <TtimeEntityOut> > Do(TtimeEntity ttimeEntity) { throw new NotImplementedException(); }