Пример #1
0
        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;
        } 
Пример #2
0
            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()));
            }
Пример #3
0
 public dotCLass(e_Dot type)
 {
     this._type = type;
     _date = Hlp.InitDate;
     sender = this;
 }
Пример #4
0
 public void setDependDot(e_Dot dependDot)
 {
     changeDot(parent.GetDot(this.dependDot), parent.GetDot(dependDot));
 }
Пример #5
0
 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));
 }
Пример #6
0
        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;
        }
Пример #7
0
 public bool setDependDot(e_Dot dependDot)
 {
     return subscribeDot(dependDot);
 }
Пример #8
0
        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;
        }
Пример #9
0
 public IDot GetDot(e_Dot type)
 {
     if(!Enum.IsDefined(typeof(e_Dot), type)) throw new ArgumentException();
     return (type == e_Dot.Start) ? _start : _finish;
 }
Пример #10
0
 public IDot GetDot(e_Dot type)
 {
     throw new NotImplementedException();
 }
Пример #11
0
 public IDot GetDot(e_Dot type)
 {
     return _line.GetDot(type);
 }
Пример #12
0
 public Dot(e_Dot type)
     :this(type, null)
 { }
Пример #13
0
        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;
        }
Пример #14
0
 public CDot(e_Dot type)
 {
     _fncCheck = (date) => date;
     _type = type;
 }
Пример #15
0
        protected void init_PrecursorDate(ILine precursor, e_Dot dependDot)
        {
            pDate = new precursorDate(precursor, dependDot);

            pDate.event_dateChanged += dateChangedHandler;

            unsubscribePDate = () => pDate.event_dateChanged -= dateChangedHandler;
        }
Пример #16
0
 public IDot GetDot(e_Dot type)
 { return (type == _active.GetDotType()) ? _active : _passive; }
Пример #17
0
 public memberData(IConnectible member, e_DependType type, e_Dot dot)
 {
     this.member = member;
     depend = type;
     dependDot = dot;
 }
Пример #18
0
 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));
 }
Пример #19
0
 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);
 }
Пример #20
0
 protected void onDotTypeChange(e_Dot Old, e_Dot New)
 {
     event_dotTypeChanged?.Invoke(sender,new ea_ValueChange<e_Dot>(Old, New));
 }
Пример #21
0
 public void updateDependDot(e_TskLim limit)
 {
     dependDot = depend == e_DependType.Master ? Hlp.GetPrecursor(limit) : Hlp.GetFollower(limit);
 }
Пример #22
0
        /// <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);
        }
Пример #23
0
            public precursorDate(ILine precursor, e_Dot dependDot)
            {
                this.precursor = precursor;
                this.dependDot = dependDot;

                _date = precursor.GetDot(dependDot).GetDate();
                unsubscribe = subscribe(dependDot);
            }
Пример #24
0
        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;
        }
Пример #25
0
            public void setDot(e_Dot dot)
            {
                if (dependDot == dot) return;
                else dependDot = dot;

                unsubscribe?.Invoke();
                unsubscribe = subscribe(dot);

                date = precursor.GetDot(dot).GetDate();
            }
Пример #26
0
 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;
 }
Пример #27
0
            protected Action subscribe(e_Dot dot)
            {
                precursor.GetDot(dot).event_DateChanged += handler_dateChanged;

                return () => precursor.GetDot(dot).event_DateChanged -= handler_dateChanged;
            }
Пример #28
0
            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));
                }
            }
Пример #29
0
            public void SetDotType(e_Dot type)
            {
                if (_dot == type) return;

                e_Dot temp = _dot;
                _dot = type;

                OnDotTypeChanged(new ea_ValueChange<e_Dot>(temp, _dot));
            }