/// <summary> /// конструктор основної форми /// ініціалізовує стандартні елементи і делегати та зчитує налаштування параметрів чи створює новий файл з параметрами по замовчуванню(для першого запуску) /// </summary> public Form1() { InitializeComponent(); //додаємо делегат на зміну стану сесії для відслідковування стану обліковго запису - заблоковано/активно SystemEvents.SessionSwitch += new SessionSwitchEventHandler(SystemEvents_SessionSwitch); Radius = 10; Lock = false; //перевіряємо чи існує файл з налашуваннями if (File.Exists("Settings")) { using (StreamReader stream = new StreamReader("Settings")) { //для існуючого файлу читаємо параметри SleepTime = Convert.ToInt32(stream.ReadLine()); CheckTime = Convert.ToInt32(stream.ReadLine()); Radius = Convert.ToInt32(stream.ReadLine()); } } else { //якщо файлу нема створюємо новий і вносимо значення по замовчуванню FileStream f = File.Open("Settings", FileMode.Create); f.Close(); using (StreamWriter stream = new StreamWriter("Settings")) { stream.WriteLine(SleepTime.ToString()); stream.WriteLine(CheckTime.ToString()); stream.WriteLine(Radius.ToString()); } } }
private void Start() { uint startTime = DataModel.Common.ConvertLinuxTime(dateTimeStart.Value); uint endTime = DataModel.Common.ConvertLinuxTime(dateTimeEnd.Value); CheckTime ret = DataModel.Common.CheckDataTime(dateTimeStart.Value, dateTimeEnd.Value); if (ret == CheckTime.START_INVALID) { MessageBox.Show("开始时间不正常!"); return; } else if (ret == CheckTime.END_INVALID) { MessageBox.Show("结束时间不正常!"); return; } try { m_crowdVM.Start(startTime, endTime, cameraItem); } catch (SDKCallException ex) { //请求出错 终止线程 m_crowdVM.Stop(); MessageBoxEx.Show("大客流历史-查询错误[" + ex.ErrorCode + "]:" + ex.Message, Framework.Environment.PROGRAM_NAME, MessageBoxButtons.OK, MessageBoxIcon.Asterisk); MyLog4Net.Container.Instance.Log.Debug("ucCrowdHistory searchBtn_Click" + ex.ToString()); } }
private void searchBtn_Click(object sender, EventArgs e) { if (!ucTrafficCameraTree1.IsHasChecked) { MessageBox.Show("请选择一个监测点"); return; } //设置时间 uint startTime = DataModel.Common.ConvertLinuxTime(dateTimeStart.Value); uint endTime = DataModel.Common.ConvertLinuxTime(dateTimeEnd.Value); CheckTime ret = DataModel.Common.CheckDataTime(dateTimeStart.Value, dateTimeEnd.Value); if (ret == CheckTime.START_INVALID) { MessageBox.Show("开始时间不正常!"); return; } else if (ret == CheckTime.END_INVALID) { MessageBox.Show("结束时间不正常!"); return; } if (endTime - startTime > 24 * 60 * 60) { MessageBox.Show("时间跨度不能大于一天!"); return; } noDataLabel.Visible = false; //设置ID m_cameraIDList = ucTrafficCameraTree1.GetCheckTCameraIDList(); //开始查询 m_vm.Search(m_cameraIDList, startTime, endTime); this.searchBtn.Enabled = false; }
public void RegisterUserFailed() { // Arrange IRepositoryUser fakeRepositoryUser = new FakeUserRepository(); IEmailManger fakeEmailManger = new FakeEMailManger(); IReadFromBrowser fakeReadCookie = new FakeReadCookie(); IWriteToBrowser fakeWriteCookie = new FakeWriteCookie(); ICheckTime checkTime = new CheckTime(); ILogger fakeLogger = new FakeLogger(); Register register1 = new Register() { UserName = "******", Email = "*****@*****.**", Password = "******", FirstName = "Retif", LastName = "Teruy" }; RegisterController loginController = new RegisterController (fakeRepositoryUser, checkTime, fakeReadCookie, fakeWriteCookie, fakeEmailManger, fakeLogger); // Act ViewResult viewResult = loginController.Register(register1) as ViewResult; var rez = viewResult.Model; rez.Equals(new Register()); }
private static void RefreshByType(eDataSyncCacheType type) { using (DataTable dt = DataCopy.GetDataTable(ConnectionManager.GetConnection(), null, "SELECT * FROM UpdateFileEntry WHERE DataSyncCacheType = '{0}' ORDER BY DataSyncCacheID DESC", type)) { CheckTime ct = new CheckTime(); ct.AddEvent("UpdateFileEntry SQL Done (Count = {0})", dt.Rows.Count); if (dt.Rows.Count > 0) { SetLastUpdate(UpdateFileEntrySr.CreateFromDataRow(dt.Rows[0])); } foreach (DataRow dr in dt.Rows) { try { UpdateFileEntrySr ufe = UpdateFileEntrySr.CreateFromDataRow(dr); if (m_diUpdates.ContainsKey(ufe.DataSyncCacheID)) { m_diUpdates.Add(ufe.DataSyncCacheID, ufe); } } catch (Exception excp) { m_logger.ErrorFormat("RefreshByType Row Exception:{0}\r\n{1}", excp, excp.Message, excp.StackTrace); } } ct.AddEvent("RefreshByType({0}) filled up (Count = {1})", type, m_diUpdates.Count); ct.Info(m_logger); } }
private void searchBtn_Click(object sender, EventArgs e) { noDataLabel.Visible = false; searchBtn.Enabled = false; // 清除上次查询的数据 logDataList.Rows.Clear(); m_parm = new LogSearchParam(); m_parm.BeginTime = dateTimeStart.Value; m_parm.EndTime = dateTimeEnd.Value; CheckTime ret = DataModel.Common.CheckDataTime(dateTimeStart.Value, dateTimeEnd.Value); if (ret == CheckTime.START_INVALID) { MessageBox.Show("开始时间不正常!"); return; } else if (ret == CheckTime.END_INVALID) { MessageBox.Show("结束时间不正常!"); return; } m_parm.LogLevel = GetLogLevel(); m_parm.LogType = GetLogType(); // 默认使用降序 m_parm.SortKind = E_VDA_LOG_SORT_TYPE.E_LOG_SORT_TYPE_TIME_DESC; m_parm.OptName = this.opeName.Text; m_parm.StartMum = 0; m_parm.LogCount = 100; m_Vm.GetLogInfoList(m_parm); SearchStart = true; }
public void Set(CheckTime check) { if (check == null) { uiOnce.IsChecked = false; uiTime.Value = DateTime.Today; uiDay1.IsChecked = false; uiDay2.IsChecked = false; uiDay3.IsChecked = false; uiDay4.IsChecked = false; uiDay5.IsChecked = false; uiDay6.IsChecked = false; uiDay7.IsChecked = false; } else { uiOnce.IsChecked = check.Once; uiTime.Value = DateTime.Today.Add(check.Time); uiDay1.IsChecked = check.Day.HasFlag(WeekDay.Sunday); uiDay2.IsChecked = check.Day.HasFlag(WeekDay.Monday); uiDay3.IsChecked = check.Day.HasFlag(WeekDay.Tuesday); uiDay4.IsChecked = check.Day.HasFlag(WeekDay.Wednesday); uiDay5.IsChecked = check.Day.HasFlag(WeekDay.Thursday); uiDay6.IsChecked = check.Day.HasFlag(WeekDay.Friday); uiDay7.IsChecked = check.Day.HasFlag(WeekDay.Saturday); } }
private void SplitCollection() { CheckTime ct = new CheckTime("SplitCollection() entered."); pages.Clear(); ct.AddEvent("Cleared"); SyncList <IMatchVw> lMatches = Matches.ToSyncList(); foreach (var match in lMatches) { if (!pages.ContainsKey(match.StartDate)) { pages.Add(match.StartDate, new SortableObservableCollection <IMatchVw>()); match.IsHeaderForPreMatch = true; pages[match.StartDate].Add(match); } else { match.IsHeaderForPreMatch = false; pages[match.StartDate].Add(match); } } lMatches.Clear(); ct.AddEvent("Cycle completed"); totalPages = pages.Count; if (pages.Count == 0) { SampleMatches.Clear(); return; } if (currentPage > pages.Count - 1) { currentPage = pages.Count - 1; } if (currentPage == 0) { currentPage = GetSavedPage(); } if (pages.ElementAt(currentPage).Value.ElementAt(0) != null) { CurrentSeason = pages.ElementAt(currentPage).Value.ElementAt(0).VirtualSeason.ToString(); CurrentPageToShow = pages.ElementAt(currentPage).Value.ElementAt(0).VirtualDay.ToString(); } SampleMatches.ApplyChanges(pages.ElementAt(currentPage).Value); ct.AddEvent("ApplyChanges completed"); ct.Info(_logger); }
private void button1_Click(object sender, EventArgs e) { FileStream f = File.Open("Settings", FileMode.OpenOrCreate); f.Close(); using (StreamWriter stream = new StreamWriter("Settings", false)) { stream.WriteLine(SleepTime.ToString()); stream.WriteLine(CheckTime.ToString()); stream.WriteLine(Radius.ToString()); } }
/// <summary> /// Konstruktor /// </summary> /// <param name="getContract">Der Kontrakt der beim Lesezugriff geprüft wird.</param> /// <param name="setContract">Der Kontrakt der beim Schreibzugriff geprüft wird.</param> /// <param name="member">Das Element an dem der DbcAspect definiert wurde</param> /// <param name="accessType">Gibt an, bei welchem Zugriff der Kontrakt angewendet werden soll.</param> /// <param name="checkTime">Gibt an, zu welchem Zeitpunkt der Kontrakt angewendet werden soll.</param> /// <param name="contractClassName">Gibt den Namen der Kontraktklasse an.</param> /// <param name="exceptionType">Gibt den Typ der Exception an, die für den Nichterfüllungsfall geworfen werden soll.</param> /// <param name="exceptionString">Gibt den Exceptiontext an, der bei Nichterfüllung geworfen werden soll.</param> internal FieldModel(string getContract, string setContract, MemberInfo member, AccessType accessType, CheckTime checkTime, string contractClassName, Type exceptionType, string exceptionString) : base(member, accessType, checkTime, contractClassName, exceptionType, exceptionString) { // Erzeugen und zuweisen der ContractModels. if (getContract == setContract) { GetContract = new ContractModel(getContract); SetContract = GetContract; ContractsAreEqual = true; return; } if (!string.IsNullOrEmpty(getContract)) GetContract = new ContractModel(getContract); if (!string.IsNullOrEmpty(setContract)) SetContract = new ContractModel(setContract); }
/// <summary> /// Konstruktor /// </summary> /// <param name="requireContract">Der Kontrakt zur Eintrittsprüfung.</param> /// <param name="ensureContract">Der Kontrakt zur Austrittsprufung.</param> /// <param name="member">Das Element an dem der DbcAspect definiert wurde</param> /// <param name="accessType">Gibt an, bei welchem Zugriff der Kontrakt angewendet werden soll.</param> /// <param name="checkTime">Gibt an, zu welchem Zeitpunkt der Kontrakt angewendet werden soll.</param> /// <param name="contractClassName">Gibt den Namen der Kontraktklasse an.</param> /// <param name="exceptionType">Gibt den Typ der Exception an, die für den Nichterfüllungsfall geworfen werden soll.</param> /// <param name="exceptionString">Gibt den Exceptiontext an, der bei Nichterfüllung geworfen werden soll.</param> internal MethodModel(string requireContract, string ensureContract, MemberInfo member, AccessType accessType, CheckTime checkTime, string contractClassName, Type exceptionType, string exceptionString) : base(member, accessType, checkTime, contractClassName, exceptionType, exceptionString) { // Erzeugen und zuweisen der ContractModels. if (requireContract == ensureContract) { RequireContract = new ContractModel(requireContract); EnsureContract = RequireContract; ContractsAreEqual = true; return; } if (!string.IsNullOrEmpty(requireContract)) RequireContract = new ContractModel(requireContract); if (!string.IsNullOrEmpty(ensureContract)) EnsureContract = new ContractModel(ensureContract); }
private void searchBtn_Click(object sender, EventArgs e) { if (!m_CameraTree.IsHasChecked) { MessageBox.Show("请选择一个监测点"); return; } //设置类型 SetSearchType(); if (m_serType.Length < 1) { MessageBox.Show("请选择一个事件类型"); return; } //设置时间 uint startTime = DataModel.Common.ConvertLinuxTime(dateTimeStart.Value); uint endTime = DataModel.Common.ConvertLinuxTime(dateTimeEnd.Value); CheckTime ret = DataModel.Common.CheckDataTime(dateTimeStart.Value, dateTimeEnd.Value); if (ret == CheckTime.START_INVALID) { MessageBox.Show("开始时间不正常!"); return; } else if (ret == CheckTime.END_INVALID) { MessageBox.Show("结束时间不正常!"); return; } if (endTime - startTime > 7 * 24 * 60 * 60) { MessageBox.Show("时间跨度不能大于七天!"); return; } dataGridViewX1.Rows.Clear(); m_EventList.Clear(); //设置ID m_cameraIDList = m_CameraTree.GetCheckTCameraIDList(); //开始查询 m_vm.Search(m_cameraIDList, startTime, endTime, m_serType); this.searchBtn.Enabled = false; noDataLabel.Visible = false; }
public void SearchResults(SyncList <MatchResultVw> lResultsToSync, DelegateFilterResults dfr) { CheckTime ct = new CheckTime("SearchResults() entered"); lock (m_oReadLocker) { ct.AddEvent("Inside of lock"); if (lResultsToSync != null) { HashSet <MatchResultVw> hsMatches = new HashSet <MatchResultVw>(); SyncList <MatchResultLn> lAllResults = m_diAll.MatchResults.ToSyncList(); foreach (MatchResultLn result in lAllResults) { if (dfr == null || dfr(result)) { hsMatches.Add(result.MatchResultView); if (!lResultsToSync.Contains(result.MatchResultView)) { lResultsToSync.Add(result.MatchResultView); } } } for (int i = 0; i < lResultsToSync.Count;) { MatchResultVw matchResultView = lResultsToSync[i]; if (!hsMatches.Contains(matchResultView)) { lResultsToSync.RemoveAt(i); } else { i++; } } } } ct.AddEvent("Completed"); ct.Info(m_logger); }
private void searchBtn_Click(object sender, EventArgs e) { if (!ucTrafficCameraTree1.IsHasChecked) { MessageBox.Show("请选择一个监测点"); return; } if (comboBoxEx1.Text == "月") { timeType = TrafficTimeType.MONTH; } else if (comboBoxEx1.Text == "天") { timeType = TrafficTimeType.DAY; } else if (comboBoxEx1.Text == "小时") { timeType = TrafficTimeType.HOUR; } uint startTime = DataModel.Common.ConvertLinuxTime(dateTimeStart.Value); uint endTime = DataModel.Common.ConvertLinuxTime(dateTimeEnd.Value); CheckTime ret = DataModel.Common.CheckDataTime(dateTimeStart.Value, dateTimeEnd.Value); if (ret == CheckTime.START_INVALID) { MessageBox.Show("开始时间不正常!"); return; } else if (ret == CheckTime.END_INVALID) { MessageBox.Show("结束时间不正常!"); return; } if (m_vm.TimeIsLong(startTime, endTime, timeType)) { MessageBoxEx.Show("时间跨度太大"); return; } //开始查询 m_cameraIDList = ucTrafficCameraTree1.GetCheckTCameraIDList(); m_vm.Search(m_cameraIDList, startTime, endTime, (uint)timeType); this.searchBtn.Enabled = false; }
private void searchBtn_Click(object sender, EventArgs e) { if (!ucTaskTreeBase1.IsHasChecked) { MessageBox.Show("请选择一个监测点"); return; } //设置时间 uint startTime = DataModel.Common.ConvertLinuxTime(dateTimeStart.Value); uint endTime = DataModel.Common.ConvertLinuxTime(dateTimeEnd.Value); CheckTime ret = DataModel.Common.CheckDataTime(dateTimeStart.Value, dateTimeEnd.Value); if (ret == CheckTime.START_INVALID) { MessageBox.Show("开始时间不正常!"); return; } else if (ret == CheckTime.END_INVALID) { MessageBox.Show("结束时间不正常!"); return; } if (endTime - startTime > 7 * 24 * 60 * 60) { MessageBox.Show("时间跨度不能大于七天!"); return; } // 清除 上次 查询结果 // m_faceResultPanel.Clear(); // 相机列表 List <string> creamIdList = ucTaskTreeBase1.GetCheckTCameraIDList(); if (creamIdList == null) { creamIdList = ucTaskTreeBase1.GetAllCameraIDList(); } // 黑名单列表 string blackListStr = GetBlackListStr(); m_vm.StartFaceAlarmSearch(creamIdList, blackListStr, startTime, endTime); m_faceResultPanel.StartWait(); }
public static bool MergeFromLineContainer(LineContainer lc) { CheckTime ct = new CheckTime(false, "MergeFromLineContainer() entered"); long lOperationMask = 0L; eServerSourceType esst = eServerSourceType.BtrPre; if (lc.Attributes.ContainsKey("line")) { string sLine = lc.Attributes["line"]; ExcpHelper.ThrowIf(!Enum.TryParse(sLine, true, out esst), "Cannot parse LineType from '{0}'", sLine); } string sType = lc.Attributes["type"]; string sMessageId = lc.Attributes["messageid"]; try { /* * sTrace += string.Format("{0} docid={1}\r\n", sTrace, sMessageId); * * if (bExtendTrace) * { * sTrace += lc.BuildTraceString(); * } */ // TimeTypeLn { TimeTypeDictionary ttd = LineSr.Instance.AllObjects.GetLineObjectCollection <TimeTypeLn>() as TimeTypeDictionary; int iCount = LineSr.MergeLineObjects <TimeTypeLn>(lc, ttd, new LineSr.MergeLineObjectsCallBack <TimeTypeLn>() { GetLineObject = delegate(ISerializableObject so) { SerializableProperty <string> spTag = so.GetSerializableProperty("Tag") as SerializableProperty <string>; return(ttd.GetObject(spTag.Value)); }, CreateLineObject = delegate() { return(new TimeTypeLn()); } }); ct.AddEvent("TimeType(s) Succeeded ({0})", iCount); } // ScoreTypeLn { ScoreTypeDictionary std = LineSr.Instance.AllObjects.GetLineObjectCollection <ScoreTypeLn>() as ScoreTypeDictionary; int iCount = LineSr.MergeLineObjects <ScoreTypeLn>(lc, std, new LineSr.MergeLineObjectsCallBack <ScoreTypeLn>() { GetLineObject = delegate(ISerializableObject so) { SerializableProperty <string> spTag = so.GetSerializableProperty("Tag") as SerializableProperty <string>; return(std.GetObject(spTag.Value)); }, CreateLineObject = delegate() { return(new ScoreTypeLn()); } }); ct.AddEvent("ScoreType(s) Succeeded ({0})", iCount); } // BetTypeLn { BetTypeDictionary btd = LineSr.Instance.AllObjects.GetLineObjectCollection <BetTypeLn>() as BetTypeDictionary; int iCount = LineSr.MergeLineObjects <BetTypeLn>(lc, btd, new LineSr.MergeLineObjectsCallBack <BetTypeLn>() { GetLineObject = delegate(ISerializableObject so) { SerializableProperty <string> spTag = so.GetSerializableProperty("Tag") as SerializableProperty <string>; return(btd.GetObject(spTag.Value)); }, CreateLineObject = delegate() { return(new BetTypeLn()); } }); ct.AddEvent("BetType(s) Succeeded ({0})", iCount); } // BetDomainTypeLn { BetDomainTypeDictionary bdtd = LineSr.Instance.AllObjects.GetLineObjectCollection <BetDomainTypeLn>() as BetDomainTypeDictionary; int iCount = LineSr.MergeLineObjects <BetDomainTypeLn>(lc, bdtd, new LineSr.MergeLineObjectsCallBack <BetDomainTypeLn>() { GetLineObject = delegate(ISerializableObject so) { SerializableProperty <string> spTag = so.GetSerializableProperty("Tag") as SerializableProperty <string>; return(bdtd.GetObject(spTag.Value)); }, CreateLineObject = delegate() { return(new BetDomainTypeLn()); } }); ct.AddEvent("BetDomainType(s) Succeeded ({0})", iCount); } // Groups { GroupDictionary gd = LineSr.Instance.AllObjects.GetLineObjectCollection <GroupLn>() as GroupDictionary; int iCount = LineSr.MergeLineObjects <GroupLn>(lc, gd, new LineSr.MergeLineObjectsCallBack <GroupLn>() { GetLineObject = delegate(ISerializableObject so) { // 143881406612 SerializableProperty <string> spType = so.GetSerializableProperty("Type") as SerializableProperty <string>; SerializableProperty <long> spSvrId = so.GetSerializableProperty("SvrGroupId") as SerializableProperty <long>; Debug.Assert(spType != null); Debug.Assert(spSvrId != null); return(gd.SafelyGetGroupByKeyName(spType.Value, spSvrId.Value)); }, CreateLineObject = delegate() { return(new GroupLn()); } }); ct.AddEvent("Group(s) Succeeded ({0})", iCount); } // Competitors { CompetitorDictionary cd = LineSr.Instance.AllObjects.GetLineObjectCollection <CompetitorLn>() as CompetitorDictionary; int iCount = LineSr.MergeLineObjects <CompetitorLn>(lc, cd, new LineSr.MergeLineObjectsCallBack <CompetitorLn>() { GetLineObject = delegate(ISerializableObject so) { SerializableProperty <long> spCompetitor = so.GetSerializableProperty("CompetitorId") as SerializableProperty <long>; Debug.Assert(spCompetitor != null); return(cd.GetObject(spCompetitor.Value)); }, CreateLineObject = delegate() { return(new CompetitorLn()); } }); ct.AddEvent("Competitor(s) Succeeded ({0})", iCount); } // CompetitorToOutrightLn { var cd = LineSr.Instance.AllObjects.GetLineObjectCollection <CompetitorToOutrightLn>() as CompetitorToOutrightDictionary; int iCount = LineSr.MergeLineObjects <CompetitorToOutrightLn>(lc, cd, new LineSr.MergeLineObjectsCallBack <CompetitorToOutrightLn>() { GetLineObject = delegate(ISerializableObject so) { SerializableProperty <long> spCompetitor = so.GetSerializableProperty("match2competitorid") as SerializableProperty <long>; Debug.Assert(spCompetitor != null); return(cd.GetObject(spCompetitor.Value)); }, CreateLineObject = delegate() { return(new CompetitorToOutrightLn()); } }); ct.AddEvent("Competitor(s) Succeeded ({0})", iCount); } // Strings { TaggedStringDictionary tsd = LineSr.Instance.AllObjects.GetLineObjectCollection <TaggedStringLn>() as TaggedStringDictionary; int iCount = LineSr.MergeLineObjects <TaggedStringLn>(lc, tsd, new LineSr.MergeLineObjectsCallBack <TaggedStringLn>() { GetLineObject = delegate(ISerializableObject so) { SerializableProperty <long> spStringId = so.GetSerializableProperty("StringId") as SerializableProperty <long>; return(tsd.GetObject(spStringId.Value)); }, CreateLineObject = delegate() { return(new TaggedStringLn()); } }); ct.AddEvent("String(s) Succeeded ({0})", iCount); } SyncList <MatchLn> lMatchesToRemove = new SyncList <MatchLn>(); // Matches { SyncHashSet <long> lMatchIds = new SyncHashSet <long>(); MatchDictionary md = LineSr.Instance.AllObjects.GetLineObjectCollection <MatchLn>() as MatchDictionary; int iCount = LineSr.MergeLineObjects <MatchLn>(lc, md, new LineSr.MergeLineObjectsCallBack <MatchLn>() { GetLineObject = delegate(ISerializableObject so) { SerializableProperty <long> spMatchId = so.GetSerializableProperty("MatchId") as SerializableProperty <long>; lMatchIds.Add(spMatchId.Value); return(md.GetObject(spMatchId.Value)); }, CreateLineObject = delegate() { return(new MatchLn()); }, OnLineObjectMerged = delegate(MatchLn match) { if (match != null) { if (match.Code.Value == 0) { match.Code.Value = Math.Abs((int)(match.MatchId % 100000)); } if (match.EndDate.Value == null) { match.EndDate.Value = new DateTimeSr(DateTime.MaxValue); } } }, RemoveLineObject = delegate(MatchLn match) { lMatchesToRemove.Add(match); } }, ref lOperationMask); if (sType.ToLowerInvariant() == "initial") { SyncList <MatchLn> lAllLiveMatches = LineSr.Instance.QuickSearchMatches(delegate(MatchLn match) { return(match.IsLiveBet.Value && match.SourceType == esst); }); foreach (var match in lAllLiveMatches) { if (!lMatchIds.Contains(match.MatchId)) { lMatchesToRemove.Add(match); } } } ct.AddEvent("Match(es) Succeeded ({0})", iCount); } // MatchToGroup items { MatchToGroupDictionary mtogd = LineSr.Instance.AllObjects.GetLineObjectCollection <MatchToGroupLn>() as MatchToGroupDictionary; int iCount = LineSr.MergeLineObjects <MatchToGroupLn>(lc, mtogd, new LineSr.MergeLineObjectsCallBack <MatchToGroupLn>() { GetLineObject = delegate(ISerializableObject so) { SerializableProperty <long> spMatchId = so.GetSerializableProperty("MatchId") as SerializableProperty <long>; SerializableProperty <long> spGroupId = so.GetSerializableProperty("GroupId") as SerializableProperty <long>; return(mtogd.GetObject(MatchToGroupLn.GetKeyName(spMatchId.Value, spGroupId.Value))); }, CreateLineObject = delegate() { return(new MatchToGroupLn()); } }); ct.AddEvent("MatchToGroup(s) Succeeded ({0})", iCount); } // LiveMatchInfo { LiveMatchInfoDictionary lmid = LineSr.Instance.AllObjects.GetLineObjectCollection <LiveMatchInfoLn>() as LiveMatchInfoDictionary; int iCount = LineSr.MergeLineObjects <LiveMatchInfoLn>(lc, lmid, new LineSr.MergeLineObjectsCallBack <LiveMatchInfoLn>() { GetLineObject = delegate(ISerializableObject so) { SerializableProperty <long> spMatchId = so.GetSerializableProperty("MatchId") as SerializableProperty <long>; return(lmid.GetObject(spMatchId.Value)); }, CreateLineObject = delegate() { return(new LiveMatchInfoLn()); }, OnLineObjectMerged = delegate(LiveMatchInfoLn matchInfo) { if (matchInfo != null) { if (matchInfo.ExpiryDate.Value == null) { matchInfo.ExpiryDate.Value = new DateTimeSr(DateTime.Now.AddMinutes(30)); // Half an hour } if (matchInfo.ChangedProps.Contains(matchInfo.PeriodInfo)) { lOperationMask |= (long)eOperationMask.MatchPeriodInfoChanged; } } }, RemoveLineObject = delegate(LiveMatchInfoLn lmi) { } }); ct.AddEvent("LiveMatchInfo(s) Succeeded ({0})", iCount); } // BetDomainLn { BetDomainDictionary bdmd = LineSr.Instance.AllObjects.GetLineObjectCollection <BetDomainLn>() as BetDomainDictionary; int iCount = LineSr.MergeLineObjects <BetDomainLn>(lc, bdmd, new LineSr.MergeLineObjectsCallBack <BetDomainLn>() { GetLineObject = delegate(ISerializableObject so) { SerializableProperty <long> spBetDomainId = so.GetSerializableProperty("BetDomainId") as SerializableProperty <long>; return(bdmd.GetObject(spBetDomainId.Value)); }, CreateLineObject = delegate() { return(new BetDomainLn()); }, RemoveLineObject = delegate(BetDomainLn bdmn) { LineSr.Instance.RemoveBetDomain(bdmn); } }, ref lOperationMask); ct.AddEvent("BetDomain(s) Succeeded ({0})", iCount); } // OddLn { OddDictionary oddd = LineSr.Instance.AllObjects.GetLineObjectCollection <OddLn>() as OddDictionary; int iCount = LineSr.MergeLineObjects <OddLn>(lc, oddd, new LineSr.MergeLineObjectsCallBack <OddLn>() { GetLineObject = delegate(ISerializableObject so) { SerializableProperty <long> spOutcomeId = so.GetSerializableProperty("OutcomeId") as SerializableProperty <long>; return(oddd.GetObject(spOutcomeId.Value)); }, CreateLineObject = delegate() { return(new OddLn()); }, RemoveLineObject = delegate(OddLn odd) { odd.Active.Value = false; //LineSr.Instance.RemoveOdd(odd); } }); ct.AddEvent("Odd(s) Succeeded ({0})", iCount); } // Process Removed matches foreach (var match in lMatchesToRemove) { LiveMatchInfoLn lmi = match.LiveMatchInfo; if (lmi.Status.Value == eMatchStatus.Ended && match.SourceType == eServerSourceType.BtrLive) { MergeMatchResult(match); } LineSr.Instance.RemoveMatch(match); } } catch (Exception excp) { ct.AddEvent("ERROR"); m_logger.Error(excp.Message, excp); m_logger.Excp(excp, "MergeFromLigaStavok() ERROR"); throw; } finally { //m_logger.Info(sTrace); //m_logger.DebugFormat("LineContainer Trace Length = {0}", sTrace.Length); ct.AddEvent("MergeFromLigaStavok(Type={0}, MessageId={1}) completed", sType, sMessageId); ct.Info(m_logger); } #if DEBUG if ((lOperationMask & EVENT_REASON_MASK) > 0) { m_logger.InfoFormat("MergeFromLineContainer() result {0}", lOperationMask); } #endif return(true); }
public void FromXml(XmlTextReader tr) { CheckTime ct = new CheckTime(false, "LineContainer.FromXml() entered."); try { while (tr.Read()) { string sCurrentTagName = tr.Name; switch (tr.NodeType) { case XmlNodeType.Attribute: break; case XmlNodeType.Element: while (tr.MoveToNextAttribute()) { this.Attributes[tr.Name] = tr.Value; } if (sCurrentTagName == this.XmlTagName) { break; } if (!tr.IsEmptyElement) { try { Type contentType = ObjectListNameToContentType(sCurrentTagName); SerializableObjectList lObjects = m_di.EnsureSerializableObjectList(contentType, sCurrentTagName); lObjects.FromXml(tr); ct.AddEvent("{0} completed", sCurrentTagName); } catch (Exception excp) { throw; } } break; case XmlNodeType.EndElement: if (tr.Name == this.XmlTagName) { return; } break; } } } finally { ct.AddEvent("LineContainer.FromXml() completed."); ct.Info(m_logger); } }
// Use this for initialization void Start() { curr = System.DateTime.Now; long temp = Convert.ToInt64 (PlayerPrefs.GetString ("LastTime")); Instance = this; DateTime old = DateTime.FromBinary (temp); print("oldDate: " + old); TimeSpan timediff = curr.Subtract (old); PlayerPrefs.SetString ("TimeDiffDays", timediff.Days.ToString()); PlayerPrefs.SetString ("TimeDiffHours", timediff.Hours.ToString()); PlayerPrefs.SetString ("TimeDiffMinutes", timediff.Minutes.ToString()); PlayerPrefs.SetString ("TimeDiffSeconds", timediff.Seconds.ToString()); totalDays = PlayerPrefs.GetInt ("TotalDays") + timediff.Days; totalHours = PlayerPrefs.GetInt ("TotalHours") + timediff.Hours; totalMinutes = PlayerPrefs.GetInt ("TotalMinutes") + timediff.Minutes; totalSeconds = PlayerPrefs.GetInt ("TotalSeconds") + timediff.Seconds; //Converts 60+ seconds into minutes if (totalSeconds >= 60) { totalMinutes += 1; totalSeconds -= 60; } //Converts 60+ minutes into hours if (totalMinutes >= 60) { totalHours += 1; totalMinutes -= 60; } //Converts 24+ hours into days if (totalHours >= 24) { totalDays += 1; totalHours -= 24; } days = PlayerPrefs.GetString ("TimeDiffDays"); hours = PlayerPrefs.GetString ("TimeDiffHours"); minutes = PlayerPrefs.GetString ("TimeDiffMinutes"); seconds = PlayerPrefs.GetString ("TimeDiffSeconds"); print("Difference: " + timediff); CallChangeDay (); }
public void SearchMatches(SyncList <IMatchVw> lMatchesToSync, string sSearch, string sLanguage, DelegateFilterMatches dfm) { CheckTime ct = new CheckTime(false, "SearchMatches('{0}', '{1}') entered", sSearch, sLanguage); lock (m_oReadLocker) { if (lMatchesToSync != null) { HashSet <IMatchVw> hsMatches = new HashSet <IMatchVw>(); SyncList <MatchLn> lAllMatches = m_diAll.Matches.ToSyncList(); if (!string.IsNullOrEmpty(sSearch)) { ct.AddEvent("Search by string in {0} matches", lAllMatches.Count); IdentityList ilGroups = new IdentityList(); IdentityList ilCompetitors = new IdentityList(); m_diAll.TaggedStrings.SearchRelatedStrings(sSearch, sLanguage, ilGroups, ilCompetitors); int iCode = 0; bool bIsNumber = int.TryParse(sSearch, out iCode) && 0 < iCode && iCode < MAX_MATCH_CODE; if (ilCompetitors.Count > 0 || bIsNumber) { foreach (var mtch in lAllMatches) { #if DEBUG || TRACE_ID_FROM_FILE if (TraceHelper.TraceFromFileLongValues("MatchIds.txt", (long)mtch.MatchId, new TraceHelper.DelegateLongFromRegistryFound(MatchIdFromFileFound), mtch)) { // Put breakpoint here to catch certain match by mtch.MatchId } #endif string sCode = mtch.Code.Value.ToString("G"); if (sCode.IndexOf(sSearch, StringComparison.OrdinalIgnoreCase) >= 0 || ilCompetitors.Contains(mtch.HomeCompetitorId.Value) || ilCompetitors.Contains(mtch.AwayCompetitorId.Value)) { SearchMatchImp(hsMatches, lMatchesToSync, mtch, dfm); } //else //{ // SyncList<GroupLn> lGroups = LineSr.Instance.AllObjects.MatchesToGroups.GetMatchGroups(mtch.MatchId); // foreach (GroupLn group in lGroups) // { // if (ilGroups.Contains(group.GroupId)) // { // SearchMatchImp(hsMatches, lMatchesToSync, mtch, dfm); // } // } //} } } } else { ct.AddEvent("Search directly in {0} matches", lAllMatches.Count); foreach (var mtch in lAllMatches) { #if DEBUG || TRACE_ID_FROM_FILE if (TraceHelper.TraceFromFileLongValues("MatchIds.txt", (long)mtch.MatchId, new TraceHelper.DelegateLongFromRegistryFound(MatchIdFromFileFound), mtch)) { // Put breakpoint here to catch certain match by mtch.MatchId } #endif SearchMatchImp(hsMatches, lMatchesToSync, mtch, dfm); } } ct.AddEvent("Search Completed"); for (int i = 0; i < lMatchesToSync.Count;) { IMatchVw matchView = lMatchesToSync[i]; if (!hsMatches.Contains(matchView)) { lMatchesToSync.RemoveAt(i); } else { i++; } } ct.AddEvent("Remove Completed"); } } ct.AddEvent("Completed (Found {0} match(es))", lMatchesToSync.Count); ct.Info(m_logger); }
private void searchBtn_Click(object sender, EventArgs e) { if (comboBoxEx1.Text == "月") { timeType = CrowdTimeType.MONTH; } else if (comboBoxEx1.Text == "天") { timeType = CrowdTimeType.DAY; } else if (comboBoxEx1.Text == "小时") { timeType = CrowdTimeType.HOUR; } uint startTime = DataModel.Common.ConvertLinuxTime(dateTimeStart.Value); uint endTime = DataModel.Common.ConvertLinuxTime(dateTimeEnd.Value); CheckTime ret = DataModel.Common.CheckDataTime(dateTimeStart.Value, dateTimeEnd.Value); if (ret == CheckTime.START_INVALID) { MessageBox.Show("开始时间不正常!"); return; } else if (ret == CheckTime.END_INVALID) { MessageBox.Show("结束时间不正常!"); return; } if (m_crowdVM.TimeIsLong(startTime, endTime, timeType)) { MessageBoxEx.Show("时间跨度太大"); return; } if (!m_crowdCameraTree.IsHasChecked) { MessageBoxEx.Show("请选择一个查询目标"); return; } // 根据选中的个数 添加 tableItem var serList = m_crowdCameraTree.GetCheckTSearchList(); SearchItemV3_1 cameraItem = null; if (serList.Count > 0) { cameraItem = serList[0]; } if (cameraItem == null) { MessageBoxEx.Show("请重新选择一个目标"); return; } try { m_crowdVM.Start(startTime, endTime, cameraItem, (uint)timeType); } catch (SDKCallException ex) { MessageBoxEx.Show("大客流统计-查询错误[" + ex.ErrorCode + "]:" + ex.Message, Framework.Environment.PROGRAM_NAME, MessageBoxButtons.OK, MessageBoxIcon.Asterisk); //请求出错 终止线程 m_crowdVM.Stop(); MyLog4Net.Container.Instance.Log.Debug("ucCrowdReport searchBtn_Click" + ex.ToString()); } }
/* * private static bool DeleteMatches(IDbConnection conn, IDbTransaction transaction) * { * LineObjectCollection<MatchLn> locMatches = LineSr.Instance.ObjectsToRemove.GetLineObjectCollection<MatchLn>(); * * if (locMatches != null && locMatches.Count > 0) * { * IdentityList il = new IdentityList(); * * foreach (MatchLn mtch in locMatches.Values) * { * il.AddUnique(mtch.MatchId); * } * * string sMatchIds = il.FormatIds(); * * DataCopy.ExecuteScalar(conn, transaction, DELETE_MATCH_ODDS_QUERY, sMatchIds); * DataCopy.ExecuteScalar(conn, transaction, DELETE_MATCH_BETDOMAIN_QUERY, sMatchIds); * DataCopy.ExecuteScalar(conn, transaction, DELETE_MATCH_TO_GROUP_QUERY, sMatchIds); * DataCopy.ExecuteScalar(conn, transaction, DELETE_LIVE_MATCH_INFO_QUERY, sMatchIds); * DataCopy.ExecuteScalar(conn, transaction, DELETE_MATCHES_QUERY, sMatchIds); * * return true; * } * * return false; * } */ public static eFileSyncResult UpdateDatabase(IDbConnection conn, eUpdateType eut, string sProviderDescription, UpdateStatistics us) { eFileSyncResult fsr = eFileSyncResult.Failed; DateTime dtStart = DateTime.Now; string sErrorString = string.Empty; DataCopy dc = null; string sUpdateDescription = eut.ToString(); CheckTime ct = new CheckTime("UpdateAll({0}) Entered", sUpdateDescription); DictionaryOfLineObjectCollectionLight dlocToModify = LineSr.Instance.NewOrChangedObjects; DictionaryOfLineObjectCollectionLight dlocToDelete = LineSr.Instance.ObjectsToRemove; try { using (IDbTransaction transaction = conn.BeginTransaction()) { dc = new DataCopy(conn, transaction, sUpdateDescription); try { UpdatesLn updatesLn = new UpdatesLn(eut, string.Format("Saving {0} and Deleting {1} line tables", dlocToModify.Count, dlocToDelete.Count), sProviderDescription); updatesLn.Save(conn, transaction); Debug.Assert(updatesLn.UpdateId > 0); // Insert or Update objects dc.InsertOrUpdate(dlocToModify.GetLineObjectCollection <TaggedStringLn>(), TaggedStringLn.TableSpec, updatesLn); dc.InsertOrUpdate(dlocToModify.GetLineObjectCollection <TimeTypeLn>(), TimeTypeLn.TableSpec, updatesLn); dc.InsertOrUpdate(dlocToModify.GetLineObjectCollection <ScoreTypeLn>(), ScoreTypeLn.TableSpec, updatesLn); dc.InsertOrUpdate(dlocToModify.GetLineObjectCollection <BetTypeLn>(), BetTypeLn.TableSpec, updatesLn); dc.InsertOrUpdate(dlocToModify.GetLineObjectCollection <BetDomainTypeLn>(), BetDomainTypeLn.TableSpec, updatesLn); dc.InsertOrUpdate(dlocToModify.GetLineObjectCollection <GroupLn>(), GroupLn.TableSpec, updatesLn); dc.InsertOrUpdate(dlocToModify.GetLineObjectCollection <CompetitorLn>(), CompetitorLn.TableSpec, updatesLn); dc.InsertOrUpdate(dlocToModify.GetLineObjectCollection <MatchLn>(), MatchLn.TableSpec, updatesLn); dc.InsertOrUpdate(dlocToModify.GetLineObjectCollection <CompetitorToOutrightLn>(), CompetitorToOutrightLn.TableSpec, updatesLn); dc.InsertOrUpdate(dlocToModify.GetLineObjectCollection <LiveMatchInfoLn>(), LiveMatchInfoLn.TableSpec, updatesLn); dc.InsertOrUpdate(dlocToModify.GetLineObjectCollection <MatchResultLn>(), MatchResultLn.TableSpec, updatesLn); dc.InsertOrUpdate(dlocToModify.GetLineObjectCollection <MatchToGroupLn>(), MatchToGroupLn.TableSpec, updatesLn); dc.InsertOrUpdate(dlocToModify.GetLineObjectCollection <BetDomainLn>(), BetDomainLn.TableSpec, updatesLn); dc.InsertOrUpdate(dlocToModify.GetLineObjectCollection <ResourceRepositoryLn>(), ResourceRepositoryLn.TableSpec, updatesLn); dc.InsertOrUpdate(dlocToModify.GetLineObjectCollection <ResourceAssignmentLn>(), ResourceAssignmentLn.TableSpec, updatesLn); dc.InsertOrUpdate(dlocToModify.GetLineObjectCollection <CompetitorInfosLn>(), CompetitorInfosLn.TableSpec, updatesLn); dc.InsertOrUpdate(dlocToModify.GetLineObjectCollection <MatchInfosLn>(), MatchInfosLn.TableSpec, updatesLn); dc.InsertOrUpdate(dlocToModify.GetLineObjectCollection <TournamentInfosLn>(), TournamentInfosLn.TableSpec, updatesLn); dc.InsertOrUpdate(dlocToModify.GetLineObjectCollection <OddLn>(), OddLn.TableSpec, updatesLn); //dc.InsertOrUpdate(dlocToModify.GetLineObjectCollection<LiabilityLn>(), LiabilityLn.TableSpec, updatesLn); dc.InsertOrUpdate(dlocToModify.GetLineObjectCollection <LanguageLn>(), LanguageLn.TableSpec, updatesLn); dc.InsertOrUpdate(dlocToModify.GetLineObjectCollection <MultistringGroupLn>(), MultistringGroupLn.TableSpec, updatesLn); //dc.InsertOrUpdate(dlocToModify.GetLineObjectCollection<TournamentMatchLocksLn>(), TournamentMatchLocksLn.TableSpec, updatesLn); // Delete Objects dc.DeleteObjects(dlocToDelete.GetLineObjectCollection <OddLn>(), OddLn.TableSpec); dc.DeleteObjects(dlocToDelete.GetLineObjectCollection <BetDomainLn>(), BetDomainLn.TableSpec); dc.DeleteObjects(dlocToDelete.GetLineObjectCollection <MatchToGroupLn>(), MatchToGroupLn.TableSpec); dc.DeleteObjects(dlocToDelete.GetLineObjectCollection <LiveMatchInfoLn>(), LiveMatchInfoLn.TableSpec); dc.DeleteObjects(dlocToDelete.GetLineObjectCollection <CompetitorToOutrightLn>(), CompetitorToOutrightLn.TableSpec); dc.DeleteObjects(dlocToDelete.GetLineObjectCollection <MatchLn>(), MatchLn.TableSpec); if (dc.Statistics.IsInsrtedOrUpdatedOrDeleted) { // DK: If You like to test data import then uncomment line bellow: // throw new SystemException("Developer Exception: Always rollback transaction for test purposes"); transaction.Commit(); fsr = eFileSyncResult.Succeeded; ct.AddEvent("Commited"); } else { transaction.Rollback(); fsr = eFileSyncResult.Skipped; ct.AddEvent("Rolled Back"); } if (us != null) { us.Append(dc.Statistics); } } catch (Exception excp) { transaction.Rollback(); m_logger.Excp(excp, "UpdateAllWithSqlBulkCopy General Transaction Exception"); } finally { DateTime dtEnd = DateTime.Now; if (fsr != eFileSyncResult.Skipped) { // DK: Let's write to log ONLY Succeeded or Failed file syncrhonization info. string sInfo = @" {7} UpdateAllWithSqlBulkCopy({0}) {1} {2} {3} Start: {4}; End: {5}; Time: {6}; "; m_logger.InfoFormat( sInfo, // Format sProviderDescription, // Provider Description fsr, // Result sErrorString, // Errors if any dc.Statistics, // Statistic dtStart, dtEnd, dtEnd - dtStart, // Time sUpdateDescription); // LiveBet or PreMatch } else { m_logger.InfoFormat("{0} UpdateAllWithSqlBulkCopy Skipped. Time: {1}", sUpdateDescription, dtEnd - dtStart); } if (fsr == eFileSyncResult.Succeeded) { } ct.AddEvent("UpdateAll({0}) completed", sUpdateDescription); ct.Info(m_logger); } } // } } catch (Exception excp) { sErrorString += ExcpHelper.FormatException(excp, "UpdateAllWithSqlBulkCopy General Exception"); m_logger.Error(sErrorString, excp); } return(fsr); }
public static eFileSyncResult SyncRoutines(eUpdateType eut, string sProviderDescription, bool bUseDatabase, UpdateStatistics us, DelegateMerge dm) { Debug.Assert(dm != null); CheckTime ct = new CheckTime(true, "SyncRoutines(UseDatabase={0}) entered", bUseDatabase); /* * if (DalStationSettings.Instance.EnableRunProcessControl) * { * string sInfo = SystemControl.GetSystemInfo() + "\r\n" + ProcessControl.Current.ToDetailedString(); * m_logger.Info(sInfo); * #if DEBUG * m_logger.Info(ProcessControl.Current.GetThreadSummary()); #endif * * ct.AddEvent("Control completed"); * } */ try { eFileSyncResult fsr = eFileSyncResult.Failed; lock (m_oUpdateLocker) { ct.AddEvent("Inside of lock"); LineSr.Instance.NewOrChangedObjects.UnsetPropertiesChanged(); LineSr.Instance.NewOrChangedObjects.Clear(); bool bProcessUpdateSucceeded = false; lock (m_oReadLocker) { ct.AddEvent("Cache Update Started"); bProcessUpdateSucceeded = dm(null); ct.AddEvent("Cache Update Completed ({0}, {1})", LineSr.Instance.NewOrChangedObjects.Count, LineSr.Instance.ObjectsToRemove.Count); } if (bUseDatabase) { // We use database to store Live Data fsr = DataCopy.UpdateDatabase(ConnectionManager.GetConnection(), eut, sProviderDescription, us); ct.AddEvent("Database Update Completed"); if (fsr == eFileSyncResult.Succeeded) { LineSr.Instance.NewOrChangedObjects.NotifyPropertiesChanged(); DatabaseCache.Instance.AddNewObjectsAfterCommit(); DatabaseCache.Instance.RemoveObjectsAfterCommit(); LineSr.Instance.ObjectsToRemove.Clear(); ct.AddEvent("Routines Completed (fsr=Succeeded)"); } else { ct.AddEvent("Routines Completed (fsr=Skipped or Failed)"); } } else { // We DON'T use database to store Live Data fsr = eFileSyncResult.Succeeded; LineSr.Instance.NewOrChangedObjects.NotifyPropertiesChanged(); ct.AddEvent("Routines Completed"); } if (fsr == eFileSyncResult.Succeeded && bProcessUpdateSucceeded) { ct.AddEvent("ProcessDataSqlUpdateSucceeded() Completed"); } } return(fsr); } catch (Exception excp) { LineSr.Instance.ObjectsToRemove.Clear(); m_logger.Excp(excp, "SyncRoutines(eUpdateType={0}, sProviderDescription='{1}') ERROR", eut, sProviderDescription); ct.AddEvent("Exception Completed"); ct.Error(m_logger); } finally { ct.AddEvent("Completed"); ct.Info(m_logger); } return(eFileSyncResult.Failed); }
private void buttonOk_Click(object sender, EventArgs e) { CheckTime ret = DataModel.Common.CheckDataTime(checkBoxST.Checked ? dateTimeStart.Value : new DateTime(2050), checkBoxET.Checked ? dateTimeEnd.Value : new DateTime(2050)); if ((ret == CheckTime.START_INVALID) && checkBoxST.Checked) { MessageBox.Show("开始时间不正常!"); return; } else if ((ret == CheckTime.END_INVALID) && checkBoxET.Checked) { MessageBox.Show("结束时间不正常!"); return; } //添加资源树 List <DataModel.SearchItemV3_1> list = null; //带选择的资源树列表 //= buttonSelectSearchItem.Tag as List<DataModel.SearchItemV3_1>; if (m_treeList.IsHasChecked) { list = m_treeList.GetCheckTSearchList(); } m_viewModel.SearchItems = new DataModel.SearchItemGroup() { SearchItems = new List <DataModel.SearchItemV3_1>(), SearchType = this.SearchType, }; if (list != null && list.Count > 0) { m_viewModel.SearchItems.SearchItems.AddRange(list); } if (pictureBox1.Tag != null && pictureBox1.Tag is SelectedPictureParam) { SelectedPictureParam param = pictureBox1.Tag as SelectedPictureParam; if (param.GlobalRegion.Count >= 4) { int x = Math.Min(Math.Min(param.GlobalRegion[0].X, param.GlobalRegion[1].X), Math.Min(param.GlobalRegion[2].X, param.GlobalRegion[3].X)); int y = Math.Min(Math.Min(param.GlobalRegion[0].Y, param.GlobalRegion[1].Y), Math.Min(param.GlobalRegion[2].Y, param.GlobalRegion[3].Y)); int maxx = Math.Max(Math.Max(param.GlobalRegion[0].X, param.GlobalRegion[1].X), Math.Max(param.GlobalRegion[2].X, param.GlobalRegion[3].X)); int maxy = Math.Max(Math.Max(param.GlobalRegion[0].Y, param.GlobalRegion[1].Y), Math.Max(param.GlobalRegion[2].Y, param.GlobalRegion[3].Y)); int w = maxx - x; int h = maxy - y; m_viewModel.ObjRect = new Rectangle(x, y, w, h); } else { m_viewModel.ObjRect = new Rectangle(); } if (param.ParticalRegion.Count >= 4) { int x = Math.Min(Math.Min(param.ParticalRegion[0].X, param.ParticalRegion[1].X), Math.Min(param.ParticalRegion[2].X, param.ParticalRegion[3].X)); int y = Math.Min(Math.Min(param.ParticalRegion[0].Y, param.ParticalRegion[1].Y), Math.Min(param.ParticalRegion[2].Y, param.ParticalRegion[3].Y)); int maxx = Math.Max(Math.Max(param.ParticalRegion[0].X, param.ParticalRegion[1].X), Math.Max(param.ParticalRegion[2].X, param.ParticalRegion[3].X)); int maxy = Math.Max(Math.Max(param.ParticalRegion[0].Y, param.ParticalRegion[1].Y), Math.Max(param.ParticalRegion[2].Y, param.ParticalRegion[3].Y)); int w = maxx - x; int h = maxy - y; m_viewModel.ObjDetailRect = new Rectangle(x, y, w, h); } else { m_viewModel.ObjDetailRect = new Rectangle(); } m_viewModel.PassLineSet = param.PassLineList; m_viewModel.RegionSet = param.BreakRegionList; m_viewModel.PictureData = param.BasePicture; } else { m_viewModel.PassLineSet = new List <PassLine>(); m_viewModel.RegionSet = new List <BreakRegion>(); m_viewModel.PictureData = new System.Drawing.Bitmap(1, 1); } //m_viewModel.SearchItems.SearchItems.Add(new DataModel.SearchItemV3_1() { CameraID = "1", TaskId = 1, TaskName = "task1", CameraName = "cam1", SearchHandle = 0 }); //m_viewModel.SearchItems.SearchItems.Add(new DataModel.SearchItemV3_1() { CameraID = "2", TaskId = 1, TaskName = "task2", CameraName = "cam2", SearchHandle = 0 }); //m_viewModel.SearchItems.SearchItems.Add(new DataModel.SearchItemV3_1() { CameraID = IVX.DataModel.Common.VIRTUAL_CAMERA_ID+"2",TaskId = 1, TaskName = "task3", CameraName = "cam3", SearchHandle = 0 }); m_viewModel.StartTime = dateTimeStart.Value; m_viewModel.StopTime = dateTimeEnd.Value; buttonOk.Enabled = false; string msg = ""; if (m_viewModel.Commit(out msg)) { if (OnOk != null) { OnOk(this, e); } } else { buttonOk.Enabled = true; DevComponents.DotNetBar.MessageBoxEx.Show(msg, Framework.Environment.PROGRAM_NAME, MessageBoxButtons.OK, MessageBoxIcon.Asterisk); } }
public static void Main() { int id = 1; State s1 = new State(id++, "睡觉中"); State s2 = new State(id++, "吃饭中"); State s3 = new State(id++, "上课中"); State s4 = new State(id++, "看时间中"); State s5 = new State(id++, "打游戏中"); Transition t1 = new Transition(id++, s1, s2); Transition t2 = new Transition(id++, s2, s3); Transition t3 = new Transition(id++, s3, s2); Transition t4 = new Transition(id++, s2, s4); Transition t5 = new Transition(id++, s4, s5); Transition t6 = new Transition(id++, s4, s1); Transition t7 = new Transition(id++, s5, s1); AlarmClock clock = new AlarmClock(id++, "闹钟响", 7, 6); Eaten eaten1 = new Eaten(id++, "吃完饭"); Eaten eaten2 = new Eaten(id++, "吃完饭"); ClassNotFinished classNotFinished = new ClassNotFinished(id++, "还有课要上"); ClassBell bell = new ClassBell(id++, "下课铃响"); StillEarly early = new StillEarly(id++, "时间还早"); TooLate late = new TooLate(id++, "时间不早了"); GameFinished gameFinished = new GameFinished(id++, "打完游戏"); t1.AddEvent(clock); t2.AddEvent(eaten1); t2.AddEvent(classNotFinished); t3.AddEvent(bell); t4.AddEvent(eaten2); t5.AddEvent(early); t6.AddEvent(late); t7.AddEvent(gameFinished); Sleep sleep = new Sleep(id++, "睡觉", clock); Eat eat = new Eat(id++, "吃饭", eaten1, eaten2); TakeClass takeClass = new TakeClass(id++, "上课", bell, classNotFinished); CheckTime checkTime = new CheckTime(id++, "看时间", early, late); PlayGame playGame = new PlayGame(id++, "打游戏", gameFinished); s1.AddTransition(t1); s2.AddTransition(t2); s2.AddTransition(t4); s3.AddTransition(t3); s4.AddTransition(t5); s4.AddTransition(t6); s5.AddTransition(t7); s1.AddAction(sleep); s2.AddAction(eat); s3.AddAction(takeClass); s4.AddAction(checkTime); s5.AddAction(playGame); FSM.FSM fsm = new FSM.FSM(); fsm.AddState(s1); fsm.AddState(s2); fsm.AddState(s3); fsm.AddState(s4); fsm.AddState(s5); fsm.SetStartState(s1); fsm.SetCurrentState(s1); ConsoleKeyInfo cki; Console.WriteLine("生活行为状态机, 按 N 键进行下一步,按 E 键退出程序。"); while (true) { Console.WriteLine("请输入:"); cki = Console.ReadKey(); Console.WriteLine(); if (cki.Key == ConsoleKey.N) { Console.WriteLine("当前状态:" + fsm.GetCurrentState().GetName()); fsm.CheckAndChangeState(); } else if (cki.Key == ConsoleKey.E) { break; } else { Console.WriteLine("输入无效,请重新输入:"); } } }
/// <summary> /// Konstruktor /// </summary> /// <param name="member">Das Element an dem der DbcAspect definiert wurde.</param> /// <param name="accessType">Gibt an, bei welchem Zugriff der Kontrakt angewendet werden soll.</param> /// <param name="checkTime">Gibt an, zu welchem Zeitpunkt der Kontrakt angewendet werden soll.</param> /// <param name="contractClassName">Gibt den Namen der Kontraktklasse an.</param> /// <param name="exceptionType">Gibt den Typ der Exception an, die bei Nichterfüllung des Kontrakts geworfen werden soll.</param> /// <param name="exceptionString">Gibt den Exceptiontext an, der bei Nichterfüllung des Kontrakts geworfen werden soll.</param> internal MemberBaseModel(MemberInfo member, AccessType accessType, CheckTime checkTime, string contractClassName, Type exceptionType, string exceptionString) { DbcAccessType = accessType; DbcCheckTime = checkTime; Member = member; ContractClassName = contractClassName; ExceptionType = exceptionType; ExceptionString = exceptionString; }
public void InsertOrUpdate <T>(LineObjectCollection <T> locLineObjects, TableSpecification ts, UpdatesLn updatesLn) where T : ILineObject <T> { CheckTime ct = new CheckTime(false, "InsertOrUpdate for '{0}' entered", ts.TableName); List <object> lInserted = new List <object>(); List <object> lUpdated = new List <object>(); m_diInserted.Add(ts.TableName, lInserted); m_diUpdated.Add(ts.TableName, lUpdated); if (locLineObjects == null) { return; } UpdateStatistic us = m_uss.EnsureStatistic(ts.TableName); string sInfo = string.Format("{0} table [{1}] {2}; ", m_sLiveBet, ts.TableName, locLineObjects); #if DEBUG int iInsertCount = 0; int iUpdateCount = 0; #endif try { ct.AddEvent("Empty DataTables created."); foreach (string sKey in locLineObjects.Keys) { using (DataCopyTables dct = DataCopyTables.GetDataCopyTables(m_conn, m_transaction, ts.TableName)) { T obj = locLineObjects[sKey]; obj.UpdateId = updatesLn.UpdateId; if (obj.IsNew) { DataRow drNew = obj.CreateDataRow(dct.InsertDataTable); dct.InsertDataTable.Rows.Add(drNew); lInserted.Add(obj); } else { DataRow drNew = obj.CreateDataRow(dct.UpdateDataTable); dct.UpdateDataTable.Rows.Add(drNew); lUpdated.Add(obj); } #if DEBUG iInsertCount = dct.InsertDataTable.Rows.Count; iUpdateCount = dct.UpdateDataTable.Rows.Count; #endif if (dct.InsertDataTable.Rows.Count > 0) { using (IDbCommand cmdInsert = GenerateInsertCommand(m_conn, m_transaction, dct.InsertDataTable, ts)) { using (IDisposable dsp = SqlObjectFactory.CreateDbAdapter(null) as IDisposable) { IDbDataAdapter daInsert = dsp as IDbDataAdapter; Debug.Assert(daInsert != null); daInsert.InsertCommand = cmdInsert; dct.InsertDataTable.AcceptChanges(); foreach (DataRow dr in dct.InsertDataTable.Rows) { dr.SetAdded(); } using (DataSet ds = new DataSet()) { ds.Tables.Add(dct.InsertDataTable); daInsert.Update(ds); } } } us.InsertCount = dct.InsertDataTable.Rows.Count; ct.AddEvent("Insert completed ({0})", dct.InsertDataTable.Rows.Count); } if (dct.UpdateDataTable.Rows.Count > 0) { using (IDbCommand cmdUpdate = GenerateUpdateCommand(m_conn, m_transaction, dct.UpdateDataTable, ts)) { using (IDisposable dsp = SqlObjectFactory.CreateDbAdapter(null) as IDisposable) { IDbDataAdapter daUpdate = dsp as IDbDataAdapter; Debug.Assert(daUpdate != null); daUpdate.UpdateCommand = cmdUpdate; dct.UpdateDataTable.AcceptChanges(); foreach (DataRow dr in dct.UpdateDataTable.Rows) { dr.SetModified(); } using (DataSet ds = new DataSet()) { ds.Tables.Add(dct.UpdateDataTable); daUpdate.Update(ds); } } } us.UpdateCount = dct.UpdateDataTable.Rows.Count; ct.AddEvent("Update completed ({0})", dct.UpdateDataTable.Rows.Count); } ct.AddEvent("Insert/Update filled up (I.Cnt={0}; U.Cnt={1})", dct.InsertDataTable.Rows.Count, dct.UpdateDataTable.Rows.Count); } } //Debug.Assert(us.Count == arrObjects.Length); //m_elInfo.AddFormat("{0} Result: Succeeded; Inserted: {1}; Updated: {2}; Skipped; {3}", sInfo, us.InsertCount, us.UpdateCount, us.SkipCount); } catch (Exception excp) { m_elInfo.AddFormat("{0} Result: FAILED; Inserted: {1}; Updated: {2};", sInfo, us.InsertCount, us.UpdateCount); #if DEBUG if (typeof(T) == typeof(TaggedStringLn)) { FindDuplucates(locLineObjects); } int iCount = 0; string sObjectList = string.Format("ERROR objects (Count={0})\r\n", locLineObjects.Count); foreach (T obj in locLineObjects.Values) { sObjectList += obj.ToString() + "\r\n"; if (++iCount > MAX_ERROR_LIST_COUNT) { sObjectList += string.Format("And More {0} objects not listed", locLineObjects.Count - iCount); break; } } m_logger.Error(sObjectList, excp); #endif ExcpHelper.ThrowUp(excp, "ERROR InsertOrUpdate() for {0}", locLineObjects); } finally { ct.AddEvent("InsertOrUpdate for '{0}' completed", ts.TableName); ct.Info(m_logger); } }
public void Handle(CheckTime message) { _timeServer.Tell("gettime", Self); }
private void Form2_Load(object sender, EventArgs e) { numericUpDown1.Text = SleepTime.ToString(); numericUpDown2.Text = CheckTime.ToString(); numericUpDown3.Text = Radius.ToString(); }
public void VerifySelectedOdds(SortableObservableCollection <ITipItemVw> socSelectedOdds, SyncHashSet <ITipItemVw> hsOddsToRemove = null) { CheckTime ct = new CheckTime(true, "VerifySelectedOdds(TipCount={0})", socSelectedOdds.Count); ExcpHelper.ThrowIf <ArgumentNullException>(socSelectedOdds == null, "VerifySelectedOdds(NULL) ERROR"); lock (_verifyLocker) { ct.AddEvent("Lock Entered"); if (hsOddsToRemove != null) { hsOddsToRemove.Clear(); } else { hsOddsToRemove = new SyncHashSet <ITipItemVw>(); } SyncList <ITipItemVw> lTipItems = socSelectedOdds.ToSyncList(); foreach (TipItemVw tiv in lTipItems) { // Check if selected odd is not expired if (!CheckOdd(tiv.Odd)) { hsOddsToRemove.Add(tiv); } // Check if selected odd is not yet in current collection (m_lSelectedOdds) else if (!m_lSelectedOdds.Contains(tiv.Odd)) { m_lSelectedOdds.Add(tiv.Odd); tiv.Odd.BetDomain.Match.SetSelected(tiv.Odd, true); } } ct.AddEvent("Check Completed"); // Remove from socSelectedOdds and m_lSelectedOdds for (int i = 0; i < lTipItems.Count;) { var tiv = lTipItems[i]; if (hsOddsToRemove.Contains(tiv)) { // This Odd is expired lTipItems.Remove(tiv); socSelectedOdds.Remove(tiv); m_lSelectedOdds.Remove(tiv.Odd); tiv.Odd.BetDomain.Match.SetSelected(tiv.Odd, false); } else { i++; } } ct.AddEvent("Remove from List Completed"); // Remove from m_lSelectedOdd those items were not removed in previous cycle for (int i = 0; i < m_lSelectedOdds.Count;) { IOddLn odd = m_lSelectedOdds[i]; TipItemVw tiv = new TipItemVw(odd); if (!lTipItems.Contains(tiv)) { m_lSelectedOdds.Remove(odd); tiv.Odd.BetDomain.Match.SetSelected(tiv.Odd, false); } else { i++; } } ct.AddEvent("Remove from List2 Completed"); } ct.Info(m_logger); }