示例#1
0
 public CurrencyStatusItem(long aStatusId, long aCurrencyId, DateTime aStatusTime, CurrencyStatus aStatus, string aExtendedInfo, long aBlockHeight)
 {
     StatusId     = aStatusId;
     CurrencyId   = aCurrencyId;
     StatusTime   = aStatusTime;
     Status       = aStatus;
     ExtendedInfo = aExtendedInfo;
     BlockHeight  = aBlockHeight;
 }
 public ICurrencyItem CopyFrom(ICurrencyItem aCurrencyItem)
 {
     Id               = aCurrencyItem.Id;
     Name             = aCurrencyItem.Name;
     Ticker           = aCurrencyItem.Ticker;
     Precision        = aCurrencyItem.Precision;
     MinConfirmations = aCurrencyItem.MinConfirmations;
     LiveDate         = aCurrencyItem.LiveDate;
     Icon             = aCurrencyItem.Icon;
     FeePerKb         = aCurrencyItem.FeePerKb;
     ChainParamaters  = aCurrencyItem.ChainParamaters;
     CurrentStatus    = aCurrencyItem.CurrentStatus;
     return(this);
 }
        /// <summary>
        /// Determines whether this wallet can send a transaction.
        /// </summary>
        /// <param name="status">The currency status.</param>
        private bool IsWalletOnline(CurrencyStatus status)
        {
            switch (status)
            {
            case CurrencyStatus.OK:
                return(true);

            case CurrencyStatus.Maintenance:
            case CurrencyStatus.NoConnections:
            case CurrencyStatus.Offline:
                return(false);

            default:
                break;
            }
            return(false);
        }
示例#4
0
        public CurrencyStatus GetCurrencyStatusById(long id)
        {
            const CurrencyStatus status = CurrencyStatus.Visible;

            //if (selectedCurrency.Status == "visible")
            //{
            //    status = CurrencyStatus.Visible;
            //}
            //else if (selectedCurrency.Status == "hidden")
            //{
            //    status = CurrencyStatus.Hidden;
            //}
            //else if (selectedCurrency.Status == "draft")
            //{
            //    status = CurrencyStatus.Draft;
            //}
            return(status);
        }
示例#5
0
        private void UpdateCurrencyStatus(string code, CurrencyStatus status, string remarks)
        {
            var currency = _repository.Currencies.First(x => x.Code == code);

            if (currency.Status == status)
            {
                return;
            }

            using (var scope = CustomTransactionScope.GetTransactionScope())
            {
                var user = _actorInfoProvider.Actor.UserName;
                currency.Status      = status;
                currency.UpdatedBy   = user;
                currency.DateUpdated = DateTimeOffset.UtcNow;

                if (status == CurrencyStatus.Active)
                {
                    currency.ActivatedBy   = user;
                    currency.DateActivated = currency.DateUpdated;
                }
                else
                {
                    currency.DeactivatedBy   = user;
                    currency.DateDeactivated = currency.DateUpdated;
                }

                currency.Remarks = remarks;

                _repository.SaveChanges();

                var currencyStatusChanged = new CurrencyStatusChanged
                {
                    Code    = currency.Code,
                    Status  = currency.Status,
                    Remarks = remarks
                };

                _eventBus.Publish(currencyStatusChanged);

                scope.Complete();
            }
        }