コード例 #1
0
        private long CreateNewHistory(RunnerDTS dts)
        {
            RacconHistory data = Utils.Utils.BuildNewHistory();

            data.subjecttype = (int)eHistorySubjectType.Runner;
            data.subjectkey  = dts.subjectKey;
            data.subjectname = dts.subjectName;

            if (dts.changeProperty == "Rider")
            {
                var runners = new[] {
                    new {
                        Runner     = dts.contestantNumber,
                        RunnerName = dts.contestantName,
                        RiderName  = dts.contestantRider
                    }
                };
                data.historytype = (int)eHistoryType.RiderChange;
                data.data        = JsonConvert.SerializeObject(new {
                    raceNumber = dts.raceNumber,
                    runners    = runners
                });
            }

            return(_historyRepo.InsertHistory(data));
        }
コード例 #2
0
        private long CreateNewHistory(PoolDTS dts)
        {
            RacconHistory data = Utils.Utils.BuildNewHistory();

            data.historytype = dts.changeData == null ? (int)eHistoryType.Reopen : (int)eHistoryType.StopSell;
            data.subjecttype = (int)eHistorySubjectType.Race;
            data.subjectkey  = dts.subjectKey;
            data.subjectname = dts.subjectName;

            if (data.historytype == (int)eHistoryType.StopSell)
            {   // stop sell
                data.data = JsonConvert.SerializeObject(new {
                    scheduledStart = dts.startTime,
                    stopSell       = dts.changeData
                });
            }
            else
            {   // reopen
                data.data = JsonConvert.SerializeObject(new {
                    Action   = "Approved",
                    UserRole = BRAVO_USER,
                    Arst     = dts.startTime
                });
            }

            return(_historyRepo.InsertHistory(data));
        }
コード例 #3
0
        private long CreateNewHistory(MeetingDTS dts)
        {
            RacconHistory data = Utils.Utils.BuildNewHistory();

            data.subjecttype = (int)eHistorySubjectType.CalendarMeeting;
            data.subjectkey  = dts.subjectKey;
            data.subjectname = dts.subjectName;

            if (dts.changeProperty == "WeatherCondition")
            {
                data.historytype = (int)eHistoryType.TrackAndWeather;
                data.data        = JsonConvert.SerializeObject(new {
                    track   = "",
                    weather = dts.changeData
                });
            }
            if (dts.changeProperty == "SurfaceCondition")
            {
                data.historytype = (int)eHistoryType.TrackAndWeather;
                data.data        = JsonConvert.SerializeObject(new {
                    track   = dts.changeData,
                    weather = ""
                });
            }

            return(_historyRepo.InsertHistory(data));
        }
コード例 #4
0
        private long CreateNewHistory(RaceDTS dts)
        {
            RacconHistory data = Utils.Utils.BuildNewHistory();

            data.subjecttype = (int)eHistorySubjectType.Race;
            data.subjectkey  = dts.subjectKey;
            data.subjectname = dts.subjectName;

            if (dts.changeProperty == "StartTime")
            {
                data.historytype = (int)eHistoryType.AlterPostTime;
                data.data        = JsonConvert.SerializeObject(new {
                    postTime = dts.changeData,
                    userName = BRAVO_USER
                });
            }
            if (dts.changeProperty == "ResultedTime")
            {
                if (Utils.Utils.IsRaceInCache(dts.subjectKey, (DateTime)dts.changeData))
                {
                    return(0);
                }
                data.historytype = (int)eHistoryType.InterimResult;
                data.data        = JsonConvert.SerializeObject(new {
                    result   = dts.result,
                    userName = BRAVO_USER
                });
            }

            return(_historyRepo.InsertHistory(data));
        }
コード例 #5
0
 public long InsertHistory(RacconHistory history)
 {
     using (SqlConnection conn = new SqlConnection(_connStr))
     {
         return(conn.Insert(history));
     }
 }
コード例 #6
0
ファイル: Utils.cs プロジェクト: deboerr/SlingshotWiftBridge
        public static RacconHistory BuildNewHistory()
        {
            var data = new RacconHistory();

            data.id          = Guid.NewGuid();
            data.historytime = DateTime.UtcNow;
            var bytes = new Byte[16];

            data.userid        = new Guid(bytes); // BRAVO userid='00000000-0000-0000-0000-000000000000'
            data.status        = STATUS_SUCCESS;
            data.correlationid = null;

            return(data);
        }
コード例 #7
0
        public void InsertHistory_inserts_History()
        {
            var mockContext = new Mock <ISqlDataContext>();

            mockContext.Setup(x => x.InsertHistory(It.IsAny <RacconHistory>())).Returns(1);

            var sut = new HistoryRepository(
                mockContext.Object
                );

            var h = new RacconHistory();

            sut.InsertHistory(h);

            mockContext.Verify(ctx => ctx.InsertHistory(It.IsAny <RacconHistory>()), Times.AtLeastOnce());
        }
コード例 #8
0
        public void DoWork_handles_ChangedData()
        {
            RacconHistory spiedHistory = null;

            var mockLogger = new Mock <ILogger>();

            var historyRepository = new Mock <IHistoryRepository>();

            historyRepository
            .Setup(h =>
                   h.InsertHistory(It.IsAny <RacconHistory>())
                   )
            .Callback <RacconHistory>((h) =>
            {
                spiedHistory = h;
            }
                                      )
            .Returns(1);

            var sut = new DividendService(mockLogger.Object, historyRepository.Object);

            var ts  = new DateTime(2019, 11, 24, 14, 35, 0);
            var job = new Job {
                Entity         = eWiftEntity.Dividend,
                SubjectName    = "Test Race 1",
                RaceId         = Guid.Parse("C56A4180-65AA-42EC-A945-5FD21DEC0538"),
                ChangeProperty = "DividendStatus",
                ChangeData     = DIVSTATUS_FINAL,
                StartTime      = ts,
                DivType        = DIVTYPE_WIN,
                SourceId       = TABCORP_VIC,
                Result         = "1/2/3/4"
            };

            sut.DoWork(job);

            Assert.AreEqual("success", spiedHistory.status);
            Assert.AreEqual("Test Race 1", spiedHistory.subjectname);
            Assert.AreEqual("C56A4180-65AA-42EC-A945-5FD21DEC0538", spiedHistory.subjectkey.ToString().ToUpper());

            dynamic dyn = JsonConvert.DeserializeObject(spiedHistory.data);

            Assert.AreEqual("1/2/3/4", dyn.result.ToString());
        }
コード例 #9
0
        private long CreateNewHistory(DividendDTS dts)
        {
            RacconHistory data = Utils.Utils.BuildNewHistory();

            data.subjecttype = (int)eHistorySubjectType.Race;
            data.subjectkey  = dts.subjectKey;
            data.subjectname = dts.subjectName;

            data.historytype = (int)eHistoryType.Pay;
            data.data        = JsonConvert.SerializeObject(new {
                result = dts.result
            });

            var cnt = _historyRepo.InsertHistory(data);

            Utils.Utils.RemoveRaceFromCache(dts.subjectKey);

            return(cnt);
        }
コード例 #10
0
        public void DoWork_handles_ChangedData()
        {
            RacconHistory spiedHistory = null;

            var mockLogger = new Mock <ILogger>();

            var historyRepository = new Mock <IHistoryRepository>();

            historyRepository
            .Setup(h =>
                   h.InsertHistory(It.IsAny <RacconHistory>())
                   )
            .Callback <RacconHistory>((h) =>
            {
                spiedHistory = h;
            }
                                      )
            .Returns(1);

            var sut = new RunnerService(mockLogger.Object, historyRepository.Object);

            var job = new Job {
                Entity         = eWiftEntity.Runner,
                SubjectName    = "Test Runner 1",
                RunnerId       = Guid.Parse("C56A4180-65AA-42EC-A945-5FD21DEC0538"),
                ChangeProperty = "Rider",
                ChangeData     = "Ivy OCampo",
                RunnerNumber   = 12,
                RunnerName     = "Runner 12",
                Rider          = "Ivy OCampo",
                RaceNumber     = 4
            };

            sut.DoWork(job);

            Assert.AreEqual("success", spiedHistory.status);
            Assert.AreEqual("Test Runner 1", spiedHistory.subjectname);
            Assert.AreEqual("C56A4180-65AA-42EC-A945-5FD21DEC0538", spiedHistory.subjectkey.ToString().ToUpper());

            dynamic dyn = JsonConvert.DeserializeObject(spiedHistory.data);

            Assert.AreEqual("Ivy OCampo", dyn.runners[0].RiderName.ToString());
        }
コード例 #11
0
        public void DoWork_handles_ChangedData()
        {
            RacconHistory spiedHistory = null;

            var mockLogger = new Mock <ILogger>();

            var historyRepository = new Mock <IHistoryRepository>();

            historyRepository
            .Setup(h =>
                   h.InsertHistory(It.IsAny <RacconHistory>())
                   )
            .Callback <RacconHistory>((h) =>
            {
                spiedHistory = h;
            }
                                      )
            .Returns(1);

            var sut = new PoolService(mockLogger.Object, historyRepository.Object);

            var ts  = new DateTime(2019, 11, 24, 14, 35, 0);
            var job = new Job {
                Entity         = eWiftEntity.Pool,
                SubjectName    = "Test Race 1",
                RaceId         = Guid.Parse("C56A4180-65AA-42EC-A945-5FD21DEC0538"),
                ChangeProperty = "CloseTime",
                ChangeData     = ts,
                StartTime      = ts,
                DivType        = DIVTYPE_WIN,
                SourceId       = TABCORP_VIC
            };

            sut.DoWork(job);

            Assert.AreEqual("success", spiedHistory.status);
            Assert.AreEqual("Test Race 1", spiedHistory.subjectname);
            Assert.AreEqual("C56A4180-65AA-42EC-A945-5FD21DEC0538", spiedHistory.subjectkey.ToString().ToUpper());

            dynamic dyn = JsonConvert.DeserializeObject(spiedHistory.data);

            Assert.AreEqual("2019-11-24T14:35:00Z", dyn.stopSell.ToString("yyyy-MM-ddTHH:mm:ssZ"));
        }
コード例 #12
0
        public void DoWork_handles_ChangedData()
        {
            RacconHistory spiedHistory = null;

            var mockLogger = new Mock <ILogger>();

            var historyRepository = new Mock <IHistoryRepository>();

            historyRepository
            .Setup(h =>
                   h.InsertHistory(It.IsAny <RacconHistory>())
                   )
            .Callback <RacconHistory>((h) =>
            {
                spiedHistory = h;
            }
                                      )
            .Returns(1);

            var sut = new MeetingService(mockLogger.Object, historyRepository.Object);

            var job = new Job {
                Entity         = eWiftEntity.Meeting,
                ChangeProperty = "WeatherCondition",
                ChangeData     = "Cloudy",
                SubjectName    = "Test Meeting 1",
                MeetingId      = Guid.Parse("C56A4180-65AA-42EC-A945-5FD21DEC0538")
            };

            sut.DoWork(job);

            Assert.AreEqual("success", spiedHistory.status);
            Assert.AreEqual("Test Meeting 1", spiedHistory.subjectname);
            Assert.AreEqual("C56A4180-65AA-42EC-A945-5FD21DEC0538", spiedHistory.subjectkey.ToString().ToUpper());

            dynamic dyn = JsonConvert.DeserializeObject(spiedHistory.data);

            Assert.AreEqual("Cloudy", dyn.weather.ToString());
        }
コード例 #13
0
 // insert history
 public long InsertHistory(RacconHistory history)
 {
     return(_sqlDataContext.InsertHistory(history));
 }