public MatchDTO ConvertDBObjectToDTO(vwMatch dbObj) { MatchDTO dtoObj = new MatchDTO() { AwayClub_Id = dbObj.AwayClub_Id, AwayNationalTeam_Id = dbObj.AwayNationalTeam_Id, AwayPenaltyScore = dbObj.AwayPenaltyScore, AwayScore = dbObj.AwayScore, Competition_Id = dbObj.Competition_Id, //CompetitionStage_Id = dbObj.CompetitionStage_Id, CompetitionStageName = dbObj.CompetitionStage_Name, Date = dbObj.Date, HomeClub_Id = dbObj.HomeClub_Id, HomeNationalTeam_Id = dbObj.HomeNationalTeam_Id, HomePenaltyScore = dbObj.HomePenaltyScore, HomeScore = dbObj.HomeScore, Match_Id = dbObj.Match_ID, //Referee_Id = dbObj.Referee_Id, Season_Id = dbObj.Season_Id, //Spectators = dbObj.Spectators, //Stadium_Id = dbObj.Stadium_Id, HomeTeamName = dbObj.HomeTeam, AwayTeamName = dbObj.AwayTeam, HomeTeamCountryCode = dbObj.HomeTeamCountryCode, AwayTeamCountryCode = dbObj.AwayTeamCountryCode, CompetitionName = dbObj.Competition_Name, SeasonName = dbObj.Season_Description, CompetitionLevelCode = dbObj.CompetitionLevel_Cd, IsNationalTeamMatch = dbObj.CompetitionLevel_Cd.Equals(Constants.DB.CompetitionLevelCd_NationalTeam), Flags = dbObj.Flags, Spectators = dbObj.Spectators }; return(dtoObj); }
protected void tbObjectId_TextChanged(object sender, EventArgs e) { TextBox tbId = sender as TextBox; int id = 0; if (int.TryParse(tbId.Text, out id)) { using (UaFootball_DBDataContext db = DBManager.GetDB()) { switch (ddlTagType.SelectedValue) { case _tagTypeClub: { Club c = db.Clubs.SingleOrDefault(cl => cl.Club_ID == id); if (c != null) { ListItem li = new ListItem(); li.Text = c.Club_Name; li.Value = c.Club_ID.ToString(); ddlTagValue.Items.Insert(0, li); ddlTagValue.SelectedIndex = 0; } break; } case _tagTypeGame: { vwMatch match = db.vwMatches.SingleOrDefault(m => m.Match_ID == id); if (match != null) { ListItem li = new ListItem(); li.Text = string.Format("{0} | {1} - {2}", match.Date.ToShortDateString(), match.HomeTeam, match.AwayTeam); li.Value = match.Match_ID.ToString(); ddlTagValue.Items.Insert(0, li); ddlTagValue.SelectedIndex = 0; } break; } case _tagTypePlayer: { UaFDatabase.Player p = db.Players.SingleOrDefault(m => m.Player_Id == id); if (p != null) { ListItem li = new ListItem(); li.Text = string.Format("{0} {1}", p.First_Name, p.Last_Name); li.Value = p.Player_Id.ToString(); ddlTagValue.Items.Insert(0, li); ddlTagValue.SelectedIndex = 0; } break; } } } } }
public static string FormatMatch(vwMatch match) { return(string.Format("{0} - {1} ({2}:{3})", match.HomeTeam, match.AwayTeam, match.HomeScore, match.AwayScore)); }
protected void Page_Load(object sender, EventArgs e) { int matchId = 0; int playerId = 0; if (Request["MatchId"] != null) { matchId = int.Parse(Request["MatchId"]); } if (Request["PlayerId"] != null) { playerId = int.Parse(Request["PlayerId"]); } List <jssorData> data = new List <jssorData>(); using (UaFootball_DBDataContext db = DBManager.GetDB()) { var multimedias = from m in db.Multimedias join match_tag in db.MultimediaTags on m.Multimedia_ID equals match_tag.Multimedia_ID join filter_tag in db.MultimediaTags on m.Multimedia_ID equals filter_tag.Multimedia_ID where match_tag.Match_ID != null select new { match_tag = match_tag, filter_tag = filter_tag, m = m }; if (matchId > 0) { multimedias = multimedias.Where(m => m.match_tag.Match_ID == matchId); } if (playerId > 0) { multimedias = multimedias.Where(m => m.filter_tag.Player_ID == playerId); } var tags = from multimedia in multimedias join g in db.vwMatches on multimedia.match_tag.Match_ID equals g.Match_ID join tag in db.MultimediaTags on multimedia.m.Multimedia_ID equals tag.Multimedia_ID join p in db.Players on tag.Player_ID equals p.Player_Id into pg from p2 in pg.DefaultIfEmpty() where multimedia.m.MultimediaSubType_CD == Constants.DB.MutlimediaSubTypes.MatchPhoto select new { Multimedia = multimedia.m, Match = g, Player = p2 }; foreach (int multimediaId in tags.Select(t => t.Multimedia.Multimedia_ID).Distinct()) { Multimedia m = tags.First(t => t.Multimedia.Multimedia_ID == multimediaId).Multimedia; vwMatch game = tags.First(t => t.Multimedia.Multimedia_ID == multimediaId).Match; List <UaFDatabase.Player> players = tags.Where(t => t.Multimedia.Multimedia_ID == multimediaId && t.Player != null).Select(t => t.Player).Distinct().ToList(); jssorData d = new jssorData() { filePath = PathHelper.GetWebPath(this, Constants.Paths.MutlimediaWebRoot, m.FilePath, m.FileName), fileThumbPath = PathHelper.GetWebPath(this, Constants.Paths.MutlimediaWebRoot, m.FilePath.Trim() + "/thumb/", m.FileName), author = m.Author, comments = m.Description, source = m.Source, gameDate = game.Date, playersStg = string.Join(", ", players.Select(p => UIHelper.FormatName(p.First_Name, p.Last_Name, p.Display_Name, p.Country_Id))), homeTeam = game.HomeTeam, awayTeam = game.AwayTeam, Id = m.Multimedia_ID }; data.Add(d); } } rptJssorContent.DataSource = data.OrderByDescending(d => d.gameDate); rptJssorContent.DataBind(); }
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { ddlMultimediaSubType.Items.Add(new ListItem(Constants.UI.MutlimediaSubTypes.ClubLogo, Constants.DB.MutlimediaSubTypes.ClubLogo)); ddlMultimediaSubType.Items.Add(new ListItem(Constants.UI.MutlimediaSubTypes.NationalTeamLogo, Constants.DB.MutlimediaSubTypes.NationalTeamLogo)); ddlMultimediaSubType.Items.Add(new ListItem(Constants.UI.MutlimediaSubTypes.PlayerLogo, Constants.DB.MutlimediaSubTypes.PlayerLogo)); ddlMultimediaSubType.Items.Add(new ListItem(Constants.UI.MutlimediaSubTypes.MatchPhoto, Constants.DB.MutlimediaSubTypes.MatchPhoto)); ddlMultimediaSubType.Items.Add(new ListItem(Constants.UI.MutlimediaSubTypes.MatchVideo, Constants.DB.MutlimediaSubTypes.MatchVideo)); ddlMultimediaSubType.SelectedIndex = 3; ddlMultimediaSubType_SelectedIndexChanged(ddlMultimediaSubType, new EventArgs()); cbl1.Items.Add(new ListItem(Constants.UI.MultimediaTags.BadQuality, Constants.DB.MultimediaTags.BadQuality.ToString())); cbl1.Items.Add(new ListItem(Constants.UI.MultimediaTags.AwayTeamPhoto, Constants.DB.MultimediaTags.AwayTeamPhoto.ToString())); cbl1.Items.Add(new ListItem(Constants.UI.MultimediaTags.HomeTeamPhoto, Constants.DB.MultimediaTags.HomeTeamPhoto.ToString())); if (!string.IsNullOrEmpty(Request["id"])) { int multimediaId = MMId; if (multimediaId > 0) { btnDelete.Visible = true; using (UaFootball_DBDataContext db = DBManager.GetDB()) { UaFDatabase.Multimedia mm = db.Multimedias.SingleOrDefault(m => m.Multimedia_ID == multimediaId); if (mm != null) { ddlMultimediaSubType.Enabled = false; afuUploader.Enabled = false; hfFileName.Value = mm.FileName; ddlMultimediaSubType.SelectedValue = mm.MultimediaSubType_CD; ddlMultimediaSubType_SelectedIndexChanged(ddlMultimediaSubType, new EventArgs()); List <MultimediaTag> tags = db.MultimediaTags.Where(m => m.Multimedia_ID == multimediaId).ToList(); if (tags.Count > 0) { List <MultimediaTagDTO> tagsToBind = tags.Select(t => new MultimediaTagDTO { Club_ID = t.Club_ID, MatchEvent_ID = t.MatchEvent_ID, Match_ID = t.Match_ID, NationalTeam_ID = t.NationalTeam_ID, Player_ID = t.Player_ID, tmpId = t.MultimediaTag_ID, MultimediaTag_ID = t.MultimediaTag_ID }).ToList(); foreach (MultimediaTagDTO mt in tagsToBind) { if (mt.Match_ID.HasValue) { mt.Type = _tagTypeGame; vwMatch match = db.vwMatches.SingleOrDefault(m => m.Match_ID == mt.Match_ID.Value); mt.Description = UIHelper.FormatMatch(match); } if (mt.Player_ID.HasValue) { mt.Type = _tagTypePlayer; PlayerDTO player = new PlayerDTOHelper().GetPlayer(mt.Player_ID.Value); mt.Description = UIHelper.FormatName(player); } if (mt.MatchEvent_ID.HasValue) { mt.Type = _tagTypeEvent; DataLoadOptions opt = new DataLoadOptions(); opt.LoadWith <MatchEvent>(m => m.Player1); UaFDatabase.MatchEvent mEvent = db.MatchEvents.SingleOrDefault(m => m.MatchEvent_Id == mt.MatchEvent_ID.Value); mt.Description = string.Format("{0} мин - {1} - {2}", mEvent.Minute, UIHelper.EventCodeMap[mEvent.Event_Cd], FormatName(mEvent.Player.First_Name, mEvent.Player.Last_Name, mEvent.Player.Display_Name, mEvent.Player.Country_Id)); } if (mt.Club_ID.HasValue) { mt.Type = _tagTypeClub; ClubDTO club = new ClubDTOHelper().GetFromDB(mt.Club_ID.Value); mt.Description = string.Format("{0} ({1})", club.Club_Name, club.City_Name); } if (mt.NationalTeam_ID.HasValue) { mt.Type = _tagTypeNatTeam; mt.Description = "Украина"; } } TagsCache.AddRange(tagsToBind); rptTags.DataSource = tagsToBind; rptTags.DataBind(); } if (mm.Flags.HasValue) { if (mm.Flags > 0) { foreach (ListItem li in cbl1.Items) { if ((long.Parse(li.Value) & mm.Flags.Value) > 0) { li.Selected = true; } } } } tbAuthor.Text = mm.Author; tbSource.Text = mm.Source; tbDescription.Text = mm.Description; tbPhotoDate.Text = FormatDate(mm.DateTaken); if (mm.MultimediaType_CD == Constants.DB.MutlimediaTypes.Image) { imgMultimedia.ImageUrl = PathHelper.GetWebPath(this, Constants.Paths.MutlimediaWebRoot, mm.FilePath, mm.FileName); } } } } } } }
protected void ddlTagType_SelectedIndexChanged(object sender, EventArgs e) { DropDownList ddlTagType = sender as DropDownList; ddlTagValue.Items.Clear(); List <GenericReferenceObject> lTagValueSource = new List <GenericReferenceObject>(); switch (ddlTagType.SelectedValue) { case _tagTypeClub: { using (UaFootball_DBDataContext db = DBManager.GetDB()) { if (ddlMultimediaSubType.SelectedValue == Constants.DB.MutlimediaSubTypes.PlayerLogo) { MultimediaTagDTO playerTag = TagsCache.SingleOrDefault(tc => tc.Type == _tagTypePlayer); if (playerTag != null) { List <Player_GetClubsResult> clubs = db.Player_GetClubs(playerTag.Player_ID).ToList(); if (clubs != null) { foreach (Player_GetClubsResult club in clubs) { lTagValueSource.Add(new GenericReferenceObject { Name = string.Format("{0} ({1})", club.Club, club.City), Value = club.Club_Id, }); } } } } else { lTagValueSource = db.Clubs.OrderByDescending(c => c.Club_ID).Select(c => new GenericReferenceObject { Name = c.Club_Name, GenericStringValue = c.City.City_Name, Value = c.Club_ID }).Take(20).ToList(); foreach (GenericReferenceObject go in lTagValueSource) { go.Name = string.Format("{0} ({1})", go.Name, go.GenericStringValue); } } } break; } case _tagTypeNatTeam: { using (UaFootball_DBDataContext db = DBManager.GetDB()) { if (ddlMultimediaSubType.SelectedValue == Constants.DB.MutlimediaSubTypes.PlayerLogo) { lTagValueSource = new List <GenericReferenceObject>(); lTagValueSource = db.NationalTeams.Where(nt => nt.NationalTeamType_Cd == Constants.DB.NationalTeamTypeCd_National && nt.Country.Country_Code == Constants.CountryCodeUA).Select(c => new GenericReferenceObject { Name = c.Country.Country_Name, Value = c.NationalTeam_Id }).ToList(); } else { lTagValueSource = db.NationalTeams.Where(nt => nt.NationalTeamType_Cd == Constants.DB.NationalTeamTypeCd_National).OrderBy(c => c.Country.Country_Name).Select(c => new GenericReferenceObject { Name = c.Country.Country_Name, Value = c.NationalTeam_Id }).ToList(); } } break; } case _tagTypePlayer: { using (UaFootball_DBDataContext db = DBManager.GetDB()) { List <UaFDatabase.Player> lPlayers = new List <UaFDatabase.Player>(); if (ddlMultimediaSubType.SelectedValue == Constants.DB.MutlimediaSubTypes.PlayerLogo) { lPlayers = db.Players.OrderByDescending(c => c.Player_Id).Take(50).OrderBy(p => p.Last_Name).ToList(); foreach (UaFDatabase.Player p in lPlayers) { string fName = p.First_Name ?? ""; string lName = p.Last_Name ?? ""; string dName = string.IsNullOrEmpty(p.Display_Name) ? "" : string.Concat("(", p.Display_Name, ")"); string name = Regex.Replace(string.Concat(fName, " ", lName, " ", dName), @"\s+", " "); lTagValueSource.Add(new GenericReferenceObject { Name = name, Value = p.Player_Id }); } } else { MultimediaTagDTO matchTag = TagsCache.SingleOrDefault(tc => tc.Type == _tagTypeGame); if (matchTag != null) { vwMatch match = db.vwMatches.Single(v => v.Match_ID == matchTag.Match_ID); bool homeTeamPriority = match.HomeTeamCountryCode == Constants.CountryCodeUA; var players = from matchLineup in db.MatchLineups where matchLineup.Match_Id == matchTag.Match_ID && matchLineup.Player_Id != null select new { Player = matchLineup.Player, IsHomeTeam = matchLineup.IsHomeTeamPlayer, IsSubstitute = matchLineup.IsSubstitute, No = matchLineup.ShirtNumber }; if (homeTeamPriority) { players = players.OrderByDescending(pl => pl.IsHomeTeam).ThenBy(pl => pl.No); } else { players = players.OrderBy(pl => pl.IsHomeTeam).ThenBy(pl => pl.No); } foreach (var player in players) { GenericReferenceObject go = new GenericReferenceObject(); go.Name = string.Format("{0} - {1}", player.No.ToString().PadLeft(2, ' '), FormatName(player.Player.First_Name, player.Player.Last_Name, player.Player.Display_Name, player.Player.Country_Id)); go.Value = player.Player.Player_Id; lTagValueSource.Add(go); } } } } break; } case _tagTypeGame: { using (UaFootball_DBDataContext db = DBManager.GetDB()) { var lst = (from match in db.vwMatches orderby match.Match_ID descending select match).Take(50); lTagValueSource = lst.Select(l => new GenericReferenceObject { Name = string.Format("{0} | {1} - {2}", l.Date.ToShortDateString(), l.HomeTeam, l.AwayTeam), Value = l.Match_ID }).ToList(); } break; } case _tagTypeEvent: { MultimediaTagDTO matchTag = TagsCache.SingleOrDefault(tc => tc.Type == _tagTypeGame); if (matchTag != null) { using (UaFootball_DBDataContext db = DBManager.GetDB()) { DataLoadOptions opt = new DataLoadOptions(); opt.LoadWith <MatchEvent>(me => me.Player1); List <UaFDatabase.MatchEvent> events = db.MatchEvents.Where(me => me.Match_Id == matchTag.Match_ID).OrderBy(me => me.Event_Cd).ThenBy(me => me.Minute).ToList(); foreach (UaFDatabase.MatchEvent mEvent in events) { GenericReferenceObject go = new GenericReferenceObject(); go.Name = string.Format("{0} мин - {1} - {2}", mEvent.Minute, UIHelper.EventCodeMap[mEvent.Event_Cd], FormatName(mEvent.Player.First_Name, mEvent.Player.Last_Name, mEvent.Player.Display_Name, mEvent.Player.Country_Id)); go.Value = mEvent.MatchEvent_Id; go.GenericStringValue = mEvent.Event_Cd; lTagValueSource.Add(go); } } } break; } } ddlTagValue.Items.Clear(); foreach (GenericReferenceObject o in lTagValueSource) { ListItem li = new ListItem(o.Name, o.Value.ToString()); li.Attributes.Add("eventType", o.GenericStringValue); ddlTagValue.Items.Add(li); } }