public virtual bool SetNewTime(DateTime start, DateTime end) { if (end.Equals(default(DateTime))) { Start = start; return(true); } if (end <= start) { return(false); } var newStartValue = TimeRange.StartValue + Convert.ToInt32(start.Subtract(Start).TotalMinutes); var newEndValue = TimeRange.EndValue + Convert.ToInt32(end.Subtract(End).TotalMinutes); var newTimeValueRange = new TimeValueRange(newStartValue, newEndValue); if (newTimeValueRange.Invalid) { return(false); } TimeRange = newTimeValueRange; Start = start; return(true); }
public VisibleSubEventTerm(TermStyle source, TimeValueRange timeValueRange, DateTime start) { _source = source; TimeRange = timeValueRange; Background = _source.Background; Start = start; }
public bool SetNewTime(DateTime start, DateTime end) { if (end.Equals(default(DateTime))) { Start = start; return(true); } if (end <= start) { return(false); } var oldStart = Start; var oldTimeRange = TimeRange; var oldOccurScale = OccurScale; var newStartValue = TimeRange.StartValue + Convert.ToInt32(start.Subtract(Start).TotalMinutes); var newEndValue = TimeRange.EndValue + Convert.ToInt32(end.Subtract(End).TotalMinutes); TimeRange = new TimeValueRange(newStartValue, newEndValue); Start = start; if (!_visibleSubEventTerm.IsInTheRange(start, end)) { TimeRange = oldTimeRange; Start = oldStart; OccurScale = oldOccurScale; return(false); } return(true); }
public BasicAssignmentType() { _timeRange = new TimeValueRange(480, 1020); _background = "BurlyWood"; _onService = true; _termSet = new List <ICanConvertToValueTerm> { this }; }
public override bool SetNewTime(DateTime start, DateTime end) { if (end <= start) { return(false); } var newStartValue = TimeRange.StartValue + Convert.ToInt32(start.Subtract(Start).TotalMinutes); var newEndValue = TimeRange.EndValue + Convert.ToInt32(end.Subtract(End).TotalMinutes); var newTimeValueRange = new TimeValueRange(newStartValue, newEndValue); if (newTimeValueRange.Invalid) { return(false); } var oldTimeRangeValue = _timeRange; _start = default(DateTime); // reset 会在 get Start 属性时发生重新赋值动作 _end = default(DateTime); // reset 会在 get End 属性时发生重新赋值动作 _termSet.Clear(); _termSet.Add(this); TimeRange = new TimeValueRange(newStartValue, newEndValue); BuildTermSet(); // 重新填充 termSet if (_subEventInsertRules.Any(s => !s.IsInTheRange(start, end))) { _start = default(DateTime); _end = default(DateTime); _termSet.Clear(); _termSet.Add(this); TimeRange = oldTimeRangeValue; BuildTermSet(); return(false); } return(true); }