Ejemplo n.º 1
0
        public ActionResult Delete(int id, FormCollection collection)
        {
            var week = WeekRepository.WeekFetch(id);

            WeekRepository.WeekDelete(id);

            return(this.RedirectToAction("Index", new { year = week.Year }));
        }
Ejemplo n.º 2
0
        public static Week WeekAdd()
        {
            var week = WeekTestHelper.WeekNew();

            week = WeekRepository.WeekSave(week);

            return(week);
        }
Ejemplo n.º 3
0
        public void Week_Fetch_Info_List()
        {
            WeekTestHelper.WeekAdd();
            WeekTestHelper.WeekAdd();

            var weeks = WeekRepository.WeekFetchInfoList(new WeekDataCriteria());

            Assert.IsTrue(weeks.Count() > 1, "Row returned should be greater than one");
        }
Ejemplo n.º 4
0
        public ActionResult Edit(int id)
        {
            var model = new WeekEditModel();
            var week  = WeekRepository.WeekFetch(id);

            model.Title = "Week Edit";
            model.Week  = week;

            return(this.View(model));
        }
Ejemplo n.º 5
0
        public void Week_Fetch()
        {
            var week = WeekTestHelper.WeekNew();

            week = WeekRepository.WeekSave(week);

            week = WeekRepository.WeekFetch(week.WeekId);

            Assert.IsTrue(week != null, "Row returned should not equal null");
        }
Ejemplo n.º 6
0
        public ActionResult Index(int?year)
        {
            var model = new WeekListModel();
            var weeks = WeekRepository.WeekFetchInfoList(new WeekDataCriteria());

            model.Weeks = weeks.Where(row => year == null || row.Year == year.Value);
            model.Years = weeks.Select(row => row.Year).Distinct();
            model.Actions.Add("Add weeks", Url.Action("Create"), "primary");

            return(this.View(model));
        }
Ejemplo n.º 7
0
        public static Week WeekNew()
        {
            var week = WeekRepository.WeekNew();

            week.StartDate = DateTime.Now.AddDays(DataHelper.RandomNumber(1000));
            week.EndDate   = week.StartDate.AddDays(7);
            week.Year      = week.StartDate.Year;
            week.Period    = 1;

            return(week);
        }
Ejemplo n.º 8
0
        public ActionResult Create(WeekCreateModel model)
        {
            if (this.ModelState.IsValid)
            {
                WeekRepository.WeekAdd(model.StartDate, DayOfWeek.Monday, model.NumberOfPeriods, model.Year);

                return(this.RedirectToAction("Index", new { year = model.Year }));
            }

            return(this.View(model));
        }
Ejemplo n.º 9
0
        public void Week_Add()
        {
            var week = WeekTestHelper.WeekNew();

            Assert.IsTrue(week.IsValid, "IsValid should be true");

            week = WeekRepository.WeekSave(week);

            Assert.IsTrue(week.WeekId != 0, "WeekId should be a non-zero value");

            WeekRepository.WeekFetch(week.WeekId);
        }
Ejemplo n.º 10
0
        public ActionResult Delete(int id)
        {
            var model = new DeleteModel();
            var week  = WeekRepository.WeekFetch(id);

            model.Title          = "Week Delete";
            model.Id             = week.WeekId;
            model.Name           = "Week";
            model.Description    = week.StartDate.ToShortDateString();
            model.ControllerName = "Week";
            model.BackUrl        = Url.Action("Index", "Week", new { year = week.Year });

            return(this.View(model));
        }
Ejemplo n.º 11
0
        public static AssistanceDTO from(session x, List <session> sessions)
        {
            IMesocycleRepository mesoRepo = new MesocycleRepository();
            IWeekRepository      weekRepo = new WeekRepository();

            var mesocycles = mesoRepo.mesocyclesByTrainingPlanIdNoNulls(x.week.mesocycle.trainingPlanId);

            mesocycles.OrderBy(m => m.startDate);

            var weeks = weekRepo.weeksByMesocycleId(x.week.mesocycleId);

            weeks.OrderBy(w => w.startDate);

            int totalMesocyclesOfTP = mesocycles.Count;
            int currentMC           = mesocycles.Count(m => m.startDate <= x.sessionDay);

            int totalOfWeeksOfMC = weeks.Count;
            int currentWeek      = weeks.Count(w => w.startDate <= x.sessionDay);

            AssistanceDTO assistance = new AssistanceDTO()
            {
                userId           = x.athelete.userId,
                athleteId        = x.athleteId,
                pictureURL       = x.athelete.user.pictureUrl,
                fullName         = $"{x.athelete.user.firstName} {x.athelete.user.lastName}",
                disciplineName   = x.athelete.discipline.disciplineName,
                currentMesocycle = currentMC,
                totalMesocycles  = totalMesocyclesOfTP,
                currentWeek      = currentWeek,
                totalWeeks       = totalOfWeeksOfMC,
                dateTime         = x.sessionDay,
                weekId           = x.weekId,
                trainingPlanName = x.week.mesocycle.trainingPlan.name,
                mesocycleName    = x.week.mesocycle.mesocycleType.mesocycleName
            };

            sessions.ForEach(s => {
                assistance.assistanceShifts.Add(new AssistanceShiftDTO()
                {
                    sessionId           = s.id,
                    shiftId             = s.shiftId,
                    shiftName           = s.shift.shiftName,
                    intensityPercentage = s.intensityPercentage,
                    attendance          = s.attendance
                });
            });

            return(assistance);
        }
Ejemplo n.º 12
0
        private static List <PowerRanking> GetPowerRankings(ChromeDriver driver, WeekRepository weekRepository)
        {
            var currentWeek           = week;
            var weeksForPowerRankings = new List <Week>();

            for (var i = 3; i >= 0; i--)
            {
                if (currentWeek - i > 0)
                {
                    weeksForPowerRankings.Add(weekRepository.GetWeek(driver, currentWeek - i, year));
                }
            }

            var powerRankingGenerator = new PowerRankingGenerator(weeksForPowerRankings, currentWeek);

            return(powerRankingGenerator.GeneratePowerRankings());
        }
Ejemplo n.º 13
0
        public void Week_Create()
        {
            var week = WeekRepository.WeekNew();

            Assert.IsTrue(week.IsNew, "IsNew should be true");
            Assert.IsTrue(week.IsDirty, "IsDirty should be true");
            Assert.IsFalse(week.IsValid, "IsValid should be false");
            Assert.IsTrue(week.IsSelfDirty, "IsSelfDirty should be true");
            Assert.IsFalse(week.IsSelfValid, "IsSelfValid should be false");

            Assert.IsTrue(
                ValidationHelper.ContainsRule(week, DbType.Date, "StartDate"),
                "StartDate should be required");

            Assert.IsTrue(
                ValidationHelper.ContainsRule(week, DbType.Date, "EndDate"),
                "EndDate should be required");
        }
Ejemplo n.º 14
0
        public void Week_Edit()
        {
            var week = WeekTestHelper.WeekNew();

            var name = week.StartDate;

            Assert.IsTrue(week.IsValid, "IsValid should be true");

            week = WeekRepository.WeekSave(week);

            week = WeekRepository.WeekFetch(week.WeekId);

            week.StartDate = week.StartDate.AddDays(1);

            week = WeekRepository.WeekSave(week);

            week = WeekRepository.WeekFetch(week.WeekId);

            Assert.IsTrue(week.StartDate != name, "Name should have different value");
        }
Ejemplo n.º 15
0
        public void Week_Delete()
        {
            var week = WeekTestHelper.WeekNew();

            Assert.IsTrue(week.IsValid, "IsValid should be true");

            week = WeekRepository.WeekSave(week);

            week = WeekRepository.WeekFetch(week.WeekId);

            WeekRepository.WeekDelete(week.WeekId);

            try
            {
                WeekRepository.WeekFetch(week.WeekId);
            }
            catch (Exception ex)
            {
                Assert.IsTrue(ex.GetBaseException() is InvalidOperationException);
            }
        }
Ejemplo n.º 16
0
        public ActionResult Edit(int id, FormCollection collection)
        {
            var model = new WeekEditModel();
            var week  = WeekRepository.WeekFetch(id);

            this.Map(collection, week);

            week = WeekRepository.WeekSave(week);

            if (week.IsValid)
            {
                return(this.RedirectToAction("Index", new { year = week.Year }));
            }

            model.Title = "Week Edit";
            model.Week  = week;

            ModelHelper.MapBrokenRules(this.ModelState, week);

            return(this.View(model));
        }
Ejemplo n.º 17
0
        private static void Main(string[] args)
        {
            var options = new ChromeOptions();
            //options.AddArgument("--headless");
            var driver = new ChromeDriver(options);

            //new ReturnerBuilder(driver).GenerateReturners();

            //login

            driver.Navigate().GoToUrl($"http://games.espn.com/ffl/standings?leagueId=127291&seasonId={year}");
            driver.SwitchTo().Frame("disneyid-iframe");
            var userNameBox = driver.FindElement(By.CssSelector("div.field-username-email input"));

            userNameBox.SendKeys(Keys.ArrowDown);
            userNameBox.SendKeys("*****@*****.**");

            var passwordBox = driver.FindElement(By.CssSelector("div.field-password input"));

            passwordBox.SendKeys(Keys.ArrowDown);
            passwordBox.SendKeys("grip1334");
            passwordBox.SendKeys(Keys.Enter);
            Thread.Sleep(2000);

            driver.Manage().Timeouts().PageLoad = new TimeSpan(0, 0, 0, 5);

            //var rmlPlayerBuilder = new RmlPlayerBuilder(driver, 2018);
            //var rmlPlayers = rmlPlayerBuilder.BuildRmlPlayers();
            //var rmlPlayerRepository = new RmlPlayerRepository();

            //rmlPlayerRepository.RefreshRmlPlayers(rmlPlayers);

            //var rmlPlayers = rmlPlayerRepository.GetRmlPlayers();

            //var sitePlayerBuilder = new SitePlayerBuilder(driver);
            //var sitePlayers = sitePlayerBuilder.BuildSitePlayers();
            //sitePlayerRepository.RefreshSitePlayers(sitePlayers);

            //var sitePlayerRepository = new SitePlayerRepository();
            //var sitePlayers = sitePlayerRepository.GetSitePlayers();

            //Console.WriteLine("Writing returner File:");
            //new PrintPlayerComparerService(sitePlayers.OrderBy(p => p.Name).ToList(), rmlPlayers).WritePlayerComparerFile();
            //Console.WriteLine("Writing returner File COMPLETE");

            //postDraftRankings
            //var postDraftRankingGenerator = new PostDraftRankingGenerator(driver);
            //postDraftRankingGenerator.GenerateRankings();

            //driver.Manage().Timeouts().PageLoad = new TimeSpan(0, 0, 0, 5);

            //get teams
            //var teamBuilder = new TeamBuilder(driver, year);
            //var teamRepository = new TeamRepository();

            //var teams = teamBuilder.BuildTeams();
            //teamRepository.RefreshTeams(teams);
            //var teams = teamRepository.GetTeams();

            driver.WaitUntilElementExists(By.CssSelector("table.tableBody"));

            //OPS
            driver.Navigate().GoToUrl($"http://games.espn.com/ffl/freeagency?leagueId=127291&seasonId={year}");
            driver.WaitUntilElementExists(By.Id("playerTableContainerDiv"));

            var opLink = driver.FindElement(By.XPath("//ul[@class='filterToolsOptionSet']/li/a[contains(.,'OP')]"));

            opLink.Click();

            Thread.Sleep(2000);

            var onRosterLink = driver.FindElement(By.XPath("//ul[@class='filterToolsOptionSet']/li/a[contains(.,'On Rosters')]"));

            onRosterLink.Click();

            Thread.Sleep(2000);

            var lastLink = driver.FindElement(By.XPath("//tr[contains(@class, 'playerTableBgRowSubhead')]/td/a[contains(.,'LAST')]"));

            lastLink.Click();

            Thread.Sleep(5000);

            var opRows       = driver.FindElements(By.XPath("//tr[contains(@class, 'pncPlayerRow')]/td[3][not(contains(.,'FA'))]/parent::tr"));
            var opsOfTheWeek = new List <PlayerOfTheWeek>();
            var topPoints    = 0m;

            foreach (var opRow in opRows)
            {
                var rowPoints = decimal.Parse(opRow.FindElement(By.XPath("./td[contains(@class, 'sortedCell')]")).Text);
                if (rowPoints >= topPoints)
                {
                    topPoints = rowPoints;
                }
                else
                {
                    break;
                }

                var opOfTheWeek = new PlayerOfTheWeek();
                opOfTheWeek.Name             = opRow.FindElement(By.XPath("./td[@class='playertablePlayerName']/a")).Text;
                opOfTheWeek.Team             = opRow.FindElement(By.XPath("./td[3]/a")).GetAttribute("title");
                opOfTheWeek.TeamAbbreviation = opRow.FindElement(By.XPath("./td[3]/a")).Text;
                opOfTheWeek.PlayerId         = int.Parse(opRow.FindElement(By.XPath("./td[@class='playertablePlayerName']/a")).GetAttribute("playerid"));
                opOfTheWeek.Points           = rowPoints;

                opRow.FindElement(By.XPath("./td[@class='playertablePlayerName']/a")).Click();
                Thread.Sleep(2000);
                opOfTheWeek.TeamAgainstAbbreviation = driver.FindElement(By.XPath($"//div[@id='pcBorder']/table/tbody/tr[{week + 1}]/td[2]/a")).Text;

                driver.FindElement(By.XPath("//img[@id='fpop_closebtn']")).Click();
                Thread.Sleep(500);

                opsOfTheWeek.Add(opOfTheWeek);
            }

            //DPS
            var dpLink = driver.FindElement(By.XPath("//ul[@class='filterToolsOptionSet']/li/a[contains(.,'DP')]"));

            dpLink.Click();

            Thread.Sleep(2000);

            var dpRows       = driver.FindElements(By.XPath("//tr[contains(@class, 'pncPlayerRow')]/td[3][not(contains(.,'FA'))]/parent::tr"));
            var dpsOfTheWeek = new List <PlayerOfTheWeek>();

            topPoints = 0m;
            foreach (var dpRow in dpRows)
            {
                var rowPoints = decimal.Parse(dpRow.FindElement(By.XPath("./td[contains(@class, 'sortedCell')]")).Text);
                if (rowPoints >= topPoints)
                {
                    topPoints = rowPoints;
                }
                else
                {
                    break;
                }

                var dpOfTheWeek = new PlayerOfTheWeek();
                dpOfTheWeek.Name             = dpRow.FindElement(By.XPath("./td[@class='playertablePlayerName']/a")).Text;
                dpOfTheWeek.Team             = dpRow.FindElement(By.XPath("./td[3]/a")).GetAttribute("title");
                dpOfTheWeek.TeamAbbreviation = dpRow.FindElement(By.XPath("./td[3]/a")).Text;
                dpOfTheWeek.PlayerId         = int.Parse(dpRow.FindElement(By.XPath("./td[@class='playertablePlayerName']/a")).GetAttribute("playerid"));
                dpOfTheWeek.Points           = rowPoints;

                dpRow.FindElement(By.XPath("./td[@class='playertablePlayerName']/a")).Click();
                Thread.Sleep(2000);
                dpOfTheWeek.TeamAgainstAbbreviation = driver.FindElement(By.XPath($"//div[@id='pcBorder']/table/tbody/tr[{week + 1}]/td[2]/a")).Text;

                driver.FindElement(By.XPath("//img[@id='fpop_closebtn']")).Click();
                Thread.Sleep(500);

                dpsOfTheWeek.Add(dpOfTheWeek);
            }

            var weekRepository = new WeekRepository();
            var powerRankings  = GetPowerRankings(driver, weekRepository);
            var currentWeek    = weekRepository.GetWeek(driver, week, year);

            var weeklyPayoutTeams = string.Empty;

            for (var i = 1; i <= week; i++)
            {
                var weekForWeeklyPayouts  = weekRepository.GetWeek(driver, i, year);
                var teamsForWeeklyPayouts = weekForWeeklyPayouts.Scores.Select(s => s.AwayTeam).ToList();
                teamsForWeeklyPayouts.AddRange(weekForWeeklyPayouts.Scores.Select(s => s.HomeTeam));
                weeklyPayoutTeams += i + ". " + teamsForWeeklyPayouts.OrderByDescending(t => t.TeamPoints).First().TeamName.ToUpper() + @"
                ";
            }

            List <ITrophy> trophies = new List <ITrophy>();

            //Console.WriteLine("Do you want to assign trophies? (Y/N[default])");
            //var assignTrophiesInput = Console.ReadLine();

            //if (assignTrophiesInput == "Y")
            //{
            trophies = AssignTrophies(currentWeek, opsOfTheWeek, dpsOfTheWeek, driver);
            //}

            CreateLeaguePage(powerRankings, weeklyPayoutTeams, trophies, currentWeek, week);
            var x = 1;
        }
Ejemplo n.º 18
0
 /// <summary>
 /// Constructor
 /// </summary>
 /// <param name="repository"></param>
 public WeekController(WeekRepository weekRepository, PermissionRepository permissionRepository)
 {
     this._weekRepository       = weekRepository;
     this._permissionRepository = permissionRepository;
 }
Ejemplo n.º 19
0
 public void InitRepositories()
 {
     PatientsRepository = new PatientsRepository();
     WeekRepository     = new WeekRepository();
 }