public BusinessActivityImpl(ILog log = null)
 {
     _status     = BusinessActivityStatus.Init;
     _lastStatus = _status;
     _actionList = new List <IAtomicAction>();
     _log        = log;
 }
        public void ChangeStatus(BusinessActivityStatus newStatus)
        {
            bool flag = _flow.Exists(t => t.Item1 == _status && t.Item2 == newStatus);

            if (!flag)
            {
                throw new ChangeStatusException(string.Format("ChangeStatus error, can't change status from {0} to {1}", _status, newStatus));
            }

            _lastStatus = _status;
            _status     = newStatus;

            if (_log != null)
            {
                _log.Info(_lastStatus, _status);
            }
        }
Example #3
0
 public void Error(BusinessActivityStatus lastStatus, BusinessActivityStatus curStatus)
 {
     Console.WriteLine("Error lastStatus:{0}, curStatus: {1}", lastStatus, curStatus);
 }
Example #4
0
 public void Info(BusinessActivityStatus lastStatus, BusinessActivityStatus curStatus)
 {
     Console.WriteLine("Info lastStatus:{0}, curStatus: {1}", lastStatus, curStatus);
 }