Example #1
0
        public override int GetHashCode()
        {
            int hash = 1;

            if (header_ != null)
            {
                hash ^= Header.GetHashCode();
            }
            if (Model != 0)
            {
                hash ^= Model.GetHashCode();
            }
            if (Mode != 0)
            {
                hash ^= Mode.GetHashCode();
            }
            hash ^= firingPkts_.GetHashCode();
            hash ^= positioningPkts_.GetHashCode();
            if (Sn.Length != 0)
            {
                hash ^= Sn.GetHashCode();
            }
            if (Basetime != 0UL)
            {
                hash ^= Basetime.GetHashCode();
            }
            return(hash);
        }
Example #2
0
		public ExprBinaryOp (MethodInfo methodInfo, Expr left, Expr right, Sn signage)
			: base (methodInfo)
		{
			this.Left = left;
			this.Right = right;
			this.Signage = signage;
		}
Example #3
0
        public override int GetHashCode()
        {
            int hash = 1;

            if (Sn != 0UL)
            {
                hash ^= Sn.GetHashCode();
            }
            if (Name.Length != 0)
            {
                hash ^= Name.GetHashCode();
            }
            if (base_ != null)
            {
                hash ^= Base.GetHashCode();
            }
            if (misc_ != null)
            {
                hash ^= Misc.GetHashCode();
            }
            if (_unknownFields != null)
            {
                hash ^= _unknownFields.GetHashCode();
            }
            return(hash);
        }
 public ExprBinaryOp(MethodInfo methodInfo, Expr left, Expr right, Sn signage)
     : base(methodInfo)
 {
     this.Left    = left;
     this.Right   = right;
     this.Signage = signage;
 }
Example #5
0
 protected override void MessageRecieved(object sender, byte[] recievedMessage)
 {
     ResponseTemp = ResponseTemp + Encoding.ASCII.GetString(recievedMessage);;
     if (ResponseTemp.Contains("\r"))
     {
         Sn = string.Empty;
         Sn = ResponseTemp.Replace("\r", "");
         Sn = Sn.Replace("\n", "");
         OnSnRecieved(Sn);
         ResponseTemp = string.Empty;
         ResponseEvent.Set();
     }
 }
Example #6
0
        public CustomJsonResult Run()
        {
            CustomJsonResult result = new CustomJsonResult();


            var merchantPosMachines = CurrentDb.MerchantPosMachine.Where(m => m.ExpiryTime < DateTime.Now).ToList();

            Log.InfoFormat("到期的机器数量有:{0}", merchantPosMachines.Count);

            foreach (var merchantPosMachine in merchantPosMachines)
            {
                merchantPosMachine.Status = Enumeration.MerchantPosMachineStatus.Expiry;

                var orderToServiceFee = CurrentDb.OrderToServiceFee.Where(m => m.Status == Enumeration.OrderStatus.WaitPay && m.Type == Entity.Enumeration.OrderType.PosMachineServiceFee && m.UserId == merchantPosMachine.UserId && m.MerchantId == merchantPosMachine.MerchantId && m.PosMachineId == merchantPosMachine.PosMachineId).FirstOrDefault();
                if (orderToServiceFee == null)
                {
                    CalculateServiceFee calculateServiceFee = new CalculateServiceFee();

                    orderToServiceFee = new OrderToServiceFee();

                    orderToServiceFee.MerchantId       = merchantPosMachine.MerchantId;
                    orderToServiceFee.PosMachineId     = merchantPosMachine.PosMachineId;
                    orderToServiceFee.UserId           = merchantPosMachine.UserId;
                    orderToServiceFee.SubmitTime       = this.DateTime;
                    orderToServiceFee.Type             = Enumeration.OrderType.PosMachineServiceFee;
                    orderToServiceFee.TypeName         = Enumeration.OrderType.PosMachineServiceFee.GetCnName();
                    orderToServiceFee.Deposit          = 0;
                    orderToServiceFee.MobileTrafficFee = calculateServiceFee.MobileTrafficFee;
                    orderToServiceFee.PriceVersion     = calculateServiceFee.Version;
                    orderToServiceFee.Price            = calculateServiceFee.MobileTrafficFee;
                    orderToServiceFee.Status           = Enumeration.OrderStatus.WaitPay;
                    orderToServiceFee.CreateTime       = this.DateTime;
                    orderToServiceFee.Creator          = 0;
                    CurrentDb.OrderToServiceFee.Add(orderToServiceFee);
                    CurrentDb.SaveChanges();

                    SnModel snModel = Sn.Build(SnType.OrderToServiceFee, orderToServiceFee.Id);
                    orderToServiceFee.Sn = snModel.Sn;
                    orderToServiceFee.TradeSnByWechat = snModel.TradeSnByWechat;
                    orderToServiceFee.TradeSnByAlipay = snModel.TradeSnByAlipay;

                    Log.InfoFormat("生成待支付订单号:{0}", orderToServiceFee.Sn);
                }

                SysFactory.SysItemCacheUpdateTime.UpdateUser(orderToServiceFee.UserId);

                CurrentDb.SaveChanges();
            }

            return(result);
        }
        private void btnHitungAritmetika_Click(object sender, RoutedEventArgs e)
        {
            double a, b, n, Un, Sn;

            a = double.Parse(txtBoxAritmetikaA.Text);
            b = double.Parse(txtBoxAritmetikaB.Text);
            n = double.Parse(txtBoxAritmetikaN.Text);

            Un = Fungsi.deretAritmetikaUn(a, b, n);
            Sn = Fungsi.deretAritmetikaSn(a, n, Un);

            lblHasilUnAritmetika.Content = Un.ToString();
            lblHasilSnAritmetika.Content = Sn.ToString();
        }
Example #8
0
        //public int Count { get; set; }

        public byte[] ToBytes()
        {
            var list = new List <byte>();

            list.Add(Head);
            list.AddRange(BitConverter.GetBytes(5 + Content.Length).Take(2));

            list.Add(byte.Parse(Sn.Substring(0, 2), NumberStyles.HexNumber));
            list.Add(byte.Parse(Sn.Substring(2, 2), NumberStyles.HexNumber));
            list.Add(byte.Parse(Sn.Substring(4, 2), NumberStyles.HexNumber));
            list.Add(byte.Parse(Sn.Substring(6, 2), NumberStyles.HexNumber));

            list.Add(Ctrl);
            list.AddRange(Content);
            list.Add(CmdHelper.GetCRC(list.Skip(3).ToArray()));
            list.Add(End);
            return(list.ToArray());
        }
Example #9
0
        public void Insert()
        {
            string query = "INSERT INTO student_info (SN, Password, EntryDate, Level, Status,"
                           + " CourseCode, Major, LastName, FirstName, MiddleName,"
                           + " Address, Sex, BirthDate, BirthPlace, Citizenship, Religion, ContactNo)"
                           + " VALUES"
                           + " (@SN, @Password, @EntryDate, @Level, @Status, @CourseCode, @Major, @LastName, @FirstName, @MiddleName, @Address, @Sex, @BirthDate, @BirthPlace, @Citizenship, @Religion, @ContactNo);";

            try
            {
                using (MySqlConnection myConn = new MySqlConnection(connection))
                    using (MySqlCommand myCommand = new MySqlCommand(query, myConn))
                    {
                        myCommand.Parameters.AddWithValue("@SN", this.Sn.ToString());
                        myCommand.Parameters.AddWithValue("@Password", this.Password.ToString());
                        myCommand.Parameters.AddWithValue("@EntryDate", this.EntryDate.ToString());
                        myCommand.Parameters.AddWithValue("@Level", this.Level.ToString());
                        myCommand.Parameters.AddWithValue("@Status", this.Status.ToString());
                        myCommand.Parameters.AddWithValue("@CourseCode", this.Course.ToString());
                        myCommand.Parameters.AddWithValue("@Major", this.Major.ToString());
                        myCommand.Parameters.AddWithValue("@LastName", this.LastName.ToString());
                        myCommand.Parameters.AddWithValue("@FirstName", this.FirstName.ToString());
                        myCommand.Parameters.AddWithValue("@MiddleName", this.MiddleName.ToString());
                        myCommand.Parameters.AddWithValue("@Address", this.Address.ToString());
                        myCommand.Parameters.AddWithValue("@Sex", this.Sex.ToString());
                        myCommand.Parameters.AddWithValue("@BirthDate", this.Bday.ToString());
                        myCommand.Parameters.AddWithValue("@BirthPlace", this.Bplace.ToString());
                        myCommand.Parameters.AddWithValue("@Citizenship", this.Citizenship.ToString());
                        myCommand.Parameters.AddWithValue("@Religion", this.Religion.ToString());
                        myCommand.Parameters.AddWithValue("@ContactNo", this.Contact.ToString());

                        myCommand.CommandTimeout = 60;
                        myConn.Open();
                        int affectedRows = myCommand.ExecuteNonQuery();
                        MessageBox.Show("Student account registered\nSN: " + Sn.ToString(), "Successful");
                    }
            }
            catch (Exception e)
            {
                MessageBox.Show(e.Message);
            }
        }
Example #10
0
        public void Update()
        {
            string query = "UPDATE `student_info` SET `Password` = @Password, `EntryDate` = @EntryDate, `Level` = @Level,"
                           + "`Status` = @Status, `CourseCode` = @CourseCode, `Major` = @Major, `LastName` = @LastName, "
                           + "`FirstName` = @FirstName, `MiddleName` = @MiddleName, `Address` = Address, `Sex` = @Sex, "
                           + "`BirthDate` = @BirthDate, `BirthPlace` = @BirthPlace, `Citizenship` = @Citizenship, "
                           + "`Religion` = @Religion, `ContactNo` = @ContactNo WHERE `student_info`.`SN` = @SN;";

            try
            {
                using (MySqlConnection myConn = new MySqlConnection(connection))
                    using (MySqlCommand myCommand = new MySqlCommand(query, myConn))
                    {
                        myCommand.Parameters.AddWithValue("@SN", this.Sn.ToString());
                        myCommand.Parameters.AddWithValue("@Password", this.Password.ToString());
                        myCommand.Parameters.AddWithValue("@EntryDate", this.EntryDate.ToString());
                        myCommand.Parameters.AddWithValue("@Level", this.Level.ToString());
                        myCommand.Parameters.AddWithValue("@Status", this.Status.ToString());
                        myCommand.Parameters.AddWithValue("@CourseCode", this.Course.ToString());
                        myCommand.Parameters.AddWithValue("@Major", this.Major.ToString());
                        myCommand.Parameters.AddWithValue("@LastName", this.LastName.ToString());
                        myCommand.Parameters.AddWithValue("@FirstName", this.FirstName.ToString());
                        myCommand.Parameters.AddWithValue("@MiddleName", this.MiddleName.ToString());
                        myCommand.Parameters.AddWithValue("@Address", this.Address.ToString());
                        myCommand.Parameters.AddWithValue("@Sex", this.Sex.ToString());
                        myCommand.Parameters.AddWithValue("@BirthDate", this.Bday.ToString());
                        myCommand.Parameters.AddWithValue("@BirthPlace", this.Bplace.ToString());
                        myCommand.Parameters.AddWithValue("@Citizenship", this.Citizenship.ToString());
                        myCommand.Parameters.AddWithValue("@Religion", this.Religion.ToString());
                        myCommand.Parameters.AddWithValue("@ContactNo", this.Contact.ToString());

                        myCommand.CommandTimeout = 60;
                        myConn.Open();
                        int affectedRows = myCommand.ExecuteNonQuery();
                        MessageBox.Show("Student Information Updated\nSN:" + Sn.ToString(), "Successful");
                    }
            }
            catch (Exception e)
            {
                MessageBox.Show(e.Message);
            }
        }
Example #11
0
        public void Delete()
        {
            string query = "DELETE FROM `student_info` WHERE `student_info`.`SN` = @SN";

            try
            {
                using (MySqlConnection myConn = new MySqlConnection(connection))
                    using (MySqlCommand myCommand = new MySqlCommand(query, myConn))
                    {
                        myCommand.Parameters.AddWithValue("@SN", this.Sn.ToString());

                        myCommand.CommandTimeout = 60;
                        myConn.Open();
                        int affectedRows = myCommand.ExecuteNonQuery();
                        MessageBox.Show("Student Info Deleted\nSN:" + Sn.ToString(), "Successful");
                    }
            }
            catch (Exception e)
            {
                MessageBox.Show(e.Message);
            }
        }
        public void Runcal()
        {
            string sn_no = "";

            Output("Start...");

            if (!GetVi())
            {
                Config_Lable(buttonStart, "开始", Color.White);
                //buttonStart.Text = "Start";
                //buttonStart.Update();
                return;
            }
            Thread.Sleep(1000);

            while (true)
            {
                Checkdevice(out string Sn);
                if (Sn.Equals("") || Sn.Equals(sn_no))
                {
                    if (Sn.Equals(""))
                    {
                        Config_Lable(Result, "等待中", Color.Orange);
                    }

                    //buttonStart.Text = "Start";
                    //buttonStart.Update();
                    Output("Wait For new device ....");
                    Thread.Sleep(3000);

                    continue;
                }
                else
                {
                    Config_Lable(Result, "校准中", Color.Orange);
                    Config_Lable(c2000, "待校准", Color.Orange);
                    Config_Lable(c1040, "待校准", Color.Orange);
                    Config_Lable(c800, "待校准", Color.Orange);
                    Config_Lable(c500, "待校准", Color.Orange);

                    /*
                     * Result.Text = "校准中";
                     * Result.BackColor = Color.Orange;
                     * c2000.Text = "Waiting";
                     * c2000.BackColor = Color.Orange;
                     * c1040.Text = "Waiting";
                     * c1040.BackColor = Color.Orange;
                     * c800.Text = "Waiting";
                     * c800.BackColor = Color.Orange;
                     * c500.Text = "Waiting";
                     * c500.BackColor = Color.Orange;
                     */
                    sn_no = Sn;
                    Output("Find device " + Sn);
                }
                try
                {
                    if (Config("limit.bat", "", 1))
                    {
                        bool IsSuccess = CalibCurrent();
                        if (!Config("limit.bat", "", 0))
                        {
                            Config_Lable(Result, "失败", Color.Orange);
                            // Result.Text = "Fail";
                            //Result.BackColor = Color.Orange;
                        }
                        else
                        {
                            if (IsSuccess)
                            {
                                Config_lable(Result, true);
                            }
                            else
                            {
                                Config_lable(Result, false);
                            }
                        }
                    }
                }
                catch (ThreadAbortException)
                {
                    Setdata(0, 0, rege: "0A 0B ");
                    Output("校准中止。");
                    Config("limit.bat", "", 0);
                    break;
                }
                catch (Exception er)
                {
                    Output(er.Message);
                    Config("limit.bat", "", 0);
                    break;
                }
            }
            Config_Lable(c2000, "待校准", Color.Orange);
            Config_Lable(c1040, "待校准", Color.Orange);
            Config_Lable(c800, "待校准", Color.Orange);
            Config_Lable(c500, "待校准", Color.Orange);
            Config_Lable(buttonStart, "开始", Color.White);
            //Visa32.viClose(Vi);
            // buttonStart.Text = "Start";
            //Visa32.viClose(Vi);
            //buttonStart.Update();
        }
Example #13
0
 public ExprBinaryOpComparison(MethodInfo methodInfo, Expr left, Expr right, Sn signage)
     : base(methodInfo, left, right, signage)
 {
 }
Example #14
0
		public ExprCompareGreaterThan CompareGreaterThan (Expr left, Expr right, Sn signage)
		{
			return new ExprCompareGreaterThan (this.methodInfo, left, right, signage);
		}
Example #15
0
		public ExprSub Sub (Expr left, Expr right, Sn signage, bool overflow)
		{
			return new ExprSub (this.methodInfo, left, right, signage, overflow);
		}
Example #16
0
 public ExprSub(MethodInfo methodInfo, Expr left, Expr right, Sn signage, bool overflow)
     : base(methodInfo, left, right, signage, overflow)
 {
 }
Example #17
0
 public ExprBinaryOpArithmetic(MethodInfo methodInfo, Expr left, Expr right, Sn signage, bool overflow)
     : base(methodInfo, left, right, signage)
 {
     this.Overflow = overflow;
 }
Example #18
0
		public ExprBinaryOpArithmetic (MethodInfo methodInfo, Expr left, Expr right, Sn signage, bool overflow)
			: base (methodInfo, left, right, signage)
		{
			this.Overflow = overflow;
		}
 public ExprSub Sub(Expr left, Expr right, Sn signage, bool overflow)
 {
     return(new ExprSub(this.methodInfo, left, right, signage, overflow));
 }
Example #20
0
		public ExprCompareGreaterThan (MethodInfo methodInfo, Expr left, Expr right, Sn signage)
			: base (methodInfo, left, right, signage)
		{
		}
        public CustomJsonResult Run()
        {
            CustomJsonResult result = new CustomJsonResult();


            int operater = 0;

            using (TransactionScope ts = new TransactionScope())
            {
                var posMachines = CurrentDb.PosMachine.Where(m => m.IsUse == false).ToList();

                Log.InfoFormat("准备生成商户账号{0}个", posMachines.Count());

                for (int i = 0; i < posMachines.Count; i++)
                {
                    var sysClientUser = new SysClientUser();
                    sysClientUser.UserName          = Guid.NewGuid().ToString().Replace("-", "");
                    sysClientUser.PasswordHash      = PassWordHelper.HashPassword("888888");
                    sysClientUser.SecurityStamp     = Guid.NewGuid().ToString();
                    sysClientUser.RegisterTime      = this.DateTime;
                    sysClientUser.CreateTime        = this.DateTime;
                    sysClientUser.Creator           = operater;
                    sysClientUser.ClientAccountType = Enumeration.ClientAccountType.MasterAccount;
                    sysClientUser.Status            = Enumeration.UserStatus.Normal;

                    CurrentDb.SysClientUser.Add(sysClientUser);
                    CurrentDb.SaveChanges();

                    var clientCode = CurrentDb.SysClientCode.Where(m => m.Id == sysClientUser.Id).FirstOrDefault();
                    if (clientCode == null)
                    {
                        Log.WarnFormat("生成商户账号{0}个", i + 1);
                        throw new Exception("客户代码已经用完,请马上生成客户代码");
                    }

                    sysClientUser.ClientCode = clientCode.Code;
                    sysClientUser.UserName   = clientCode.Code;

                    var merchant = new Merchant();
                    merchant.ClientCode = clientCode.Code;
                    merchant.UserId     = sysClientUser.Id;
                    merchant.CreateTime = this.DateTime;
                    merchant.Creator    = operater;
                    merchant.Status     = Enumeration.MerchantStatus.WaitFill;
                    CurrentDb.Merchant.Add(merchant);
                    CurrentDb.SaveChanges();

                    sysClientUser.MerchantId = merchant.Id;


                    posMachines[i].IsUse          = true;
                    posMachines[i].LastUpdateTime = this.DateTime;
                    posMachines[i].Mender         = operater;
                    CurrentDb.SaveChanges();

                    var bankCard = new BankCard();
                    bankCard.MerchantId = merchant.Id;
                    bankCard.UserId     = merchant.UserId;
                    bankCard.CreateTime = this.DateTime;
                    bankCard.Creator    = operater;
                    CurrentDb.BankCard.Add(bankCard);
                    CurrentDb.SaveChanges();

                    var merchantPosMachine = new MerchantPosMachine();
                    merchantPosMachine.PosMachineId = posMachines[i].Id;
                    merchantPosMachine.BankCardId   = bankCard.Id;
                    merchantPosMachine.UserId       = sysClientUser.Id;
                    merchantPosMachine.MerchantId   = merchant.Id;
                    merchantPosMachine.Status       = Enumeration.MerchantPosMachineStatus.NoActive;
                    merchantPosMachine.CreateTime   = this.DateTime;
                    merchantPosMachine.Creator      = operater;
                    merchantPosMachine.Deposit      = posMachines[i].Deposit;
                    merchantPosMachine.Rent         = posMachines[i].Rent;
                    CurrentDb.MerchantPosMachine.Add(merchantPosMachine);
                    CurrentDb.SaveChanges();

                    var fund = new Fund();
                    fund.UserId     = sysClientUser.Id;
                    fund.Arrearage  = 0;
                    fund.Balance    = 0;
                    fund.CreateTime = this.DateTime;
                    fund.Creator    = operater;
                    fund.MerchantId = merchant.Id;
                    CurrentDb.Fund.Add(fund);
                    CurrentDb.SaveChanges();



                    var orderToDepositRent = new OrderToDepositRent();
                    orderToDepositRent.MerchantId   = merchant.Id;
                    orderToDepositRent.PosMachineId = posMachines[i].Id;
                    orderToDepositRent.UserId       = sysClientUser.Id;
                    orderToDepositRent.CreateTime   = this.DateTime;
                    orderToDepositRent.Creator      = 0;
                    orderToDepositRent.SubmitTime   = this.DateTime;
                    orderToDepositRent.ProductType  = Enumeration.ProductType.PosMachineDepositRent;
                    orderToDepositRent.ProductName  = Enumeration.ProductType.PosMachineDepositRent.GetCnName();
                    orderToDepositRent.ProductId    = (int)Enumeration.ProductType.PosMachineDepositRent;

                    orderToDepositRent.Deposit = posMachines[i].Deposit;

                    CalculateRent calculateRent = new CalculateRent(merchantPosMachine.Rent);

                    orderToDepositRent.RentMonths  = 3;
                    orderToDepositRent.MonthlyRent = calculateRent.MonthlyRent;
                    orderToDepositRent.RentVersion = calculateRent.Version;
                    orderToDepositRent.RentTotal   = calculateRent.GetRent(orderToDepositRent.RentMonths);

                    orderToDepositRent.Price = posMachines[i].Deposit + orderToDepositRent.RentTotal;

                    orderToDepositRent.Status = Enumeration.OrderStatus.WaitPay;
                    CurrentDb.OrderToDepositRent.Add(orderToDepositRent);
                    CurrentDb.SaveChanges();
                    orderToDepositRent.Sn = Sn.Build(SnType.DepositRent, orderToDepositRent.Id);


                    CurrentDb.SaveChanges();

                    Log.InfoFormat("生成商户账号:{0},对应POS机DeviceId:{1}", clientCode.Code, posMachines[i].DeviceId);
                }

                ts.Complete();

                Log.InfoFormat("生成商户账号{0}个", posMachines.Count());
            }

            return(result);
        }
Example #22
0
		public ExprBinaryOpComparison (MethodInfo methodInfo, Expr left, Expr right, Sn signage)
			: base (methodInfo, left, right, signage)
		{
		}
Example #23
0
		public ExprSub (MethodInfo methodInfo, Expr left, Expr right, Sn signage, bool overflow)
			: base (methodInfo, left, right, signage, overflow)
		{
		}
Example #24
0
 public ExprCompareLessThan(MethodInfo methodInfo, Expr left, Expr right, Sn signage)
     : base(methodInfo, left, right, signage)
 {
 }
 public ExprCompareGreaterThan CompareGreaterThan(Expr left, Expr right, Sn signage)
 {
     return(new ExprCompareGreaterThan(this.methodInfo, left, right, signage));
 }
Example #26
0
        private void TB_搜尋_TextChanged(object sender, TextChangedEventArgs e)
        {
            if (TB_搜尋.Text.Length == 5 || TB_搜尋.Text.Length > 40)
            {
                int Sn;
                if (!int.TryParse(TB_搜尋.Text, out Sn))
                {
                    if (TB_搜尋.Text.Contains("sn="))
                    {
                        var s = TB_搜尋.Text.Substring(TB_搜尋.Text.IndexOf("sn=") + 3);
                        if (!int.TryParse(s, out Sn))
                        {
                            WPFMessageBox.Show("不是正確的連結格式。");
                            return;
                        }
                    }
                    else
                    {
                        WPFMessageBox.Show("不是正確的連結格式。");
                        return;
                    }
                }

                Model.BahaModel Baha = new Model.BahaModel();

                if (Local.ProxyIP != "" && Local.ProxyPort != 0) //如果有設定Proxy
                {
                    WebRequest.Proxy = new System.Net.WebProxy(Local.ProxyIP, Local.ProxyPort);

                    if (Local.ProxyUser != "")
                    {
                        System.Net.ServicePointManager.Expect100Continue = false;
                        WebRequest.Proxy.UseDefaultCredentials           = true;
                        WebRequest.Proxy.Credentials = new System.Net.NetworkCredential(Local.ProxyUser, Local.ProxyPass);
                    }
                }

                Baha.SN   = Sn.ToString();
                Baha.Name = WebRequest.GetTitle(Baha.SN).Split('-')[0];

                if (Baha.Name == "")
                {
                    return;
                }
                if (Baha.Name == "巴哈姆特電玩資訊站")
                {
                    WPFMessageBox.Show("找不到SN為" + Baha.SN + "的影片資料。");
                    return;
                }

                if (VideoList.Where(I => I.SN == Baha.SN).Count() > 0)
                {
                    WPFMessageBox.Show("此影片 " + Baha.Name + " 己經在清單中...");
                    return;
                }

                if (File.Exists(Local.AniDir + "\\" + Baha.Name + ".mp4"))
                {
                    if (WPFMessageBox.Show("在下載資料夾裡己經有同樣名稱為 " + Baha.Name + " 的影片,是否要重新下載?"  , WPFMessageBoxButton.YesNo) == WPFMessageBoxResult.No)
                    {
                        return;
                    }
                }

                Baha.Status = "排隊中...";

                if (VideoList.Count > 0)
                {
                    Baha.No = VideoList.Max(I => I.No) + 1;
                }
                else
                {
                    Baha.No = 1;
                }
                Baha.Quality = Local.Quality;

                VideoList.Add(Baha);
                DataGrid_清單.ItemsSource = null;
                DataGrid_清單.ItemsSource = VideoList;

                處理下載();
                TB_搜尋.Text = "";
            }
        }