public FootballFormInfo Convert(FootballMatchInfo matchInfo, short teamId) { if (matchInfo == null) { throw new ArgumentException("matchInfo"); } var returnValue = new FootballFormInfo { FixtureId = matchInfo.Id, LeagueName = matchInfo.LeagueName, OpposingTeamLogo = teamId == matchInfo.HomeTeamId ? matchInfo.AwayLogo : matchInfo.HomeLogo, OpposingTeamName = teamId == matchInfo.HomeTeamId ? matchInfo.AwayName : matchInfo.HomeName, IsHomeMatch = teamId == matchInfo.HomeTeamId, HomeScore = matchInfo.HomeScore, AwayScore = matchInfo.AwayScore, }; if (returnValue.HomeScore == returnValue.AwayScore) { returnValue.Result = MatchResultType.Draw; } else if (returnValue.HomeScore > returnValue.AwayScore) { returnValue.Result = returnValue.IsHomeMatch ? MatchResultType.Win : MatchResultType.Lose; } else { returnValue.Result = returnValue.IsHomeMatch ? MatchResultType.Lose : MatchResultType.Win; } return(returnValue); }
public FootballMatchInfo Convert(FootballFixtureDetail fixtureDetail) { // 기본 이미지 설정 if (string.IsNullOrEmpty(fixtureDetail.League.Country.Logo)) { fixtureDetail.League.Country.Logo = "img_world.png"; } if (string.IsNullOrEmpty(fixtureDetail.League.Logo)) { fixtureDetail.League.Logo = fixtureDetail.League.Country.Logo; } if (string.IsNullOrEmpty(fixtureDetail.HomeTeam.Logo)) { fixtureDetail.HomeTeam.Logo = "img_football.png"; } if (string.IsNullOrEmpty(fixtureDetail.AwayTeam.Logo)) { fixtureDetail.AwayTeam.Logo = "img_football.png"; } var returnValue = new FootballMatchInfo { Id = fixtureDetail.FixtureId, League_CountryName = fixtureDetail.League.Country.Name, League_CountryLogo = fixtureDetail.League.Country.Logo, LeagueName = fixtureDetail.League.Name, LeagueLogo = fixtureDetail.League.Logo, LeagueType = fixtureDetail.League.LeagueType, HomeTeamId = fixtureDetail.HomeTeam.Id, HomeName = fixtureDetail.HomeTeam.Name, HomeLogo = fixtureDetail.HomeTeam.Logo, Home_CountryName = fixtureDetail.HomeTeam.CountryName, HomeScore = fixtureDetail.HomeTeamScore, AwayTeamId = fixtureDetail.AwayTeam.Id, AwayName = fixtureDetail.AwayTeam.Name, AwayLogo = fixtureDetail.AwayTeam.Logo, Away_CountryName = fixtureDetail.AwayTeam.CountryName, AwayScore = fixtureDetail.AwayTeamScore, MatchStatus = fixtureDetail.MatchStatus, MatchTime = fixtureDetail.MatchTime.ToLocalTime(), Round = fixtureDetail.Round, IsAlarmed = false, IsBookmarked = false, IsPredicted = fixtureDetail.IsPredicted, IsRecommended = fixtureDetail.IsRecommended, MaxRating = fixtureDetail.MaxGrade / 2.0, HasOdds = fixtureDetail.HasOdds, }; return(returnValue); }
public FootballLeagueInfo Convert(FootballMatchInfo matchInfo) { var returnValue = new FootballLeagueInfo { CountryName = matchInfo.League_CountryName, CountryLogo = matchInfo.League_CountryLogo, LeagueName = matchInfo.LeagueName, LeagueLogo = matchInfo.LeagueLogo, LeagueType = matchInfo.LeagueType, IsBookmarked = false, }; return(returnValue); }
public FootballFixtureDetail Reverse(FootballMatchInfo value) { return(new FootballFixtureDetail { FixtureId = value.Id, League = new FootballLeagueDetail { Country = new FootballCountryDetail { Logo = value.League_CountryLogo, Name = value.League_CountryName, }, Name = value.LeagueName, Logo = value.LeagueLogo, LeagueType = value.LeagueType, }, HomeTeam = new FootballTeamDetail { Id = value.HomeTeamId, CountryName = value.Home_CountryName, Logo = value.HomeLogo, Name = value.HomeName }, AwayTeam = new FootballTeamDetail { Id = value.AwayTeamId, CountryName = value.Away_CountryName, Logo = value.AwayLogo, Name = value.AwayName }, Round = value.Round, MatchTime = value.MatchTime.ToUniversalTime(), MatchStatus = value.MatchStatus, HomeTeamScore = value.HomeScore, AwayTeamScore = value.AwayScore, IsPredicted = value.IsPredicted, IsRecommended = value.IsRecommended, HasOdds = value.HasOdds, MaxGrade = (byte)(value.MaxRating * 2), }); }
public FootballMatchInfo Convert(FootballVIPMatchInfo vipMatchInfo) { var return_value = new FootballMatchInfo { Id = vipMatchInfo.Id, League_CountryName = vipMatchInfo.League_CountryName, League_CountryLogo = vipMatchInfo.League_CountryLogo, LeagueName = vipMatchInfo.LeagueName, LeagueLogo = vipMatchInfo.LeagueLogo, LeagueType = vipMatchInfo.LeagueType, HomeTeamId = vipMatchInfo.HomeTeamId, HomeName = vipMatchInfo.HomeName, HomeLogo = vipMatchInfo.HomeLogo, Home_CountryName = vipMatchInfo.Home_CountryName, HomeScore = vipMatchInfo.HomeScore, AwayTeamId = vipMatchInfo.AwayTeamId, AwayName = vipMatchInfo.AwayName, AwayLogo = vipMatchInfo.AwayLogo, Away_CountryName = vipMatchInfo.Away_CountryName, AwayScore = vipMatchInfo.AwayScore, MatchStatus = vipMatchInfo.MatchStatus, MatchTime = vipMatchInfo.MatchTime, Round = vipMatchInfo.Round, IsAlarmed = vipMatchInfo.IsAlarmed, IsBookmarked = vipMatchInfo.IsBookmarked, IsPredicted = vipMatchInfo.IsPredicted, IsRecommended = vipMatchInfo.IsRecommended, MaxRating = vipMatchInfo.MaxRating, HasOdds = vipMatchInfo.HasOdds, }; return(return_value); }
public FootballTeamInfo Convert(FootballMatchInfo matchInfo, TeamCampType teamType) { if (matchInfo == null) { throw new ArgumentException("matchInfo"); } if (teamType == TeamCampType.Any) { throw new ArgumentException("teamType"); } var returnValue = new FootballTeamInfo { TeamId = teamType == TeamCampType.Home ? matchInfo.HomeTeamId : matchInfo.AwayTeamId, TeamName = teamType == TeamCampType.Home ? matchInfo.HomeName : matchInfo.AwayName, TeamLogo = teamType == TeamCampType.Home ? matchInfo.HomeLogo : matchInfo.AwayLogo, CountryName = teamType == TeamCampType.Home ? matchInfo.Home_CountryName : matchInfo.Away_CountryName, IsBookmarked = false, }; return(returnValue); }
public static async void Execute(FootballMatchInfo matchInfo) { CrossVibrate.Current.Vibration(new TimeSpan(0, 0, 0, 0, 100)); var leagueInfo = ShinyHost.Resolve <MatchInfoToLeagueInfo>().Convert(matchInfo); var homeTeamInfo = ShinyHost.Resolve <MatchInfoToTeamInfo>().Convert(matchInfo, TeamCampType.Home); var awayTeamInfo = ShinyHost.Resolve <MatchInfoToTeamInfo>().Convert(matchInfo, TeamCampType.Away); IBookmarkService bookmarkService = ShinyHost.Resolve <IBookmarkService>(); var bookmarkedMatch = await bookmarkService.GetBookmark <FootballMatchInfo>(matchInfo.PrimaryKey); matchInfo.IsBookmarked = bookmarkedMatch?.IsBookmarked ?? false; var bookmarkedLeague = await bookmarkService.GetBookmark <FootballLeagueInfo>(leagueInfo.PrimaryKey); leagueInfo.IsBookmarked = bookmarkedLeague?.IsBookmarked ?? false; var bookmarkedHomeTeam = await bookmarkService.GetBookmark <FootballTeamInfo>(homeTeamInfo.PrimaryKey); homeTeamInfo.IsBookmarked = bookmarkedHomeTeam?.IsBookmarked ?? false; var bookmarkedAwayTeam = await bookmarkService.GetBookmark <FootballTeamInfo>(awayTeamInfo.PrimaryKey); awayTeamInfo.IsBookmarked = bookmarkedAwayTeam?.IsBookmarked ?? false; string strMatchBookmark = matchInfo.IsBookmarked ? LocalizeString.Delete_Match : LocalizeString.Add_Match; string strLeagueBookmark = leagueInfo.IsBookmarked ? LocalizeString.Delete_League : LocalizeString.Add_League; string strHomeTeamBookmark = homeTeamInfo.IsBookmarked ? LocalizeString.Delete_Home_Team : LocalizeString.Add_Home_Team; string strAwayTeamBookmark = awayTeamInfo.IsBookmarked ? LocalizeString.Delete_Away_Team : LocalizeString.Add_Away_Team; var actions = new string[] { strMatchBookmark, strLeagueBookmark, strHomeTeamBookmark, strAwayTeamBookmark, }; int intResult = await MaterialDialog.Instance.SelectActionAsync(LocalizeString.Bookmark_Management, actions, DialogConfiguration.DefaultSimpleDialogConfiguration); if (intResult == -1) { return; } switch (intResult) { case 0: // match if (matchInfo.IsBookmarked) { await bookmarkService.RemoveBookmark <FootballMatchInfo>(matchInfo, SportsType.Football, PageDetailType.Match); } else { await bookmarkService.AddBookmark <FootballMatchInfo>(matchInfo, SportsType.Football, PageDetailType.Match); } break; case 1: // league if (leagueInfo.IsBookmarked) { await bookmarkService.RemoveBookmark <FootballLeagueInfo>(leagueInfo, SportsType.Football, PageDetailType.League); } else { await bookmarkService.AddBookmark <FootballLeagueInfo>(leagueInfo, SportsType.Football, PageDetailType.League); } break; case 2: // homeTeam if (homeTeamInfo.IsBookmarked) { await bookmarkService.RemoveBookmark <FootballTeamInfo>(homeTeamInfo, SportsType.Football, PageDetailType.Team); } else { await bookmarkService.AddBookmark <FootballTeamInfo>(homeTeamInfo, SportsType.Football, PageDetailType.Team); } break; case 3: // awayTeam if (awayTeamInfo.IsBookmarked) { await bookmarkService.RemoveBookmark <FootballTeamInfo>(awayTeamInfo, SportsType.Football, PageDetailType.Team); } else { await bookmarkService.AddBookmark <FootballTeamInfo>(awayTeamInfo, SportsType.Football, PageDetailType.Team); } break; default: break; } }