Exemplo n.º 1
0
 private string FormatErrorMessage(string ErrorMesssage)
 {
     if (ErrorMessage.Contains("{0}"))
     {
         return(string.Format(ErrorMesssage, TargetCaption));
     }
     return(ErrorMesssage);
 }
Exemplo n.º 2
0
        public void FlushHistoryBuffer()
        {
            Dictionary <string, Position> posList2 = new Dictionary <string, Position>(); //Set

            var temp = new List <Position>();

            temp.AddRange(HistoryBuffer);
            HistoryBuffer = new ConcurrentBag <Position>();
            psCount      += temp.Count;
            Log.Info("FlushHistoryBuffer", string.Format("count:{0},{1}", temp.Count, psCount));
            //return;

            //foreach (var item in HistoryBuffer)//不能直接放到foreach里面,会丢失数据的。
            foreach (var item in temp)
            {
                string key = item.Code + item.DateTimeStamp;
                if (posList2.ContainsKey(key)) //相同卡的相同时间戳
                {
                    Log.Error("AddPositions", "收到重复数据:" + key);
                }
                else
                {
                    posList2.Add(key, item);
                }
            }

            var posList3 = posList2.Values.ToList();

            //psCount+=posList3.Count;
            //Log.Info("FlushHistoryBuffer", "count:" + psCount);

            bool r1 = AddPositionToHistory(posList3);

            if (r1)
            {
                Log.Info("AddPositions", string.Format("插入 count:{0},r:{1}", posList2.Count, r1));
            }
            else
            {
                try
                {
                    Thread.Sleep(100);
                    if (ErrorMessage != null && ErrorMessage.Contains("Table has no partition for value"))
                    {
                        AddPartion(); //姑且尝试添加分区
                    }

                    //插入失败了,也要清空,不然数据会一直积累,插入重复相同的数据。
                    //怀疑,数据实际上是插入成功了的。
                    //怀疑,mysql连接池/线程池满了导致的插入失败。
                    Log.Error("AddPositions", string.Format("插入历史数据失败 count:{0},r:{1}", posList2.Count, r1));
                }
                catch (Exception ex)
                {
                    Log.Error("AddPositions", "Exception3:" + ex);
                }
            }
        }
Exemplo n.º 3
0
 /// <summary>
 /// Assigns a rating to warning based on custom library of ratings.
 /// </summary>
 /// <param name="library">Custom library of Warnings and ratings.</param>
 /// <returns name="Warning">Warning</returns>
 public Warning AssignRating(WarningLibrary library)
 {
     if (library.Ratings.ContainsKey(ErrorMessage))
     {
         Rating = library.Ratings[ErrorMessage];
     }
     else if (ErrorMessage.Contains("Design Option"))
     {
         Rating = 3;
     }
     return(this);
 }
        /// <summary>
        /// 验证是否有效
        /// </summary>
        /// <param name="value"></param>
        /// <returns></returns>
        public override bool IsValid(object value)
        {
            if (!base.IsValid(value))
            {
                return(false);
            }

            var mode = TextInputMode.All;

            if (AllowDot) //小数
            {
                mode = IsSigned ? TextInputMode.SignedFloat : TextInputMode.UnsignedFloat;
            }
            else //整数
            {
                mode = IsSigned ? TextInputMode.SignedInt : TextInputMode.UnsignedInt;
            }

            CustomFormat format   = null;
            double?      minValue = (MinValue > double.MinValue) ? MinValue : (double?)null;
            double?      maxValue = (MaxValue < double.MaxValue) ? MaxValue : (double?)null;

            if (DecimalPlace > 0 || minValue.HasValue || maxValue.HasValue)
            {
                format = CustomFormat.DecimalFormat(
                    decimalPlace: (DecimalPlace > 0 ? (uint?)DecimalPlace : null),
                    minValue: (minValue.HasValue ? (decimal?)minValue.Value : null),
                    maxValue: (maxValue.HasValue ? (decimal?)maxValue.Value : null));
            }

            ErrorMessage = InputHelper.ValidateInput(mode, value?.ToString().GetValue(), AllowZero, format);
            if (ErrorMessage.IsValid())
            {
                if (DecimalPlace > 0 && ErrorMessage.Contains(InputHelper.InvalidFormat))
                {
                    ErrorMessage = $"\"{Name.GetValue()}\"最多只能输入 {DecimalPlace} 位小数";
                }
                else
                {
                    ErrorMessage = $"\"{Name.GetValue()}\"{ErrorMessage}";
                }

                return(false);
            }

            if (!AllowEmpty && !(value?.ToString().IsValid() ?? false))
            {
                ErrorMessage = $"\"{Name.GetValue()}\"不能为空";
                return(false);
            }

            return(true);
        }
Exemplo n.º 5
0
        public bool IsTransactionNotFound()
        {
            if (ErrorCode == -5)
            {
                if (ErrorMessage == "No information available about transaction")
                {
                    return(true);
                }

                if (ErrorMessage.Contains("No such mempool or blockchain transaction"))
                {
                    return(true);
                }
            }

            return(false);
        }
        /// <summary>
        /// Updates the state of the helper based on the state of the request
        /// </summary>
        /// <param name="sender">The request</param>
        /// <param name="args">The new state of the request</param>
        protected void RequestStateChanged(object sender, BackgroundTransferEventArgs args)
        {
            if (args == null)
            {
                return;
            }
            TransferStatus status = args.Request.TransferStatus;

            switch (status)
            {
            case TransferStatus.None:
                State      = TransferRequestState.Pending;
                StatusText = ControlResources.StatusPending;
                break;

            case TransferStatus.Transferring:
                if (BytesTransferred <= 0)
                {
                    State = TransferRequestState.Pending;
                }
                else
                {
                    State = TransferType == TransferType.Upload ? TransferRequestState.Uploading : TransferRequestState.Downloading;
                }

                StatusText = TransferringStatusText();
                break;

            case TransferStatus.Waiting:
                State      = TransferRequestState.Waiting;
                StatusText = ControlResources.StatusWaiting;
                break;

            case TransferStatus.WaitingForWiFi:
                State      = TransferRequestState.Waiting;
                StatusText = ControlResources.StatusWaitingForWiFi;
                break;

            case TransferStatus.WaitingForExternalPower:
                State      = TransferRequestState.Waiting;
                StatusText = ControlResources.StatusWaitingForExternalPower;
                break;

            case TransferStatus.WaitingForExternalPowerDueToBatterySaverMode:
                State      = TransferRequestState.Waiting;
                StatusText = ControlResources.StatusWaitingForExternalPowerDueToBatterySaverMode;
                break;

            case TransferStatus.WaitingForNonVoiceBlockingNetwork:
                State      = TransferRequestState.Waiting;
                StatusText = ControlResources.StatusWaitingForNonVoiceBlockingNetwork;
                break;

            case TransferStatus.Paused:
                State      = TransferRequestState.Paused;
                StatusText = ControlResources.StatusPaused;
                break;

            case TransferStatus.Completed:
                if (_request.TransferError != null)
                {
                    ErrorMessage = _request.TransferError.Message;
                    State        = TransferRequestState.Failed;
                    StatusText   = ErrorMessage.Contains("canceled") ? ControlResources.StatusCancelled : ControlResources.StatusFailed;
                }
                else
                {
                    State      = TransferRequestState.Complete;
                    StatusText = ControlResources.StatusComplete;
                }
                break;

            case TransferStatus.Unknown:
                State      = TransferRequestState.Unknown;
                StatusText = ControlResources.StatusCancelled;
                break;
            }
        }