/* G E N O P E N S L O T S R E P O R T */ /*---------------------------------------------------------------------------- %%Function: GenOpenSlotsReport %%Qualified: ArbWeb.CountsData.GenOpenSlotsReport %%Contact: rlittle ----------------------------------------------------------------------------*/ public void GenOpenSlotsReport(string sReport, bool fDetail, bool fFuzzyTimes, bool fDatePivot, string[] rgsSportFilter, string[] rgsSportLevelFilter, SlotAggr sa) { m_gmd.GenOpenSlotsReport(sReport, fDetail, fFuzzyTimes, fDatePivot, rgsSportFilter, rgsSportLevelFilter, sa); }
/* C A L C O P E N S L O T S W O R K */ /*---------------------------------------------------------------------------- %%Function: CalcOpenSlotsWork %%Qualified: ArbWeb.AwMainForm.CalcOpenSlotsWork %%Contact: rlittle ----------------------------------------------------------------------------*/ private CountsData CalcOpenSlotsWork() { m_srpt.AddMessage("Calculating slot data...", StatusRpt.MSGT.Header, false); CountsData gc = GcEnsure(m_ebRosterWorking.Text, m_ebGameCopy.Text, m_cbIncludeCanceled.Checked); Roster rst = RstEnsure(m_ebRosterWorking.Text); m_srpt.PopLevel(); m_srpt.AddMessage("Calculating open slots...", StatusRpt.MSGT.Header, false); m_saOpenSlots = gc.CalcOpenSlots(m_dtpStart.Value, m_dtpEnd.Value); return gc; }
public string[] GetSiteRosterSites(SlotAggr sa) { return m_gmd.GetSiteRosterSites(sa); }
/* G A M E S F R O M F I L T E R */ /*---------------------------------------------------------------------------- %%Function: GamesFromFilter %%Qualified: ArbWeb.CountsData.GamesFromFilter %%Contact: rlittle ----------------------------------------------------------------------------*/ public GameData.GameSlots GamesFromFilter(string[] rgsSportFilter, string[] rgsSportLevelFilter, bool fOpenOnly, SlotAggr sa) { return m_gmd.GamesFromFilter(rgsSportFilter, rgsSportLevelFilter, fOpenOnly, sa); }
public string[] GetSiteRosterSites(SlotAggr sa) { List<string> plsSports = new List<string>(); List<string> plsSites = new List<string>(); foreach (GameSlot gm in m_plgmsSorted.Values) { if (gm.Dttm < sa.DttmStart || gm.Dttm > sa.DttmEnd) continue; if (!plsSports.Contains(gm.SportLevel)) plsSports.Add(gm.SportLevel); if (!plsSites.Contains(gm.SiteShort)) plsSites.Add(gm.SiteShort); } return plsSites.ToArray(); }
/* G E T O P E N S L O T S P O R T S */ /*---------------------------------------------------------------------------- %%Function: GetOpenSlotSports %%Qualified: ArbWeb.CountsData.GetOpenSlotSports %%Contact: rlittle ----------------------------------------------------------------------------*/ public string[] GetOpenSlotSports(SlotAggr sa) { return m_gmd.GetOpenSlotSports(sa); }
/* G E N O P E N S L O T S R E P O R T */ /*---------------------------------------------------------------------------- %%Function: GenOpenSlotsReport %%Qualified: ArbWeb.CountsData:GameData:Games.GenOpenSlotsReport %%Contact: rlittle ----------------------------------------------------------------------------*/ public void GenOpenSlotsReport(string sReport, bool fDetail, bool fFuzzyTimes, bool fDatePivot, string[] rgsSportFilter, string[] rgsSportLevelFilter, SlotAggr sa) { if (fDetail) GenOpenSlotsReportDetail(sReport, rgsSportFilter, rgsSportLevelFilter, sa); else GenOpenSlotsReport(sReport, rgsSportFilter, rgsSportLevelFilter, fFuzzyTimes, fDatePivot, sa); }
/* G E T O P E N S L O T S P O R T S */ /*---------------------------------------------------------------------------- %%Function: GetOpenSlotSports %%Qualified: ArbWeb.CountsData:GameData:Games.GetOpenSlotSports %%Contact: rlittle ----------------------------------------------------------------------------*/ public string[] GetOpenSlotSports(SlotAggr sa) { string[] rgs = new string[sa.Sports.Length]; sa.Sports.CopyTo(rgs, 0); return rgs; }
/* G A M E S F R O M F I L T E R */ /*---------------------------------------------------------------------------- %%Function: GamesFromFilter %%Qualified: ArbWeb.GameData.Games.GamesFromFilter %%Contact: rlittle ----------------------------------------------------------------------------*/ public GameSlots GamesFromFilter(string[] rgsSportFilter, string[] rgsSportLevelFilter, bool fOpenOnly, SlotAggr sa) { GameSlots gms = new GameSlots(m_srpt); DateTime dttmStart = sa.DttmStart; DateTime dttmEnd = sa.DttmEnd; SortedList<string, int> plsSports = Utils.PlsUniqueFromRgs(rgsSportFilter); SortedList<string, int> plsLevels = Utils.PlsUniqueFromRgs(rgsSportLevelFilter); foreach (GameSlot gm in m_plgmsSorted.Values) { if (!gm.Open && fOpenOnly) continue; if (DateTime.Compare(gm.Dttm, dttmStart) < 0 || DateTime.Compare(gm.Dttm, dttmEnd) > 0) continue; if (plsSports != null && !(plsSports.ContainsKey(gm.Sport))) continue; if (plsLevels != null && !(plsLevels.ContainsKey(gm.SportLevel))) continue; gms.AddGame(gm); } return gms; }
/* G E N O P E N S L O T S R E P O R T D E T A I L */ /*---------------------------------------------------------------------------- %%Function: GenOpenSlotsReportDetail %%Qualified: ArbWeb.CountsData:GameData:Games.GenOpenSlotsReportDetail %%Contact: rlittle Generate a report of open slots ----------------------------------------------------------------------------*/ private void GenOpenSlotsReportDetail(string sReport, string[] rgsSportFilter, string[] rgsSportLevelFilter, SlotAggr sa) { DateTime dttmStart = sa.DttmStart; DateTime dttmEnd = sa.DttmEnd; StreamWriter sw = new StreamWriter(sReport, false, Encoding.Default); string sFormat = "<tr><td>{0}<td>{1}<td>{2}<td>{3}<td>{4}<td>{5}<td>{6}<td>{7}</tr>"; sw.WriteLine("<html><body><table>"); sw.WriteLine(String.Format(sFormat, "Game", "Date", "Time", "Field", "Level", "Home", "Away", "Slots")); SortedList<string, int> plsSports = Utils.PlsUniqueFromRgs(rgsSportFilter); SortedList<string, int> plsLevels = Utils.PlsUniqueFromRgs(rgsSportLevelFilter); foreach (GameSlot gm in m_plgmsSorted.Values) { if (!gm.Open) continue; if (DateTime.Compare(gm.Dttm, dttmStart) < 0 || DateTime.Compare(gm.Dttm, dttmEnd) > 0) continue; if (plsSports != null && !(plsSports.ContainsKey(gm.Sport))) continue; if (plsLevels != null && !(plsLevels.ContainsKey(gm.SportLevel))) continue; sw.WriteLine(String.Format(sFormat, gm.GameNum, gm.Dttm.ToString("MM/dd/yy ddd"), gm.Dttm.ToString("hh:mm tt"), gm.Site, String.Format("{0}, {1}", gm.Sport, gm.Level), gm.Home, gm.Away, gm.Pos)); } sw.Close(); }
/* G E N O P E N S L O T S R E P O R T */ /*---------------------------------------------------------------------------- %%Function: GenOpenSlotsReport %%Qualified: ArbWeb.CountsData:GameData:Games.GenOpenSlotsReport %%Contact: rlittle ----------------------------------------------------------------------------*/ private void GenOpenSlotsReport(string sReport, string[] rgsSportsFilter, string[] rgsSportLevelsFilter, bool fFuzzyTimes, bool fDatePivot, SlotAggr sa) { // sa.GenReport(sReport, rgsSportsFilter, rgsSportLevelsFilter); sa.GenReportBySite(sReport, fFuzzyTimes, fDatePivot, rgsSportsFilter, rgsSportLevelsFilter); }
/* G E T O P E N S L O T S P O R T L E V E L S */ /*---------------------------------------------------------------------------- %%Function: GetOpenSlotSportLevels %%Qualified: ArbWeb.CountsData:GameData.GetOpenSlotSportLevels %%Contact: rlittle ----------------------------------------------------------------------------*/ public string[] GetOpenSlotSportLevels(SlotAggr sa) { return m_gms.GetOpenSlotSportLevels(sa); }
/* G E N */ /*---------------------------------------------------------------------------- %%Function: Gen %%Qualified: ArbWeb.SlotAggr.Gen %%Contact: rlittle ----------------------------------------------------------------------------*/ public static SlotAggr Gen(SortedList<string, GameData.GameSlot> plgm, DateTime dttmStart, DateTime dttmEnd, string[] rgsSportFilter, string[] rgsSportLevelFilter, bool fOnlyOpen) { SlotAggr os = new SlotAggr(); os.m_plgm = plgm; os.m_dttmStart = dttmStart; os.m_dttmEnd = dttmEnd; os.m_mpSlotSc = new SortedList<DateTime, SlotCount>(); os.m_plsSports = new List<string>(); os.m_plsSportLevels = new List<string>(); os.m_plsSites = new List<string>(); foreach (GameData.GameSlot gm in plgm.Values) { if (!gm.Open && fOnlyOpen) continue; if (DateTime.Compare(gm.Dttm, dttmStart) < 0 || DateTime.Compare(gm.Dttm, dttmEnd) > 0) continue; if (rgsSportFilter != null) { bool fMatch = false; foreach (string s in rgsSportFilter) if (String.Compare(gm.Sport, s, true) == 0) fMatch = true; if (fMatch == false) continue; } if (rgsSportLevelFilter != null) { bool fMatch = false; foreach (string s in rgsSportLevelFilter) if (String.Compare(gm.SportLevel, s, true) == 0) fMatch = true; if (fMatch == false) continue; } if (os.m_mpSlotSc.ContainsKey(gm.Dttm)) { os.m_mpSlotSc[gm.Dttm].AddSlot(gm); } else { os.m_mpSlotSc.Add(gm.Dttm, new SlotCount(gm)); } } foreach (SlotCount sc in os.m_mpSlotSc.Values) { foreach (string sSport in sc.Sports) { if (!os.m_plsSports.Contains(sSport)) os.m_plsSports.Add(sSport); } foreach (string sSportLevel in sc.SportLevels) { if (!os.m_plsSportLevels.Contains(sSportLevel)) os.m_plsSportLevels.Add(sSportLevel); } foreach (string sSite in sc.Sites) { if (!os.m_plsSites.Contains(sSite)) os.m_plsSites.Add(sSite); } } return os; }