Пример #1
0
        static void LoadRotationRows(List <object> ocRows, object oRow, SqlDataReader rdr)
        {
            if (rdr["Venue"].ToString().Trim() == "Away")
            {
                CoversDTO oCoversDTO = new CoversDTO(); // Populate from Away row

                oCoversDTO.GameDate            = (DateTime)rdr["GameDate"];
                oCoversDTO.LeagueName          = rdr["LeagueName"].ToString().Trim();;
                oCoversDTO.RotNum              = (int)rdr["RotNum"];
                oCoversDTO.GameTime            = rdr["GameTime"].ToString().Trim();;
                oCoversDTO.TeamAway            = rdr["Team"].ToString().Trim();;
                oCoversDTO.TeamHome            = rdr["Opp"].ToString().Trim();;
                oCoversDTO.Url                 = rdr["BoxScoreUrl"].ToString().Trim();;
                oCoversDTO.BoxscoreNumber      = "";
                oCoversDTO.LineTotalOpen       = Convert.ToSingle(rdr["OpenTotalLine"]);
                oCoversDTO.LineTotal           = Convert.ToSingle(rdr["TotalLine"]);
                oCoversDTO.LineSideOpen        = Convert.ToSingle((Convert.ToSingle(rdr["SideLine"]) * (-1.0)));
                oCoversDTO.LineSideClose       = oCoversDTO.LineSideOpen;
                oCoversDTO.GameStatus          = 2; // Final /// kdtodo if today status = ???
                oCoversDTO.ScoreAway           = 0;
                oCoversDTO.ScoreHome           = 0;
                oCoversDTO.Period              = 0;
                oCoversDTO.SecondsLeftInPeriod = 0;

                ocRows.Add(oCoversDTO);
            }
        }
Пример #2
0
        public void AddCover([FromBody] CoversDTO covers)
        {
            var book = bookRepositoryService.Queryable().Where(x => x.Id == covers.ID).FirstOrDefault();

            book.CoverURL        = covers.CoverURL;
            book.ResizedCoverURL = covers.ResizedCoverURL;
            bookRepositoryService.Update(book);
            unitOfWork.Save();
        }
Пример #3
0
        public int LoadBoxScore(DateTime GameDate) // Return NumOfMatchups
        {
            /*
             *
             * */
            DateTime LoadDateTime     = DateTime.Now;
            string   _strLoadDateTime = LoadDateTime.ToString();

            SortedList <string, CoversDTO> ocRotation = new SortedList <string, CoversDTO>();

            RotationDO.PopulateRotation(ocRotation, _oSeasonInfo.GameDate, _oLeagueDTO, _ConnectionString, _strLoadDateTime);
            if (ocRotation.Count == 0)
            {
                return(0);                      // No Games for GameDate
            }
            foreach (var matchup in ocRotation)
            {
                CoversDTO oCoversDTO = matchup.Value;
                // 1) Get BoxScore from Covers
                CoversBoxscore oCoversBoxscore = new CoversBoxscore(GameDate, _oLeagueDTO, oCoversDTO);
                oCoversBoxscore.GetBoxscore(); // Get BoxScore from Covers
                if (oCoversBoxscore.ReturnCode != 0)
                {
                    // kdtodo log error
                    continue;
                }
                string[] arVenue = new string[] { "Away", "Home" };
                for (int i = 0; i < 2; i++)
                {
                    try
                    {
                        // Write Away & Home rows to BoxScores
                        BoxScoresDTO BoxScoresDTO = new BoxScoresDTO();
                        oCoversBoxscore.PopulateBoxScoresDTO(BoxScoresDTO, arVenue[i], _oSeasonInfo.oSeasonInfoDTO.Season, _oSeasonInfo.oSeasonInfoDTO.SubSeason, LoadDateTime
                                                             , oCoversBoxscore.LoadTimeSecound, "Covers");
                        Bball.DAL.Tables.BoxScoreDO.InsertBoxScores(BoxScoresDTO);
                    }
                    catch (Exception ex)
                    {
                        string msg = $"BoxScore Load Error - "
                                     + $"{_oLeagueDTO.LeagueName}: {GameDate}  {oCoversDTO.RotNum}:{arVenue[i]}  {oCoversDTO.TeamAway}-{oCoversDTO.TeamHome} "
                                     + "\n" + oCoversDTO.Url;
                        throw new Exception(SysDAL.DALfunctions.StackTraceFormat(msg, ex, ""));
                    }
                }

                // Write Last 5 Minutes stats
                BoxScoresLast5MinDTO oLast5MinDTOHome = new BoxScoresLast5MinDTO()
                {
                    LeagueName = oCoversDTO.LeagueName
                    , GameDate = oCoversDTO.GameDate
                    , RotNum   = oCoversDTO.RotNum + 1
                    , Team     = oCoversDTO.TeamHome
                    , Opp      = oCoversDTO.TeamAway
                    , Venue    = "Home"
                    , LoadDate = LoadDateTime
                };
                try
                {
                    //Bball.DAL.Tables.
                    BoxScoreDO.InsertAwayHomeRowsBoxScoresLast5Min(oLast5MinDTOHome);
                }
                catch (Exception ex)
                {
                    string msg = $"BoxScoreL5Min Load Error - "
                                 + $"{_oLeagueDTO.LeagueName}: {GameDate}  {oCoversDTO.RotNum}:  {oCoversDTO.TeamAway}-{oCoversDTO.TeamHome} "
                                 + "\n" + Bball.DAL.Parsing.BoxScoresLast5Min.BuildBoxScoresLast5MinUrl(oLast5MinDTOHome);
                    // throw new Exception(SysDAL.DALfunctions.StackTraceFormat(msg, ex, ""));
                    //Trace.Trace.Log(SysDAL.DALfunctions.StackTraceFormat(msg, ex, ""));
                }
            } // foreach

            AdjustmentsDO oAdjustments = new AdjustmentsDO(GameDate, _oLeagueDTO.LeagueName, _ConnectionString);

            oAdjustments.ProcessDailyAdjustments(GameDate, _oLeagueDTO.LeagueName);

            return(ocRotation.Count); // return NumOfMatchups
        } // LoadBoxScore
Пример #4
0
        private void writeRotation()
        {
            DailySummaryDO oDailySummary = new DailySummaryDO(_GameDate, _oLeagueDTO, _ConnectionString, _strLoadDateTime);

            oDailySummary.RefreshRow(_ocRotation.Count);

            deleteRotation();

            List <string> ocColumns = ColumnNames.Split(',').OfType <string>().ToList();

            // write rotation
            foreach (var kvp in _ocRotation)
            {
                CoversDTO oCoversDTO = kvp.Value;
                //  string ConnectionString = SqlFunctions.GetConnectionString();
                string SQL = SysDAL.DALfunctions.GenSql(RotationTable, ocColumns);
                // "LeagueName,GameDate,RotNum, Venue,Team,Opp,
                // GameTime,TV,SideLine,TotalLine,TotalLineTeam,
                // TotalLineOpp,OpenTotalLine,BoxScoreSource,BoxScoreUrl,CreateDate
                // ,UpdateDate";
                List <string> ocValues = new List <string>()
                {
                    _oLeagueDTO.LeagueName
                    , _GameDate.ToShortDateString()
                    , oCoversDTO.RotNum.ToString()
                    , "Away"
                    , oCoversDTO.TeamAway
                    , oCoversDTO.TeamHome

                    , oCoversDTO.GameTime
                    , ""
                    , (oCoversDTO.LineSideClose * (-1)).ToString()
                    , oCoversDTO.LineTotal.ToString()
                    , ((oCoversDTO.LineTotal + oCoversDTO.LineSideOpen) / 2).ToString()

                    , ((oCoversDTO.LineTotal - oCoversDTO.LineSideOpen) / 2).ToString()
                    , oCoversDTO.LineTotalOpen.ToString()
                    , "Covers"
                    , oCoversDTO.Url
                    , _strLoadDateTime
                    , _strLoadDateTime
                };
                // Insert Away Row
                int rc = SysDAL.DALfunctions.InsertRow(_ConnectionString, SQL, ocColumns, ocValues);

                // Populate Home Row
                ocValues = new List <string>()
                {
                    _oLeagueDTO.LeagueName
                    , _GameDate.ToShortDateString()
                    , (oCoversDTO.RotNum + 1).ToString()
                    , "Home"
                    , oCoversDTO.TeamHome
                    , oCoversDTO.TeamAway

                    , oCoversDTO.GameTime
                    , ""
                    , (oCoversDTO.LineSideClose).ToString()
                    , oCoversDTO.LineTotal.ToString()
                    , ((oCoversDTO.LineTotal - oCoversDTO.LineSideOpen) / 2).ToString()

                    , ((oCoversDTO.LineTotal + oCoversDTO.LineSideOpen) / 2).ToString()
                    , oCoversDTO.LineTotalOpen.ToString()
                    , "Covers"
                    , oCoversDTO.Url
                    , DateTime.Now.ToString()
                    , DateTime.Now.ToString()
                };
                // Insert Away Row
                rc = SysDAL.DALfunctions.InsertRow(_ConnectionString, SQL, ocColumns, ocValues);
            } // foreach
        }
Пример #5
0
        //string QueryAdjustmentsSql = ""
        //   + "SELECT * FROM Adjustments  "
        //   + $"  WHERE LeagueName = '{LeagueName}' "
        //   + $"    AND ((Type = 'L' AND StartDate <= #{GameDate}#   AND (EndDate IS NULL or EndDate >= #{GameDate}#) ) "
        //   + $"     Or  (StartDate <= #{GameDate}#  AND (EndDate IS NULL or EndDate >= #{GameDate}#) )  AND AdjAmt <> 0 ) "
        //   + "    ORDER BY Type DESC ;"
        //   ;

        //string QueryString = "SqlCommand=Select&SQL=" + VBFunctions.URLEncode(QueryAdjustmentsSql);
        //String url = "http://bball.com.violet.arvixe.com/ExecSql2.aspx";
        //WebPageGet oWebPageGet = new WebPageGet();
        //oWebPageGet.NewWebPagePost(url, QueryString);
        //string xmlString = oWebPageGet.Html;

        //// Simple deserialization of XML to C# object - http://www.janholinka.net/Blog/Article/11

        //StringReader stringReader = new StringReader(xmlString);
        //XmlSerializer serializer = new XmlSerializer(typeof(List<Row>), new XmlRootAttribute("SQLrows"));

        //List<Row> adjList = (List<Row>)serializer.Deserialize(stringReader);
        //List<Row> SortedAdjList = adjList.OrderBy(o => o.Team).ToList();

        public void ProcessDailyAdjustments(DateTime GameDate, string LeagueName)
        {
            DateTime LoadDateTime     = DateTime.Now;
            string   _strLoadDateTime = LoadDateTime.ToString();

            SortedList <string, CoversDTO> ocRotation = new SortedList <string, CoversDTO>();

            populateRotation(ocRotation, GameDate, _ConnectionString, _strLoadDateTime);
            if (ocRotation.Count == 0)
            {
                return; // No Games for GameDate
            }
            List <string> Teams = new List <string>();

            foreach (var matchup in ocRotation)
            {
                CoversDTO oCoversDTO = matchup.Value;
                Teams.Add(oCoversDTO.TeamAway);
                Teams.Add(oCoversDTO.TeamHome);
            }

            DeleteAdjustments(GameDate, LeagueName);

            List <Row> SortedAdjList = getAdjustmentsFromWeb(GameDate, LeagueName);
            double     ctrLgAdj      = 0;

            foreach (Row adjRow in SortedAdjList)
            {
                if (adjRow.Type == "L")
                {
                    ctrLgAdj += adjRow.AdjAmt;
                }
                else if (Teams.SingleOrDefault(s => s == adjRow.Team) == null) // If Team not in list, they don't play today, so bypass
                {
                    continue;
                }

                writeAdjustment(adjRow);
            }

            AdjustmentsDailyDO oAdjustmentsDaily = new AdjustmentsDailyDO(_ConnectionString);

            oAdjustmentsDaily.DeleteDailyAdjustments(GameDate, LeagueName);

            foreach (var matchup in ocRotation)
            {
                CoversDTO oCoversDTO = matchup.Value;
                string[]  teams      = new string[] { oCoversDTO.TeamAway, oCoversDTO.TeamHome };
                int       RotNum     = oCoversDTO.RotNum;
                for (int ixVenue = 0; ixVenue < 2; ixVenue++)
                {
                    double ctrTeamAdj = ctrLgAdj;
                    foreach (Row r in SortedAdjList)
                    {
                        if (r.Team == teams[ixVenue])
                        {
                            ctrTeamAdj += r.AdjAmt;
                        }
                    } // loop adj rows
                    writeAdjustmentDaily(oAdjustmentsDaily, GameDate, LeagueName, RotNum, teams[ixVenue], ctrTeamAdj);
                    RotNum++;
                } // foreach Venue
            }     // foreach matchup
        }         // ProcessDailyAdjustments