public void Remove() { SQLiteDatabase sqlDatabase = null; try { Globals dbHelp = new Globals(); dbHelp.OpenDatabase(); sqlDatabase = dbHelp.GetSQLiteDatabase(); if (sqlDatabase != null && sqlDatabase.IsOpen) { var sql = "DELETE FROM [Tracks] WHERE TrackID = " + TrackID.ToString(); sqlDatabase.ExecSQL(sql); Log.Info(TAG, "Remove: Removed Track with ID " + TrackID.ToString() + " successfully"); sqlDatabase.Close(); } else { Log.Error(TAG, "Remove: SQLite database is null or was not opened - remove failed"); } } catch (Exception e) { Log.Error(TAG, "Remove: Exception - " + e.Message); if (sqlDatabase != null && sqlDatabase.IsOpen) { sqlDatabase.Close(); } } }
public void AddTrail(TrackID pTrack, Rail pRail) { _actualRails[pTrack] = pRail; if (pTrack == TrackID.BoatToOcean) { _selected = _actualRails[TrackID.BoatToOcean]; } }
public void SetRail(TrackID pTrack) { if (_selected) { _selected.Refresh(); } _selected = _actualRails[pTrack]; _selected.Activate(); }
private void updateName() { if (!string.IsNullOrEmpty(VesselName)) { Name = VesselName; } else { Name = TrackID.ToString(); } }
public void UpdateJobCars() { jobCars.Clear(); jobCarsUsed.Clear(); jobConsists.Clear(); // jobConsistUsed = null; currentTracks.Clear(); List <Task> tasks = GetFirstUnfinishedTasks(); currentTasks = tasks.Count; foreach (Task t in tasks) { jobCars.AddRange(t.GetTaskData().cars); } foreach (Car c in jobCars) { jobCarsUsed[c] = false; } foreach (Car car in jobCars) { if (!jobCarsUsed[car]) { TrackID trackID = car.CurrentTrack?.ID; if (!SingletonBehaviour <IdGenerator> .Instance.logicCarToTrainCar.TryGetValue(car, out TrainCar trainCar)) { continue; } Trainset trainset = trainCar.trainset; foreach (TrainCar tc in trainset.cars) { Car c = tc.logicCar; if (c != null) { if (jobCarsUsed.ContainsKey(c)) { jobCarsUsed[c] = true; } if (trackID == null) { trackID = c.CurrentTrack?.ID; } } } jobConsists.Add(trainset); currentTracks.Add(trackID); } } }
public string GetID() { if (MMSI != 0) { return("MMSI:" + MMSI.ToString()); } else if (!string.IsNullOrEmpty(VesselName)) { return("Name:" + VesselName); } else { return("ID:" + TrackID.ToString()); } }
/// <summary> /// 查询显示用户信息 /// </summary> /// <param name="coll">传入参数</param> /// <returns>视图</returns> public ActionResult LibrayMgr(FormCollection coll) { this.trackID = TrackIdManager.GetInstance("shaoyu"); List <DisplayInfo> displayInfolist = new List <DisplayInfo>(); List <Bookinfo> bookinfoList = new List <Bookinfo>(); try { // 初始信息 if (coll.Count == 0) { QueryAllBook queryAllBook = new QueryAllBook(); displayInfolist = queryAllBook.GetAllBookInfo(); } else if (coll.Count > 0) { // 查询信息 if (Request.IsAjaxRequest()) { string bookname = coll["bookname"] != null ? coll["bookname"].Trim() : string.Empty; DisplayMgr displayMgr = new DisplayMgr(); // 模糊查询 displayInfolist = displayMgr.QueryByName(bookname); return(this.PartialView("BookList", displayInfolist)); } } } catch (AppException appexp) { return(this.View("Shared/Error", appexp.ToString())); } catch (Exception exp) { AppException appexp = new AppException(" 查询显示用户信息 ", exp, ExceptionLevel.Error); LogManager.Log.WriteException(appexp); return(this.View("Shared/Error", exp.ToString())); } finally { LogManager.Log.WriteUiAcc("shaoyu", "UserInfo", "shaoyu", "127.0.0.1", string.Empty, string.Empty, "查询显示用户信息", null); } return(this.View(displayInfolist)); }
public bool IsAllAccessTrack() { return(TrackID.StartsWith("T")); }
public TrackChangeEvent(double span, TrackID ID) : base(span) { this.ID = ID; }
public void Save() { SQLiteDatabase sqlDatabase = null; try { Globals dbHelp = new Globals(); dbHelp.OpenDatabase(); sqlDatabase = dbHelp.GetSQLiteDatabase(); if (sqlDatabase != null) { if (sqlDatabase.IsOpen) { ContentValues values = new ContentValues(); values.Put("PlayListID", PlayListID); values.Put("TrackName", TrackName.Trim()); values.Put("TrackArtist", TrackArtist.Trim()); values.Put("TrackDuration", TrackDuration); values.Put("TrackOrderNumber", TrackOrderNumber); values.Put("TrackUri", TrackUri.Trim()); if (IsNew) { TrackID = (int)sqlDatabase.Insert("Tracks", null, values); IsNew = false; IsDirty = false; } if (IsDirty) { string whereClause = "TrackID = ?"; sqlDatabase.Update("Tracks", values, whereClause, new string[] { TrackID.ToString() }); IsDirty = false; } sqlDatabase.Close(); } } } catch (Exception e) { Log.Error(TAG, "Save: Exception - " + e.Message); if (sqlDatabase != null && sqlDatabase.IsOpen) { sqlDatabase.Close(); } } }
/// <summary> /// Return the current status of the held job. /// </summary> /// <param name="index"></param> /// <returns></returns> public string GetFloatieText(int index) { switch (job.State) { case JobState.Available: if (jobNotAllowed) { return(jobNotAllowedText); } else if (jobConsists.Count > 1) { index %= jobConsists.Count; StringBuilder sb = new StringBuilder(string.Format("The cars for job {0} are currently in {1} different consists on tracks", job.ID, jobConsists.Count)); for (int i = 0; i < currentTracks.Count; i++) { if (i > 0 && currentTracks.Count > 2) { sb.Append(','); } if (i == currentTracks.Count - 1) { sb.Append(" and"); } sb.Append(' '); TrackID t = currentTracks[i]; if (i == index) { sb.AppendFormat("<color=#F29839>{0}</color>", t == null ? "(Unknown)" : t.TrackPartOnly); } else { sb.Append(t == null ? "(Unknown)" : t.TrackPartOnly); } } sb.Append('.'); return(sb.ToString()); } else if (jobConsists.Count == 1) { TrackID t = currentTracks[0]; bool locoHooked = PlayerManager.LastLoco?.trainset == jobConsists[0]; return(string.Format("The cars for job {0} are in the same consist on track <color=#F29839>{1}</color>{2}.", job.ID, t == null ? "(Unknown)" : t.TrackPartOnly, locoHooked ? " and have a locomotive attached" : "")); } else { return("The job cars could not be found... wtf?"); } case JobState.InProgress: // Pretty much the same thing as JobState.Available except no job eligibility checking. if (jobConsists.Count > 1) { index %= jobConsists.Count; StringBuilder sb = new StringBuilder(string.Format("The cars for job {0} are currently in {1} different consists on tracks", job.ID, jobConsists.Count)); for (int i = 0; i < currentTracks.Count; i++) { if (i > 0 && currentTracks.Count > 2) { sb.Append(','); } if (i == currentTracks.Count - 1) { sb.Append(" and"); } sb.Append(' '); TrackID t = currentTracks[i]; if (i == index) { sb.AppendFormat("<color=#F29839>{0}</color>", t == null ? "(Unknown)" : t.TrackPartOnly); } else { sb.Append(t == null ? "(Unknown)" : t.TrackPartOnly); } } sb.Append('.'); return(sb.ToString()); } else if (jobConsists.Count == 1) { TrackID t = currentTracks[0]; bool locoHooked = PlayerManager.LastLoco?.trainset == jobConsists[0]; return(string.Format("The cars for job {0} are in the same consist on track <color=#F29839>{1}</color>{2}.", job.ID, t == null ? "(Unknown)" : t.TrackPartOnly, locoHooked ? " and have a locomotive attached" : "")); } else if (currentTasks > 0) // No cars in sight but tasks are unfinished. { return("The job cars could not be found... wtf?"); } else // No cars in sight because no tasks found. { return("The job is probably complete. Try turning it in."); } case JobState.Completed: return("This job is completed."); case JobState.Abandoned: return("This job is abandoned."); case JobState.Failed: return("This job is failed."); case JobState.Expired: return("This job is expired."); default: return("This job state is unknown."); } }
protected virtual UriQuery GetUriQuery() { UriQuery query = new UriQuery(BaseUrl); query.Add("api_key", ApiKey); query.Add("format", "json"); if (!string.IsNullOrEmpty(Type)) { query.Add("type", Type); } if (ArtistID.Count() > 0) { foreach (Term artistId in ArtistID) { query.Add("artist_id", artistId); } } if (Artist.Count() > 0) { foreach (Term artist in Artist) { query.Add("artist", artist); } } if (SongID.Count() > 0) { foreach (Term songId in SongID) { query.Add("song_id", songId); } } if (TrackID.Count() > 0) { foreach (Term trackId in TrackID) { query.Add("track_id", trackId); } } if (Results.HasValue) { query.Add("results", Results.Value); } if (Bucket.HasValue) { foreach (string bucket in Bucket.Value.GetBucketDescriptions()) { query.Add("bucket", bucket); } } if (Limit.HasValue) { query.Add("limit", Limit.Value.ToString().ToLower()); } if (Dmca.HasValue) { query.Add("dmca", Dmca.Value.ToString().ToLower()); } return(query); }
/// <summary> /// 借书页面 /// </summary> /// <param name="coll">前台参数</param> /// <returns>借书 页面</returns> public ActionResult BorrowBook(FormCollection coll) { this.trackID = TrackIdManager.GetInstance("shaoyu"); return(this.View()); }
/// <summary> /// 重写方法 /// </summary> protected override void ExcuteMethod() { while (true) { try { bool isneedLock = true; MessagePipe.ExcuteWriteMessageEvent("517VPN客户端启动成功", Color.Green, false); VpnInfo vpnInfo = new VpnInfo(); ////获取账号 this.GetVpnAccount(ref isneedLock); if (VpnAccount != null && !string.IsNullOrEmpty(VpnAccount.KeyID)) { MessagePipe.ExcuteWriteMessageEvent("517VPN客户端获取到账号" + VpnAccount.Account, Color.Green, false); ////马上锁定账号,锁定成功过,才允许使用这个账号 bool lockAccountResult = vpnInfo.UpdateVpnAccountState(VpnAccount); if (lockAccountResult || !isneedLock) { MessagePipe.ExcuteShowAccountInfoEvent(VpnAccount.Account); MessagePipe.ExcuteWriteMessageEvent("517VPN客户端锁定账号:" + VpnAccount.Account + "成功", Color.Green, false); ////清空一下加载的数据 MessagePipe.ExcuteDelVpnServerInfoEvent("clear"); ////加载出所有可用的VPN服务器信息,先拿使用服务器为本机的IP List <MVPNServer> tempExceptionVpn = vpnInfo.GetLocalUsedVpnServer(VpnAccount.Provider); ProductVpnServers.AddRange(tempExceptionVpn); List <MVPNServer> tempValidVpn = this.GetAllValidVpnServer(VpnAccount.Provider); ProductVpnServers.AddRange(tempValidVpn); ////因为有可能因为异常退出,导致IP一直被占用,所以首先取使用IP为自己服务器的IP if (ProductVpnServers != null && ProductVpnServers.Count > 0) { MessagePipe.ExcuteBindVpnServerInfoEvent(ProductVpnServers); ////锁定成功,取一个可用的VPN服务器建立连接(人工切换IP会有影响,) foreach (var tempVpn in ProductVpnServers) { TrackID.GetInstance("517VPN"); ////////接收到暂停指令 ////if (SignalControl.Issuspend) ////{ //// ////等待解锁指令 //// SignalControl.WaitSignal.WaitOne(); ////} VpnServer = tempVpn; MessagePipe.ExcuteShowIpInfoEvent(tempVpn.Address); MessagePipe.ExcuteShowLinkInfoEvent("连接中..."); ////IP独占成功,方可连接 if (vpnInfo.UpdateVpnUseStatu(tempVpn) || tempVpn.UsingServer == new GetIP().GetLocalIp("本地连接")) { string msg = string.Empty; bool connectResult = this.IslinkVpnServer(VpnAccount, tempVpn); if (connectResult) { MessagePipe.ExcuteWriteMessageEvent("517客户端连接VPN:" + tempVpn.Address + "成功", Color.Green, false); MessagePipe.ExcuteShowLinkInfoEvent("连接成功"); ////建立连接成功过后,调用业务组件,如果业务组件需要更换VPN服务器,则删除现有连接,重新建立新连接 bool result = this.InvokeIpMonitor(); if (result) { ////需要替换IP,还原数据状态 vpnInfo.UpdateVpnIsValid(tempVpn); MessagePipe.ExcuteWriteMessageEvent("检测到" + tempVpn.Address + "被封,需要替换IP", Color.Green, false); } } else { msg = tempVpn.Provider + "|" + tempVpn.Address; vpnInfo.UpdateVpnLinkStatu(tempVpn); MessagePipe.ExcuteWriteMessageEvent(msg + "连接失败", Color.Red, false); } msg = tempVpn.Provider + "|" + tempVpn.Address; MessagePipe.ExcuteDelVpnServerInfoEvent(msg); ////连接失败,删除连接 if (VpnControlThread.VpnHelper != null) { ////退出之前关闭VPN bool disConnectResult = VpnControlThread.VpnHelper.TryDisConnectVPN(); VpnControlThread.VpnHelper.TryDeleteVPN(); MessagePipe.ExcuteShowLinkInfoEvent("未连接"); } } } ////表明这一轮可用IP已经使用完了,所以清空一下 ProductVpnServers.Clear(); } } else { MessagePipe.ExcuteWriteMessageEvent("517VPN客户端没有锁定到账号,休眠40秒", Color.Red, true); ////锁定失败,休眠一分钟 Thread.Sleep(TimeSpan.FromSeconds(40)); } } else { MessagePipe.ExcuteWriteMessageEvent("517VPN客户端没有获取到账号,休眠40秒", Color.Red, true); ////锁定失败,休眠一分钟 Thread.Sleep(TimeSpan.FromSeconds(40)); } } catch (Exception ex) { LogManager.Log.WriteException(new AppException("517VPN客户端主流程异常", ex, ExceptionLevel.Error)); MessagePipe.ExcuteWriteMessageEvent("517VPN主流程异常" + ex.Message.ToString(), Color.Red, false); } finally { Thread.Sleep(TimeSpan.FromSeconds(1)); } } }
public override int GetHashCode() { return(TrackID.GetHashCode()); }