示例#1
0
        public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
        {
            int    v = (int)value;
            string s = Utile.SecondToMinute(v);

            return(s);
        }
示例#2
0
        public ActionResult Index(Series list, string Seen)
        {
            if (ModelState.IsValid)
            {
                List <int> userId = db.Users.Where(u => u.Email == sessionEmail.Value).Select(u => u.ID).ToList();
                string     name   = Request.Form["name"];

                var dbSerial = db.Series.Create();
                dbSerial.User_ID = userId[0];
                dbSerial.Name    = name;

                dbSerial.PublicS = Convert.ToInt32(Request.Form["Public"]);
                dbSerial.Seen    = 0;

                string source = "Images/" + Utile.RemoveSpecialCharacters(name + Path.GetExtension(Request.Form["source"])).ToLower();
                dbSerial.Source = source;

                bool serialAlreadyExists = db.Series.Any(s => s.Source == source && s.Name == name);

                if (!string.IsNullOrEmpty(name) && !serialAlreadyExists)
                {
                    SaveImage(Request.Form["source"], name);
                    db.Series.Add(dbSerial);
                    db.SaveChanges();
                }
            }
            else
            {
                ModelState.AddModelError("", "Incorrect format has been placed");
            }
            return(View(db.Series.ToList()));
        }
        public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
        {
            object v = value;
            string t = parameter as string;

            if (t != null)
            {
                _converterUnit = t;
            }
            if (!string.IsNullOrWhiteSpace(_converterUnit))
            {
                switch (_converterUnit.ToUpper())
                {
                case "GHZ":
                    v = WMonitorUtile.ConvertFreqValue("hz", "ghz", System.Convert.ToDouble(value));
                    break;

                case "MHZ":
                    v = WMonitorUtile.ConvertFreqValue("hz", "mhz", System.Convert.ToDouble(value));
                    break;

                case "KHZ":
                    v = WMonitorUtile.ConvertFreqValue("hz", "khz", System.Convert.ToDouble(value));
                    break;

                case "HZ":
                    v = Utile.MathNoRound(System.Convert.ToDouble(value), 0);
                    break;
                }
            }
            return(v);
        }
示例#4
0
        /// <summary>
        /// 转换为扩展中频测量结果
        /// </summary>
        /// <param name="pDataFrame"></param>
        /// <param name="pParameter"></param>
        protected override void InternalConverter(RmtpDataFrame pDataFrame, object pParameter)
        {
            int index           = 0;
            var pDescribeHeader = pParameter as IffqexDescribeHeader;

            IfqexCount = BitConverter.ToInt16(pDataFrame.Data, index);
            频谱曲线点数     = BitConverter.ToInt32(pDataFrame.Data, index += 2);
            中心频率       = BitConverter.ToInt64(pDataFrame.Data, index += 4);
            中心点数据值     = BitConverter.ToInt16(pDataFrame.Data, index += 8);
            频谱数据类型     = BitConverter.ToInt16(pDataFrame.Data, index += 2);
            index     += 2;
            for (Int32 i = 0; i < 频谱曲线点数; i++)
            {
                if (index >= pDataFrame.Data.Length)
                {
                    System.Diagnostics.Debug.WriteLine("数据帧大小有问题");
                    return;
                }
                数据值[i] = (Int16)(BitConverter.ToInt16(pDataFrame.Data, index) / 100);  //因senser端做了乘100操作,这里做除100
                index += 2;
            }
            if (pDescribeHeader != null && pDescribeHeader.DataTypeList.Count == IfqexCount)
            {
                for (Int16 i = 0; i < IfqexCount; i++)
                {
                    pDescribeHeader.DataTypeList[i].Value = (float)Utile.MathNoRound(BitConverter.ToSingle(pDataFrame.Data, index), 3);
                    index += 4;
                }
            }
        }
示例#5
0
        void track_MouseMove(object sender, MouseEventArgs e)
        {
            if (_isDragCompleted)
            {
                _border.Visibility = Visibility.Visible;
            }

            Point p = e.GetPosition(_track);

            if (p.X + _border.Width / 2 < _track.ActualWidth)
            {
                _border.Margin = new Thickness(p.X - _border.Width / 2, 0, 0, 0);
            }
            else
            {
                _border.Margin = new Thickness(_track.ActualWidth - _border.Width, 0, 0, 0);
            }

            double s = _textBlock.ActualWidth;

            double scale               = p.X / _track.ActualWidth;
            int    dynamicValueTime    = (int)(scale * TotalTime);
            string dynamicValueTimeStr = Utile.SecondToMinute(dynamicValueTime);

            _textBlock.Text = dynamicValueTimeStr;
        }
示例#6
0
        public bool Load(byte[] pBuffer)
        {
            UInt32 fhval = BitConverter.ToUInt32(pBuffer, 0);

            if (fhval != Fh)
            {
                throw new Exception("帧头格式错误!");
            }
            int pos = Utile.SizeOf(Fh);

            Length = BitConverter.ToUInt16(pBuffer, pos);
            pos   += Utile.SizeOf(Length);

            int timestampLen = Timestamp.GetLength();

            byte[] timestampBuffer = new byte[timestampLen];
            Buffer.BlockCopy(pBuffer, pos, timestampBuffer, 0, timestampLen);
            Timestamp.Load(timestampBuffer);

            pos      += timestampLen;
            DataType  = (RmtpDataTypes)pBuffer[pos];
            pos      += 1;
            ChannelId = BitConverter.ToInt32(pBuffer, pos);
            pos      += 4;
            Tag       = BitConverter.ToInt32(pBuffer, pos);

            return(true);
        }
示例#7
0
 private void FormatAutoToolTipContent()
 {
     if (!string.IsNullOrEmpty(this.AutoToolTipFormat))
     {
         this.AutoToolTip.Content = string.Format(
             this.AutoToolTipFormat,
             Utile.SecondToMinute((int)Value));
         CurrTime = (int)(Value);
     }
 }
        // GET: ReservationController
        public async Task <ActionResult> History()
        {
            ViewBag.List = Utile.StatusToList();


            var list = await _context.Reservations
                       .Include(t => t.Reserv)
                       .Include(s => s.Student)
                       .OrderBy(r => r.Date)
                       .ToListAsync();

            return(View(list));
        }
        // GET: ReservationController
        public async Task <ActionResult> Index()
        {
            ViewBag.List = Utile.StatusToList();


            var list = await _context.Reservations
                       .Include(t => t.Reserv)
                       .Include(s => s.Student)
                       .OrderBy(r => r.Date)
                       .Where(r => r.Status == Status.Attente.ToString())
                       .ToListAsync();

            return(View("Index", list));
        }
示例#10
0
        public void SaveImage(string url, string filename)
        {
            byte[] data;
            string ext = string.Empty;

            ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls | SecurityProtocolType.Ssl3 | (SecurityProtocolType)3072;
            using (WebClient client = new WebClient())
            {
                data = client.DownloadData(url);
                ext  = Path.GetExtension(url);
            }
            try
            {
                System.IO.File.WriteAllBytes(Server.MapPath("Images/") + Utile.RemoveSpecialCharacters(filename).ToLower() + ext, data);
            }
            catch (Exception) { }
        }
示例#11
0
        public void Load(byte[] pBuffer)
        {
            WYear = BitConverter.ToInt16(pBuffer, 0);
            int pos = Utile.SizeOf(WYear);

            WMonth        = pBuffer[pos];
            pos          += 1;
            WDay          = pBuffer[pos];
            pos          += 1;
            WHour         = pBuffer[pos];
            pos          += 1;
            WMinute       = pBuffer[pos];
            pos          += 1;
            WSecond       = pBuffer[pos];
            pos          += 1;
            WMilliseconds = BitConverter.ToInt16(pBuffer, pos);
        }
        /// <summary>
        /// 显示等待信息
        /// </summary>
        /// <param name="pWaitMessage">等待消息</param>
        /// <param name="pOwner">表示拥有此窗体的所有者</param>
        /// <param name="pCanCancel">是否可以手动取消是否继续等待,默认 false </param>
        public static IWaitIndicatorEx WaitMessage(string pWaitMessage, UserControl pOwner, bool pCanCancel = false)
        {
            if (pOwner == null || pOwner.Parent == null)
            {
                return(null);
            }

            var waitIndicator = Utile.GetParent <IWaitIndicatorEx>(pOwner);

            if (waitIndicator == null)
            {
                return(null);
            }
            waitIndicator.WaitMessage          = pWaitMessage;
            waitIndicator.CanCancelWaitMessage = pCanCancel;
            if (string.IsNullOrWhiteSpace(pWaitMessage) && WaitMessageObjects.Contains(pOwner))
            {
                WaitMessageObjects.Remove(pOwner);
            }
            return(waitIndicator);
        }
        static void Main(string[] args)
        {
            try
            {
                Utile utile = new Utile();

                utile.SaveGetMyInvoices();
            }
            catch (UserInfoException e)
            {
                Console.ForegroundColor = ConsoleColor.Red;
                Console.WriteLine(e.Message);
                Thread.Sleep(3000);
                Console.ForegroundColor = ConsoleColor.White;
            }
            catch (Exception ex)
            {
                logger.Error(ex);
                Console.ForegroundColor = ConsoleColor.Red;
                Console.WriteLine("An unexpected error happend!");
                Thread.Sleep(3000);
                Console.ForegroundColor = ConsoleColor.White;
            }
        }
        public void Update()
        {
            if (!BeginValue.Equals(EndValue))
            {
                double vunit      = GetUnitValue();
                uint   defaultDec = DefaultDecLength;

                var valStrs = new List <string>();

start:
                valStrs.Clear();

                for (int i = 0; i < _scaleTextBlocks.Count; i++)
                {
                    double dv = Utile.MathNoRound(BeginValue + i * vunit, defaultDec);
                    if (double.IsNaN(dv))
                    {
                        return;
                    }

                    string v;
                    if (string.IsNullOrWhiteSpace(ValueFormat))
                    {
                        v = string.Format("{0:N" + defaultDec + "}", dv);
                        if (ScaleConvertValue != null)
                        {
                            var args = new ScaleValueConverterArgs(i, defaultDec, v);
                            ScaleConvertValue(args);
                            v = args.NewValue != null?args.NewValue.ToString() : string.Empty;
                        }
                    }
                    else
                    {
                        v = string.Format(ValueFormat, dv);
                    }

                    if (AutoExtendDec && defaultDec < MaxExtendDec)
                    {
                        foreach (var obj in valStrs)
                        {
                            if (obj.StartsWith(v))
                            {
                                defaultDec += 1;
                                goto start;
                            }
                        }
                    }

                    valStrs.Add(_scaleTextBlocks[i].Text);
                    _scaleTextBlocks[i].Text = v;
                }
            }

            for (int i = 0; i < _scaleTextBlocks.Count; i++)
            {
                switch (Direction)
                {
                case ScaleLabelDirection.Left:
                case ScaleLabelDirection.Right:

                    double h = _scaleTextBlocks[i].ActualHeight / 2;
                    if (i == 0)
                    {
                        _scaleTextBlocks[i].Margin = new Thickness(0, -h, 0, 0);
                    }
                    else if (i == ScaleLabelCount - 1)
                    {
                        _scaleTextBlocks[i].Margin = new Thickness(0, 0, 0, -h);
                    }

                    break;

                case ScaleLabelDirection.Bottom:
                case ScaleLabelDirection.Top:
                    double w = _scaleTextBlocks[i].ActualWidth / 2;
                    if (i == 0)
                    {
                        _scaleTextBlocks[i].Margin = new Thickness(-w, 0, 0, 0);
                    }
                    else if (i == ScaleLabelCount - 1)
                    {
                        _scaleTextBlocks[i].Margin = new Thickness(0, 0, -w, 0);
                    }

                    break;
                }
            }
        }
        /// <summary>
        /// 刻度更新
        /// </summary>
        private void UpdateScales()
        {
            if (_rangePanel == null)
            {
                return;
            }
            uint   defaultDec = DefaultDecLength;
            double vunit      = GetUnitValue();
            double unit       = GetUnitSize();
            var    valStrs    = new List <string>();

            if (BeginValue.Equals(EndValue))
            {
                for (int i = 0; i < ScaleLabelCount; i++)
                {
                    valStrs.Add("--:--:--");
                }
                UpdateScales2(Direction, valStrs, unit);
                return;
            }
            if (vunit.Equals(0) || unit.Equals(0))
            {
                return;
            }
start:
            valStrs.Clear();

            for (int i = 0; i < ScaleLabelCount; i++)
            {
                double dv = Utile.MathNoRound(BeginValue + i * vunit, defaultDec);
                if (double.IsNaN(dv))
                {
                    return;
                }
                string v;
                if (string.IsNullOrWhiteSpace(ValueFormat))
                {
                    v = string.Format("{0:N" + defaultDec + "}", dv);
                    if (ScaleConvertValue != null)
                    {
                        var args = new ScaleValueConverterArgs(i, defaultDec, v);
                        ScaleConvertValue(args);
                        v = args.NewValue != null?args.NewValue.ToString() : string.Empty;
                    }
                }
                else
                {
                    v = string.Format(ValueFormat, dv);
                }

                if (AutoExtendDec && defaultDec < MaxExtendDec)
                {
                    foreach (var obj in valStrs)
                    {
                        if (obj.StartsWith(v))
                        {
                            defaultDec += 1;
                            goto start;
                        }
                    }
                }
                valStrs.Add(v);
            }

            UpdateScales2(Direction, valStrs, unit);
        }
示例#16
0
 public int GetLength()
 {
     return(Utile.SizeOf(Fh) + Utile.SizeOf(Length) + Timestamp.GetLength() + 1 /*数据类型*/ + 4 /*设备通道号*/ + 4 /*标签(测量序号)*/);
 }
示例#17
0
 public int GetLength()
 {
     return(Utile.SizeOf(WYear) + Utile.SizeOf(WMonth) + Utile.SizeOf(WDay) + Utile.SizeOf(WHour) + Utile.SizeOf(WMinute) + Utile.SizeOf(WSecond) + Utile.SizeOf(WMilliseconds));
 }
示例#18
0
        private void OnGetResponse(IAsyncResult pAsyncResult)
        {
            try
            {
                var rpcState = (RpcState)pAsyncResult.AsyncState;
                if (rpcState == null)
                {
                    return;
                }
                HttpWebRequest webRequest = rpcState.WebRequest;
                if (webRequest == null)
                {
                    return;
                }

                rpcState.WebResponse = (HttpWebResponse)webRequest.EndGetResponse(pAsyncResult);
                using (Stream responseStream = rpcState.WebResponse.GetResponseStream())
                {
                    var reader     = new StreamReader(responseStream);
                    var readValues = reader.ReadToEnd();
                    if (!string.IsNullOrWhiteSpace(readValues))
                    {
                        var result = Utile.Deserialize <RpcResult>(readValues);
                        rpcState.RpcResult = result;
                    }
                }
                rpcState.WebResponse.Close();
                if (rpcState.SyncContext == null)
                {
                    return;
                }
                rpcState.SyncContext.Send(delegate(object pState)
                {
                    var rs = pState as RpcState;

                    if (rs != null &&
                        rs.RpcResult != null &&
                        rs.ResultCallback != null &&
                        (rs.ResultCallback.Target != null || rs.ResultCallback.Method.IsStatic))
                    {
                        if (!string.IsNullOrWhiteSpace(rs.OnlyOneCode) && rs.IsOnlyOne && _currentBatchInvokeCallbackObject == null)
                        {
                            lock (LockOnlyOne)
                            {
                                if (InvokeCountDic.ContainsKey(rs.OnlyOneCode))
                                {
                                    InvokeCountDic[rs.OnlyOneCode]--;
                                    if (InvokeCountDic[rs.OnlyOneCode] <= 0)
                                    {
                                        //单个调用完成回调
                                        rs.ResultCallback(rs.RpcResult);
                                        InvokeCountDic.Remove(rs.OnlyOneCode);
                                    }
                                }
                                else
                                {
                                    //单个调用完成回调
                                    rs.ResultCallback(rs.RpcResult);
                                }
                            }
                        }
                        else
                        {
                            //单个调用完成回调
                            rs.ResultCallback(rs.RpcResult);
                        }
                        //批量调用完成回调入口
                        BatchInvokeCallbackObject batchInvokeCallbackObject = rs.BatchInvokeCallbackObject;
                        if (batchInvokeCallbackObject != null)
                        {
                            batchInvokeCallbackObject.RemoveInvokeCount(rs.RpcResult.Checking() ? null : rs.RpcResult);
                        }
                    }
                }, rpcState);
            }
            catch (Exception ex)
            {
                //XGZ:发生异常时如何处理?
                //if (webRequest != null && webRequest.RequestUri != null)
                //{
                //    ExceptionHandler(rpcState, new Exception(webRequest.RequestUri.ToString(), ex));
                //}
                //else
                //{
                //    ExceptionHandler(rpcState, ex);
                //}
            }
        }