public Dot(e_Dot type, object eventSenderObject) { if (!Enum.IsDefined(typeof(e_Dot), type)) throw new ArgumentException("Неверное значение аргумента"); this.type = type; _date = initDate; sender = eventSenderObject == null ? this : eventSenderObject; }
public void ChangeActiveDot(e_Dot type) { if (type == _activeVal) return; IDot temp = _active; _active = _passive; _passive = temp; OnActiveChanged(new ea_ValueChange<e_Dot>(temp.GetDotType(), _active.GetDotType())); }
public dotCLass(e_Dot type) { this._type = type; _date = Hlp.InitDate; sender = this; }
public void setDependDot(e_Dot dependDot) { changeDot(parent.GetDot(this.dependDot), parent.GetDot(dependDot)); }
public IDot GetDot(e_Dot type) { if (type == e_Dot.Start) return _start; else if (type == e_Dot.Finish) return _finish; else throw new ApplicationException(nameof(GetDot)); }
public bool durationChange(e_Dot moveableDot, double newDuration) { if (newDuration < 0 || newDuration == duration) return false; if (moveableDot == e_Dot.Start) { _start.date = _finish.date.AddDays(-newDuration); updateDuration(); } else if (moveableDot == e_Dot.Finish) { _finish.date = _start.date.AddDays(newDuration); updateDuration(); } else return false; return true; }
public bool setDependDot(e_Dot dependDot) { return subscribeDot(dependDot); }
protected bool subscribeDot(e_Dot type) { if (type == selectedDot.GetDotType() && !Enum.IsDefined(typeof (e_Dot), type)) return false; DateTime oldDate = date; e_Dot oldType = dotType; IDot dot = line.GetDot(type); subscribeHandler(dot); selectedDot = dot; checkChangedValues(oldDate, oldType); return true; }
public IDot GetDot(e_Dot type) { if(!Enum.IsDefined(typeof(e_Dot), type)) throw new ArgumentException(); return (type == e_Dot.Start) ? _start : _finish; }
public IDot GetDot(e_Dot type) { throw new NotImplementedException(); }
public IDot GetDot(e_Dot type) { return _line.GetDot(type); }
public Dot(e_Dot type) :this(type, null) { }
protected bool subscribeDot(e_Dot type) { if (!Enum.IsDefined(typeof (e_Dot), type)) return false; DateTime oldDate; e_Dot oldType; Action eventInvoke = () => { }; if (selectedDot != null) { if (type == selectedDot.GetDotType()) return false; oldDate = date; oldType = dotType; eventInvoke = () => checkChangedValues(oldDate, oldType); } IDot dot = line.GetDot(type); subscribeHandler(dot); selectedDot = dot; eventInvoke(); return true; }
public CDot(e_Dot type) { _fncCheck = (date) => date; _type = type; }
protected void init_PrecursorDate(ILine precursor, e_Dot dependDot) { pDate = new precursorDate(precursor, dependDot); pDate.event_dateChanged += dateChangedHandler; unsubscribePDate = () => pDate.event_dateChanged -= dateChangedHandler; }
public IDot GetDot(e_Dot type) { return (type == _active.GetDotType()) ? _active : _passive; }
public memberData(IConnectible member, e_DependType type, e_Dot dot) { this.member = member; depend = type; dependDot = dot; }
protected void checkChangedValues(DateTime OldDate, e_Dot OldType) { if(OldType != dotType) onDotTypeChange(OldType, dotType); if(OldDate != date) eventDateChangedInvoke(sender, new ea_ValueChange<DateTime>(OldDate, date)); }
public memberData(IConnectible member, e_DependType type, e_TskLim limit) { this.member = member; depend = type; dependDot = depend == e_DependType.Master ? Hlp.GetPrecursor(limit) : Hlp.GetFollower(limit); }
protected void onDotTypeChange(e_Dot Old, e_Dot New) { event_dotTypeChanged?.Invoke(sender,new ea_ValueChange<e_Dot>(Old, New)); }
public void updateDependDot(e_TskLim limit) { dependDot = depend == e_DependType.Master ? Hlp.GetPrecursor(limit) : Hlp.GetFollower(limit); }
/// <summary> /// Инициализирует класс зависимой точки <seealso cref="dependDotAdapter"/> /// </summary> /// <param name="memberID">Идентификатор участника связи</param> /// <param name="memberLine">Интерфейс <seealso cref="ILine"/> участника связи</param> /// <param name="dependDot">Зависимая точка подчиненного объекта</param> /// <exception cref="objectAlreadyExistException">Выбрасывает исключение если класс <seealso cref="dependDotAdapter"/> уже был инициализирован</exception> public void init_member(IId memberID, ILine memberLine, e_Dot dependDot) { if(ddAdapter != null) throw new objectAlreadyExistException(); this.memberID = memberID; ddAdapter = new dependDotAdapter(sender, memberID, memberLine); ddAdapter.event_DateChanged += handler_dependObjectDateChanged; ddAdapter.setDependDot(dependDot); }
public precursorDate(ILine precursor, e_Dot dependDot) { this.precursor = precursor; this.dependDot = dependDot; _date = precursor.GetDot(dependDot).GetDate(); unsubscribe = subscribe(dependDot); }
public bool move(e_Dot dot, DateTime date) { if (dot == e_Dot.Finish) { if (_finish.date == date) return false; _finish.date = date; _start.date = _finish.date.AddDays(-duration); return true; } else if (dot == e_Dot.Start) { if (_start.date == date) return false; _start.date = date; _finish.date = _start.date.AddDays(duration); return true; } else return false; }
public void setDot(e_Dot dot) { if (dependDot == dot) return; else dependDot = dot; unsubscribe?.Invoke(); unsubscribe = subscribe(dot); date = precursor.GetDot(dot).GetDate(); }
public simpleDepend(ILine parent, e_Dot dependDot) { sender = this; this.parent = parent; this.dependDot = dependDot; lastDate = parent.GetDot(dependDot).GetDate(); parent.GetDot(e_Dot.Finish).event_DateChanged += onDateChange; parent.GetDot(e_Dot.Start).event_DateChanged += onDateChange; }
protected Action subscribe(e_Dot dot) { precursor.GetDot(dot).event_DateChanged += handler_dateChanged; return () => precursor.GetDot(dot).event_DateChanged -= handler_dateChanged; }
private void changeDot(IDot Old, IDot New) { e_Dot dOld = dependDot; if (Old != null) { Old.event_DateChanged -= onDateChange; dOld = Old.GetDotType(); } New.event_DateChanged += onDateChange; e_Dot dNew = New.GetDotType(); dependDot = dNew; event_DependDotChanged?.Invoke(sender, new ea_ValueChange<e_Dot>(dOld, dNew)); if (lastDate != parent.GetDot(dependDot).GetDate()) { DateTime OldDate = lastDate; lastDate = parent.GetDot(dependDot).GetDate(); event_DateChanged?.Invoke(sender, new ea_ValueChange<DateTime>(OldDate, lastDate)); } }
public void SetDotType(e_Dot type) { if (_dot == type) return; e_Dot temp = _dot; _dot = type; OnDotTypeChanged(new ea_ValueChange<e_Dot>(temp, _dot)); }