Commit d00b566b by wangonghui

CBAUI界面

parent b17d8675
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<appSettings>
<add key="url" value="http://sportsdata.misports.cn/beitai/api/"/>
<add key="vizIpMain" value=""/>
<add key="vizIpBack" value=""/>
<add key="leagueId" value="401"/>
</appSettings>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.8"/>
</startup>
</configuration>
<Application x:Class="VIZ.MIGU.CBA.Module.App"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
StartupUri="MainWindow.xaml">
<Application.Resources>
</Application.Resources>
</Application>
using System;
using System.Collections.Generic;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Windows;
namespace VIZ.MIGU.CBA.Module
{
/// <summary>
/// Interaction logic for App.xaml
/// </summary>
public partial class App : Application
{
}
}
using System;
using System.Collections.Generic;
using System.Configuration;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace VIZ.MIGU.CBA.Module.Common
{
public static class AppConfigUtil
{
public static string GetAppConfig(string strKey)
{
//string file = System.Windows.Forms.Application.ExecutablePath;
//Configuration config = ConfigurationManager.OpenExeConfiguration(file);
//foreach (string key in config.AppSettings.Settings.AllKeys)
//{
// if (key == strKey)
// {
// return config.AppSettings.Settings[strKey].Value.ToString();
// }
//}
//return null;
// Configuration _configuration = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
var url = ConfigurationManager.AppSettings[strKey];
return url;
}
}
}
using DevExpress.ClipboardSource.SpreadsheetML;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Net;
using System.Text;
using System.Threading.Tasks;
namespace VIZ.MIGU.CBA.Module.Common
{
public static class JsonHelper
{
/// <summary>
/// 根据POST方法请求获取
/// </summary>
/// <param name="url"></param>
/// <param name="dic"></param>
/// <returns></returns>
public static string Post(string url, Dictionary<string, string> dic)
{
string result = null;
//try
//{
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);
req.Method = "POST";
req.ContentType = "application/x-www-form-urlencoded";
StringBuilder builder = new StringBuilder();
int i = 0;
foreach (var item in dic)
{
if (i > 0)
builder.Append("&");
builder.AppendFormat("{0}={1}", item.Key, item.Value);
i++;
}
byte[] data = Encoding.UTF8.GetBytes(builder.ToString());
using (Stream reqStream = req.GetRequestStream())
{
reqStream.Write(data, 0, data.Length);
reqStream.Close();
}
//获取相应内容
HttpWebResponse resp = (HttpWebResponse)req.GetResponse();
Stream stream = resp.GetResponseStream();
using (StreamReader reader = new StreamReader(stream, Encoding.UTF8))
{
result = reader.ReadToEnd();
}
// }
//catch (Exception ex)
//{
// log.Error(ex);
//}
//finally
//{
// LogRequest(url, result);
//}
return result;
}
/// <summary>
/// 根据Get方法获取
/// </summary>
/// <param name="url"></param>
/// <returns></returns>
public static string GetResult(string url)
{
string data = "";
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);
req.Headers["Accept-Encoding"] = "gzip,deflate";
req.AutomaticDecompression = DecompressionMethods.GZip;
HttpWebResponse resp = (HttpWebResponse)req.GetResponse();
Stream stream = resp.GetResponseStream();
//获取内容
using (StreamReader reader = new StreamReader(stream, Encoding.UTF8))
{
data = reader.ReadToEnd();
}
return data;
}
}
}
using DevExpress.Mvvm.POCO;
using DevExpress.Xpf.Core.ReflectionExtensions.Internal;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using VIZ.Framework.Core;
using VIZ.MIGU.CBA.Module.TempEnum;
namespace VIZ.MIGU.CBA.Module.DayMatch.Model
{
public class Dayschedule: ViewModelBase
{
public string VisitingTeamName { get; set; }//客队名称
public string HomeTeamName { get; set; }//主队名称
public string HomeTeamScore { get; set; }//主队得分
public string HomeRebounds { get; set; }//主队篮板
public string HomeAssists { get; set; }//主队助攻
public string VisitingTeamScore { get; set; }//客队得分
public string VisitingRebounds { get; set; }//主队篮板
public string VisitingAssists { get; set; }//主队助攻
public string stadium { get; set; }//比赛场馆
public string dates { get; set; }//比赛日期
public string time { get; set; }//比赛时间
public string ScheduleID { get; set; }//赛程ID
public string ScheduleTypeID { get; set; }//比赛类别ID(1常规赛,2季后赛,3季前赛,4全明星)
public string Round { get; set; }//轮次
public string Status { get; set; }//赛程状态//1未开始,2进行中,4已结束,5延期
private HighLightEnum light = HighLightEnum.OffLight;
/// <summary>
///
/// </summary>
public HighLightEnum Light
{
get { return light; }
set { light = value; this.RaisePropertyChanged(nameof(Light)); }
}
private string selectLight="不高亮";
public string SelectLight
{
get { return selectLight; }
set { selectLight = value; this.RaisePropertyChanged(nameof(SelectLight)); }
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace VIZ.MIGU.CBA.Module.DayMatch.Model
{
public class Dayschedules
{
public List<Dayschedule> dayschedule { get; set; }
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace VIZ.MIGU.CBA.Module.DayMatch.Model
{
public class LightHigts
{
public string Name { get; set; }
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using VIZ.Framework.Core;
using VIZ.MIGU.CBA.Module.DayMatch.ViewModel;
namespace VIZ.MIGU.CBA.Module.DayMatch.View
{
/// <summary>
/// Interaction logic for DayMatchUI.xaml
/// </summary>
public partial class DayMatchUI : UserControl
{
public DayMatchUI()
{
InitializeComponent();
WPFHelper.BindingViewModel(this, new DayMatchViewModel());
}
}
}
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using VIZ.Framework.Core;
using VIZ.MIGU.CBA.Module.Common;
using VIZ.MIGU.CBA.Module.DayMatch.Model;
using VIZ.MIGU.CBA.Module.TempEnum;
using VIZ.TVP.CBA.Domain;
namespace VIZ.MIGU.CBA.Module.DayMatch.ViewModel
{
public class DayMatchViewModel : ViewModelBase
{
public DayMatchViewModel()
{
BtnCmd = new VCommand(BtnCommand);
BtnMatchDayUp = new VCommand(BtnMatchDayUpData);
matchDate = DateTime.Today.ToShortDateString();
GetSchedule();
}
private string matchDate;
/// <summary>
///获取日期
/// </summary>
public string MatchDate
{
get { return matchDate; }
set { matchDate = value; this.RaisePropertyChanged(nameof(MatchDate)); }
}
public VCommand BtnCmd { get; set; }
public VCommand BtnMatchDayUp { get; set; }
/// <summary>
/// 获取今日赛程
/// </summary>
private void BtnCommand()
{
GetSchedule();
}
/// <summary>
/// 构造指定日期赛程的数据
/// </summary>
private void BtnMatchDayUpData()
{
ApplicationDomainEx.VizEngineModel.STAGE_START("Default/JRSCBEN", "Data", CombineMatchData());
}
private ObservableCollection<Dayschedule> matchData;
/// <summary>
/// 绑定数据列表
/// </summary>
public ObservableCollection<Dayschedule> MatchData
{
get { return matchData; }
set { matchData = value; this.RaisePropertyChanged(nameof(MatchData)); }
}
//private ObservableCollection<string> lightHigts=new ObservableCollection<string>()
//{
// "不高亮",
// "高亮"
//};
//public ObservableCollection<string> LightHigts
//{
// get
// {
// return lightHigts;
// }
// set { lightHigts = value; this.RaisePropertyChanged(nameof(LightHigts)); }
//}
//private string light;
//public string Light
//{
// get { return light; }
// set { light=value; this.RaisePropertyChanged(nameof(Light)); }
//}
private string title = "今日赛程";
/// <summary>
/// 标题
/// </summary>
public string Title
{
get { return title; }
set { title = value; this.RaisePropertyChanged(nameof(Title)); }
}
/// <summary>
/// 获取赛程信息
/// </summary>
private void GetSchedule()
{
string date = Convert.ToDateTime(matchDate).ToString("yyyy-MM-dd");
var dayschedules = JsonModel.TomorrowMatch_Path(date);
// matchData.AddRange(dayschedules.dayschedule);
MatchData = new ObservableCollection<Dayschedule>();
foreach (var dayschedule in dayschedules.dayschedule)
{
if (dayschedule.Status == "1")
{
dayschedule.Status = "未开赛";
}
else if (dayschedule.Status == "2")
{
dayschedule.Status = "进行中";
}
else if (dayschedule.Status == "3")
{
dayschedule.Status = "进行中";
}
else if (dayschedule.Status == "4")
{
dayschedule.Status = "已结束";
}
else if (dayschedule.Status == "5")
{
dayschedule.Status = "延期";
}
MatchData.Add(dayschedule);
}
}
/// <summary>
/// 组装往包装发送得数据
/// </summary>
/// <returns></returns>
private string CombineMatchData()
{
string data="";
data += title+"&";
foreach (var tempMatchData in matchData)
{
if (tempMatchData.SelectLight=="不高亮")
{
data += "0";
}
else
{
data += "1";
}
data += "*";
if (string.IsNullOrEmpty(tempMatchData.dates))
{
data += "";
}
else
{
data += tempMatchData.dates.Replace(" ", "");
}
data += "*";
if (string.IsNullOrEmpty(tempMatchData.time))
{
data += "";
}
else
{
data += tempMatchData.time.Replace(" ", "");
}
data += "*";
data += tempMatchData.HomeTeamName.Replace(" ","");
data += "*";
if(string.IsNullOrEmpty(tempMatchData.HomeTeamScore))
{
data += "";
}
else
{
data += tempMatchData.HomeTeamScore.Replace(" ", "");
}
data += "*";
data += tempMatchData.VisitingTeamName.Replace(" ","");
data += "*";
if(string.IsNullOrEmpty(tempMatchData.VisitingTeamScore))
{
data += "";
}
else
{
data += tempMatchData.VisitingTeamScore.Replace(" ", "");
}
data += "*";
if(string.IsNullOrEmpty(tempMatchData.Status))
{
data += "";
}
else
{
data += tempMatchData.Status.Replace(" ", "");
}
data += ";";
}
return data;
}
}
}
<UserControl
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:dx="http://schemas.devexpress.com/winfx/2008/xaml/core"
xmlns:my="clr-namespace:VIZ.MIGU.CBA.Module.DayMatch.View"
xmlns:team="clr-namespace:VIZ.MIGU.CBA.Module.TeamStandings.View"
xmlns:round="clr-namespace:VIZ.MIGU.CBA.Module.RoundMatch.View"
xmlns:teamStats="clr-namespace:VIZ.MIGU.CBA.Module.TeamStats.View"
xmlns:single="clr-namespace:VIZ.MIGU.CBA.Module.SinglePlayer.View"
xmlns:playCom="clr-namespace:VIZ.MIGU.CBA.Module.PlayerCompare.View"
x:Class="VIZ.MIGU.CBA.Module.MainView"
mc:Ignorable="d"
d:DesignHeight="800" d:DesignWidth="1300">
<UserControl.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="/VIZ.MIGU.CBA.Module;component/Style/DataGrid.xaml"></ResourceDictionary>
<ResourceDictionary Source="/VIZ.MIGU.CBA.Module;component/Style/CheckBox_Default.xaml"></ResourceDictionary>
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</UserControl.Resources>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="40"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<WrapPanel Grid.Row="0" Background="Black">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="100"/>
<ColumnDefinition Width="200"/>
<ColumnDefinition Width="100"/>
<ColumnDefinition Width="200"/>
<ColumnDefinition Width="200"/>
<ColumnDefinition Width="450"/>
</Grid.ColumnDefinitions>
<TextBlock Text="比赛日期:" Grid.Column="0" FontSize="20" Foreground="White" HorizontalAlignment="Center" VerticalAlignment="Center"/>
<DatePicker Grid.Column="1" HorizontalAlignment="Center" Name="Date_MatchDateInfo" Width="200"
SelectedDate="{Binding MatchDate,Mode=TwoWay}" FontSize="20" Style="{StaticResource DatePicker_Black}" SelectedDateChanged="Date_MatchDateInfo_SelectedDateChanged" >
</DatePicker>
<TextBlock Text="赛程:" Grid.Column="2" FontSize="20" Foreground="White" HorizontalAlignment="Center" VerticalAlignment="Center"/>
<ComboBox Grid.Column="3" Style="{StaticResource ComboBoxStyle}" HorizontalAlignment="Center" VerticalAlignment="Center" FontSize="20"
Width="200" ItemsSource="{Binding Path=MatchItems,Mode=TwoWay}"
SelectedItem="{Binding Path=SelectMatchItems,Mode=TwoWay}" SelectionChanged="ComboBox_SelectionChanged">
</ComboBox>
<TextBox Grid.Column="4" Foreground="White" Background="Black" FontSize="20" HorizontalAlignment="Center" VerticalAlignment="Center" Text="{Binding MatchStatus,Mode=TwoWay}" Width="80"/>
<StackPanel Orientation="Horizontal" Margin="0,0,5,0" HorizontalAlignment="Right" Grid.Column="5">
<CheckBox Style="{StaticResource CheckBox_VizConnection}" IsChecked="{Binding Path=IsConnected,Mode=TwoWay}"
IsHitTestVisible="False"></CheckBox>
<ComboBox Height="20" Width="200" Margin="10,0,0,0"
ItemsSource="{Binding Path=VizConnections}"
SelectedValue="{Binding Path=SelectedVizConnection,Mode=TwoWay}">
<ComboBox.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<TextBlock VerticalAlignment="Center" Text="{Binding Path=IP}"></TextBlock>
<TextBlock VerticalAlignment="Center" Text=":" Margin="5,0,5,0"></TextBlock>
<TextBlock VerticalAlignment="Center" Text="{Binding Path=Port}"></TextBlock>
</StackPanel>
</DataTemplate>
</ComboBox.ItemTemplate>
</ComboBox>
<!-- 主库连接按钮 -->
<Button Grid.Column="4" Height="20" Width="80" Content="连接" Margin="10,0,0,0"
Command="{Binding Path=ConnectCommand}"
IsEnabled="{Binding Path=IsConnectButtonEnabled}"></Button>
<Button Grid.Column="4" Height="20" Width="80" Content="断开" Margin="10,0,0,0"
Command="{Binding Path=DisconnectCommand}"
IsEnabled="{Binding Path=IsConnectButtonEnabled}"></Button>
</StackPanel>
</Grid>
</WrapPanel>
<!--<dx:DXTabControl Grid.Row="1" Background="Black">
<dx:DXTabItem Header="今日赛程" Background="Black">
<Grid Background="Black">
<my:DayMatchUI>
</my:DayMatchUI>
</Grid>
</dx:DXTabItem>
<dx:DXTabItem Header="球队排行榜" Background="Black">
<Grid Background="Black">
<team:TeamStandingUI>
</team:TeamStandingUI>
</Grid>
</dx:DXTabItem>
<dx:DXTabItem Header="本轮和下轮对阵" Background="Black">
<Grid>
<round:RoundMatchUI>
</round:RoundMatchUI>
</Grid>
</dx:DXTabItem>
<dx:DXTabItem Header="球队数据对比" Background="Black">
<Grid>
<teamStats:TeamStatsUI>
</teamStats:TeamStatsUI>
</Grid>
</dx:DXTabItem>
<dx:DXTabItem Header="单人球员" Background="Black">
<Grid>
<single:SinglePlayerUI>
</single:SinglePlayerUI>
</Grid>
</dx:DXTabItem>
<dx:DXTabItem Header="球队数据对比" Background="Black">
<Grid>
<playCom:PlayerComPareUI>
</playCom:PlayerComPareUI>
</Grid>
</dx:DXTabItem>
</dx:DXTabControl>-->
<TabControl Grid.Row="1" Background="Black" Style="{StaticResource TabControlStyle}">
<TabItem Header="今日赛程" Foreground="White" FontSize="20">
<Grid Background="Black">
<my:DayMatchUI>
</my:DayMatchUI>
</Grid>
</TabItem>
<TabItem Header="球队排行榜" Foreground="White" FontSize="20">
<Grid Background="Black">
<team:TeamStandingUI>
</team:TeamStandingUI>
</Grid>
</TabItem>
<TabItem Header="本轮和下轮对阵" Foreground="White" FontSize="20">
<Grid>
<round:RoundMatchUI>
</round:RoundMatchUI>
</Grid>
</TabItem>
<TabItem Header="球队数据对比" Foreground="White" FontSize="20">
<Grid>
<teamStats:TeamStatsUI>
</teamStats:TeamStatsUI>
</Grid>
</TabItem>
<TabItem Header="单人球员" Foreground="White" FontSize="20">
<Grid>
<single:SinglePlayerUI Grid.ColumnSpan="3">
</single:SinglePlayerUI>
</Grid>
</TabItem>
<TabItem Header="球员数据对比" Foreground="White" FontSize="20">
<Grid>
<playCom:PlayerComPareUI>
</playCom:PlayerComPareUI>
</Grid>
</TabItem>
</TabControl>
</Grid>
</UserControl>
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using VIZ.Framework.Core;
using VIZ.MIGU.CBA.Module.Common;
using VIZ.MIGU.CBA.Module.DayMatch.ViewModel;
using VIZ.MIGU.CBA.Module.Main.ViewModel;
using VIZ.MIGU.CBA.Module.OnAirData;
using VIZ.MIGU.CBA.Module.PlayerCompare.ViewModel;
using VIZ.MIGU.CBA.Module.SinglePlayer.Model;
using VIZ.MIGU.CBA.Module.SinglePlayer.ViewModel;
using VIZ.MIGU.CBA.Module.TeamStats.ViewModel;
namespace VIZ.MIGU.CBA.Module
{
/// <summary>
/// Interaction logic for MainView.xaml
/// </summary>
public partial class MainView : UserControl
{
MainViewModel vm = MainViewModel.CreateInstance;
SinglePlayerViewModel singlePlayVM = SinglePlayerViewModel.CreateInstance;
PlayerCompareViewModel PlayerCompareViewModel = PlayerCompareViewModel.CreateInstance;
TeamStatsViewModel teamStatsViewModel=TeamStatsViewModel.CreateInstance;
public string ScheduleID = "";
public MainView()
{
InitializeComponent();
WPFHelper.BindingViewModel(this,vm);
}
private void ComboBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
if(vm.SelectMatchItems!=null&&vm.SetMatchDict.ContainsKey(vm. SelectMatchItems))
{
ScheduleID = vm.SetMatchDict[vm. SelectMatchItems];
vm.onAirDataModel = JsonModel.OnAirData_Path(ScheduleID);
vm.ScheduleID = ScheduleID;
if (vm.onAirDataModel != null)
{
if (vm.onAirDataModel.liveTeamInfo.StatusCNName == "")
{
vm.MatchStatus = "未开始";
}
else if (vm.onAirDataModel.liveTeamInfo.StatusCNName != "")
{
vm.MatchStatus = vm.onAirDataModel.liveTeamInfo.StatusCNName;
}
}
else
{
vm.MatchStatus = "未开始";
}
singlePlayVM.TeamItems=new System.Collections.ObjectModel.ObservableCollection<string>();
singlePlayVM.TeamItems.Add(vm.onAirDataModel.liveTeamInfo.HomeTeamCNAlias);
singlePlayVM.TeamItems.Add(vm.onAirDataModel.liveTeamInfo.VisitingTeamCNAlias);
PlayerCompareViewModel.HName = vm.onAirDataModel.liveTeamInfo.HomeTeamCNAlias;
PlayerCompareViewModel.AName = vm.onAirDataModel.liveTeamInfo.VisitingTeamCNAlias;
teamStatsViewModel.HomeTeam = vm.onAirDataModel.liveTeamInfo.HomeTeamCNAlias;
teamStatsViewModel.AwayTeam = vm.onAirDataModel.liveTeamInfo.VisitingTeamCNAlias;
PlayerCompareViewModel.SetPlayer();
vm.PlayerSeasonData = JsonModel.PlayerSeasonData_Path(vm.Matchtypeid);
vm.TeamSeasonData = JsonModel.TeamSeasonData_Path(vm.Matchtypeid);
SetTeamCompare();
}
}
private void SetTeamCompare()
{
//SetHomeTeamDictionary();
//SetVisitTeamDictionary();
SetTeamSeasonDictionary();
//SetHData();
//SetAData();
Utils.SetHomeTeamDictionary(vm);
Utils.SetVisitTeamDictionary(vm);
Utils.SetHData(vm, teamStatsViewModel);
Utils.SetAData(vm, teamStatsViewModel);
}
private void SetTeamSeasonDictionary()
{
vm.CNAliasVisitSportsDictionary.Clear();
foreach (var teamSeasonData in vm.TeamSeasonData.teamstats)
{
Dictionary<string, string> CompareItemToNumber = new Dictionary<string, string>();
CompareItemToNumber.Add("Goal", teamSeasonData.PointsAverage);
CompareItemToNumber.Add("Rebounds", teamSeasonData.ReboundsAverage);
CompareItemToNumber.Add("Assists", teamSeasonData.AssistsAverage);
CompareItemToNumber.Add("Steals", teamSeasonData.BlockedAverage);
CompareItemToNumber.Add("Blocks", teamSeasonData.StealsAverage);
CompareItemToNumber.Add("Error", teamSeasonData.TurnoversAverage);
CompareItemToNumber.Add("Foul", teamSeasonData.PersonalFoulsAverage);
//HomeTeamCompareOptionDictionary.Add(TeamDataCompareOptionChinese[7], Json_OnAirData.liveTeamStatH.FlagrantFouls);
CompareItemToNumber.Add("FreeThrowP", (teamSeasonData.FreeThrowsPercentageAverage ).ToString("F1") + "%");
CompareItemToNumber.Add("TwoShootingGoalP", (teamSeasonData.TwoPointPercentageAverage ).ToString("F1") + "%");
CompareItemToNumber.Add("ThreeShootingGoalP", (teamSeasonData.ThreePointPercentageAverage ).ToString("F1") + "%");
CompareItemToNumber.Add("ShootingGoalP", (teamSeasonData.FieldGoalsPercentageAverage ).ToString("F1") + "%");
CompareItemToNumber.Add("ShootingUnderBaketP", (teamSeasonData.FieldGoalsAtRimPercentageAverage * 100).ToString("F1") + "%");
CompareItemToNumber.Add("MidShootingP", (teamSeasonData.FieldGoalsMidRangePercentageAverage * 100).ToString("F1") + "%");
vm.CNAliasVisitSportsDictionary.Add(teamSeasonData.TeamCNAlias, CompareItemToNumber);
}
}
private void Date_MatchDateInfo_SelectedDateChanged(object sender, SelectionChangedEventArgs e)
{
vm.GetSchedule();
vm.PlayerSeasonData = JsonModel.PlayerSeasonData_Path(vm.Matchtypeid);
vm.TeamSeasonData = JsonModel.TeamSeasonData_Path(vm.Matchtypeid);
vm.CNAliasPlayerSportsDictionary.Clear();
foreach (var tempSeasonData in vm.PlayerSeasonData.playerstats)
{
Dictionary<string, string> CompareItemToNumber = new Dictionary<string, string>();
CompareItemToNumber.Add("Goal", tempSeasonData.PointsAverage);
CompareItemToNumber.Add("Rebounds", tempSeasonData.ReboundsAverage);
CompareItemToNumber.Add("Assists", tempSeasonData.AssistsAverage);
CompareItemToNumber.Add("Steals", tempSeasonData.StealsAverage);
CompareItemToNumber.Add("Blocks", tempSeasonData.BlockedAverage);
CompareItemToNumber.Add("PlayTime",tempSeasonData.MinutesAverage);
CompareItemToNumber.Add("ShootingGoalP", (tempSeasonData. FieldGoalsPercentageAverage).ToString("F1")+"%");
CompareItemToNumber.Add("TwoShootingGoalP", (tempSeasonData.TwoPointPercentageAverage).ToString("F1") + "%");
CompareItemToNumber.Add("ThreeShootingGoalP", (tempSeasonData.ThreePointPercentageAverage).ToString("F1") + "%");
CompareItemToNumber.Add("FreeThrowP", (tempSeasonData.FreeThrowsPercentageAverage).ToString("F1") + "%");
CompareItemToNumber.Add("ShootingUnderBaketP", (tempSeasonData.FieldGoalsAtRimPercentageAverage*100).ToString("F1") + "%");
CompareItemToNumber.Add("MidShootingP", (tempSeasonData.FieldGoalsMidRangePercentageAverage * 100).ToString("F1") + "%");
CompareItemToNumber.Add("ThreeScore", tempSeasonData.ThreePointGoalsAverage + "/"
+ tempSeasonData.ThreePointAttemptedAverage);
CompareItemToNumber.Add("TwoScore", tempSeasonData.TwoPointGoalsAverage + "/"
+ tempSeasonData.TwoPointAttemptedAverage);
CompareItemToNumber.Add("TwoArea", tempSeasonData.TwoPointGoalsAverage + "/"
+ tempSeasonData.TwoPointAttemptedAverage);
CompareItemToNumber.Add("ThreeArea", tempSeasonData.ThreePointGoalsAverage + "/"
+ tempSeasonData.ThreePointAttemptedAverage);
//CompareItemToNumber.Add("ThreeArea",);
CompareItemToNumber.Add("FreeThrow", tempSeasonData.FreeThrowsAverage + "/"
+ tempSeasonData.FreeThrowsAttemptedAverage);
CompareItemToNumber.Add("Error",tempSeasonData.TurnoversAverage);
if (!vm.CNAliasPlayerSportsDictionary.ContainsKey(tempSeasonData.CNAlias))
{
vm.CNAliasPlayerSportsDictionary.Add(tempSeasonData.CNAlias, CompareItemToNumber);
}
}
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace VIZ.MIGU.CBA.Module.OnAirData
{
public class Events
{
public string EventTypeID { get; set; }//事件类型3---投篮命中 4---投篮不中
public string PlayerCNAlias1 { get; set; }//球员中文简称
public string TeamID1 { get; set; }//球队id
public string PlayerID1 { get; set; }//球员id
public string ShotCoordX { get; set; }//x坐标
public string ShotCoordY { get; set; }//y坐标
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace VIZ.MIGU.CBA.Module.OnAirData
{
/// <summary>
/// 主队队员
/// </summary>
public class LivePlayerStatH
{
public string PlayerID { get; set; }//篮协球员ID
public string CNAlias { get; set; }//中文名
public string Number { get; set; }//号码
public string Points { get; set; }//得分
public string Rebounds { get; set; }//篮板
public string Assists { get; set; }//助攻
public float FieldGoalsPercentage { get; set; }//投篮命中率
public string Steals { get; set; }//抢断
public string Blocked { get; set; }//盖帽
public string Minutes { get; set; }//上场时间
public float ThreePointPercentage { get; set; }//三分命中率
public float FreeThrowsPercentage { get; set; }//罚球命中率
public float TwoPointPercentage { get; set; }//两分命中率
public float FieldGoalsAtRimPercentage { get; set; }//篮下投篮命中率
public float FieldGoalsMidRangePercentage { get; set; }//中距离投篮命中率
public float PlusMinus { get; set; }//正负值
public string ThreePointAttempted { get; set; }//三分出手数
public string ThreePointGoals { get; set; }//三分命中数
public string TwoPointAttempted { get; set; }//两分出手数
public string TwoPointGoals { get; set; }//两分命中数
public string OnCourt { get; set; }//是否在场上(1是0否)
public string GameStart { get; set; }//是否首发(0不是首发,1首发)
public string FieldGoalsAtRimMade { get; set; }//篮下投篮命中
public string FieldGoalsAtRimAttempted { get; set; }//篮下投篮尝试
public string FreeThrowsAttempted { get; set; }//罚球出手数
public string FreeThrows { get; set; }//罚球命中数
public string Turnovers { get; set; }//失误
public string FastBreakPoints { get; set; }//快攻得分
public string PersonalFouls { get; set; }//个人犯规
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace VIZ.MIGU.CBA.Module.OnAirData
{
/// <summary>
/// 客队队员
/// </summary>
public class LivePlayerStatV
{
public string PlayerID { get; set; }//篮协球员ID
public string CNAlias { get; set; }//中文名
public string Number { get; set; }//号码
public string Points { get; set; }//得分
public string Rebounds { get; set; }//篮板
public string Assists { get; set; }//助攻
public float FieldGoalsPercentage { get; set; }//投篮命中率
public string Steals { get; set; }//抢断
public string Blocked { get; set; }//盖帽
public string Minutes { get; set; }//上场时间
public float ThreePointPercentage { get; set; }//三分命中率
public float FreeThrowsPercentage { get; set; }//罚球命中率
public float TwoPointPercentage { get; set; }//两分命中率
public float FieldGoalsAtRimPercentage { get; set; }//篮下投篮命中率
public float FieldGoalsMidRangePercentage { get; set; }//中距离投篮命中率
public float PlusMinus { get; set; }//正负值
public string ThreePointAttempted { get; set; }//三分出手数
public string ThreePointGoals { get; set; }//三分命中数
public string TwoPointAttempted { get; set; }//两分出手数
public string TwoPointGoals { get; set; }//两分命中数
public string OnCourt { get; set; }//是否在场上(1是0否)
public string GameStart { get; set; }//是否首发(0不是首发,1首发)
public string FieldGoalsAtRimMade { get; set; }//篮下投篮命中
public string FieldGoalsAtRimAttempted { get; set; }//篮下投篮尝试
public string FreeThrowsAttempted { get; set; }//罚球出手数
public string FreeThrows { get; set; }//罚球命中数
public string Turnovers { get; set; }//失误
public string FastBreakPoints { get; set; }//快攻得分
public string PersonalFouls { get; set; }//个人犯规
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace VIZ.MIGU.CBA.Module.OnAirData
{
public class LiveTeamInfo
{
public string VisitingScore { get; set; }//客队得分
public string HomeTeamScore { get; set; }//主队得分
public string HomeTeamCNAlias { get; set; }//主队中文简称
public string VisitingTeamCNAlias { get; set; }//客队中文简称
public string HomeTeamID { get; set; }//主队id
public string VisitingTeamID { get; set; }//客队id
public string StatusCNName { get; set; }//比赛状态
public string Seconds { get; set; }//比赛剩余秒
public string Minutes { get; set; }//比赛剩余分钟
public string Quarter { get; set; }//当前节数
public string Status { get; set; }//比赛状态ID(1未开始,2进行中,4已结束)
public string ScheduleTypeID { get; set; }//赛程阶段
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace VIZ.MIGU.CBA.Module.OnAirData
{
/// <summary>
/// 主队球队
/// </summary>
public class LiveTeamStatH
{
public string Points { get; set; }//得分
public string Rebounds { get; set; }//篮板
public string Assists { get; set; }//助攻
public string Steals { get; set; }//抢断
public string Turnovers { get; set; }//失误
public string Blocked { get; set; }//盖帽
public float ThreePointPercentage { get; set; }//三分命中率
public float FreeThrowsPercentage { get; set; }//罚球命中率
public float TwoPointPercentage { get; set; }//两分命中率
public float FieldGoalsPercentage { get; set; }//投篮命中率
public float FieldGoalsAtRimPercentage { get; set; }//篮下投篮命中率
public float FieldGoalsMidRangePercentage { get; set; }//中距离投篮命中率
public string FlagrantFouls { get; set; }//违体犯规
public string PersonalFouls { get; set; }//个人犯规
public string ThreePointAttempted { get; set; }//三分出手数
public string ThreePointGoals { get; set; }//三分命中数
public string TwoPointAttempted { get; set; }//两分出手数
public string TwoPointGoals { get; set; }//两分命中数
public string FastBreakPoints { get; set; }//快攻得分
public float FreeThrows { get; set; }//罚球命中数
public float FieldGoalsAttempted { get; set; }//投篮出手数
public float ReboundsOffensive { get; set; }//进攻篮板
public float ReboundsDefensive { get; set; }//防守篮板
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace VIZ.MIGU.CBA.Module.OnAirData
{
/// <summary>
/// 客队球队
/// </summary>
public class LiveTeamStatV
{
public string Points { get; set; }//得分
public string Rebounds { get; set; }//篮板
public string Assists { get; set; }//助攻
public string Steals { get; set; }//抢断
public string Turnovers { get; set; }//失误
public string Blocked { get; set; }//盖帽
public float ThreePointPercentage { get; set; }//三分命中率
public float FreeThrowsPercentage { get; set; }//罚球命中率
public float TwoPointPercentage { get; set; }//两分命中率
public float FieldGoalsPercentage { get; set; }//投篮命中率
public float FieldGoalsAtRimPercentage { get; set; }//篮下投篮命中率
public float FieldGoalsMidRangePercentage { get; set; }//中距离投篮命中率
public string FlagrantFouls { get; set; }//违体犯规
public string PersonalFouls { get; set; }//个人犯规
public string ThreePointAttempted { get; set; }//三分出手数
public string ThreePointGoals { get; set; }//三分命中数
public string TwoPointAttempted { get; set; }//两分出手数
public string TwoPointGoals { get; set; }//两分命中数
public string FastBreakPoints { get; set; }//快攻得分
public float FreeThrows { get; set; }//罚球命中数
public float FieldGoalsAttempted { get; set; }//投篮出手数
public float ReboundsOffensive { get; set; }//进攻篮板
public float ReboundsDefensive { get; set; }//防守篮板
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace VIZ.MIGU.CBA.Module.OnAirData
{
public class OnAirDataModel
{
public LiveTeamInfo liveTeamInfo { get; set; }
//public List<Events> YesEventsList = new List<Events>();//投篮命中事件
//public List<Events> NoEventsList = new List<Events>(); //投篮不中事件
public List<Events> events { get; set; }
//主队球员集合
public List<LivePlayerStatH> livePlayerStatH { get; set; }
//客队球员集合
public List<LivePlayerStatV> livePlayerStatV { get; set; }
//主队技术统计
public LiveTeamStatH liveTeamStatH { get; set; }
//客队技术统计
public LiveTeamStatV liveTeamStatV { get; set; }
}
}
using DevExpress.Mvvm;
using DevExpress.Mvvm.POCO;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using VIZ.MIGU.CBA.Module.TempEnum;
namespace VIZ.MIGU.CBA.Module.PlayerCompare.Model
{
public class PlayerComModel: ViewModelBase
{
private string hScore;
public string HScore
{
get { return hScore; }
set { hScore = value;this.RaisePropertyChanged(nameof(HScore)); }
}
private string hSeasonScore;
public string HSeasonScore
{
get { return hSeasonScore; }
set { hSeasonScore = value;this.RaisePropertyChanged(nameof(HSeasonScore)); }
}
private string aScore;
public string AScore
{
get { return aScore; }
set { aScore = value;this.RaisePropertyChanged(nameof(AScore)); }
}
private string aSeasonScore;
public string ASeasonScore
{
get { return aSeasonScore; }
set { aSeasonScore = value;this.RaisePropertyChanged(nameof(ASeasonScore)); }
}
private HighLightEnum light = HighLightEnum.OffLight;
/// <summary>
///高亮
/// </summary>
public HighLightEnum Light
{
get { return light; }
set { light = value; this.RaisePropertyChanged(nameof(Light)); }
}
private TechStats techStats = TechStats.Goal;
public TechStats TechStats
{
get { return techStats; }
set { techStats = value; this.RaisePropertyChanged(nameof(TechStats)); }
}
}
}
<UserControl x:Class="VIZ.MIGU.CBA.Module.PlayerCompare.View.PlayerComPareUI"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:core="clr-namespace:VIZ.Framework.Core;assembly=VIZ.Framework.Core"
xmlns:storage="clr-namespace:VIZ.MIGU.CBA.Module.TempEnum"
mc:Ignorable="d"
d:DesignHeight="800" d:DesignWidth="900" Background="Black">
<UserControl.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="/VIZ.MIGU.CBA.Module;component/Style/DataGrid.xaml"></ResourceDictionary>
</ResourceDictionary.MergedDictionaries>
<core:Enum2EnumDescriptionConverter x:Key="Enum2EnumDescriptionConverter" EnumType="{x:Type storage:HighLightEnum}"></core:Enum2EnumDescriptionConverter>
<core:Enum2EnumDescriptionConverter x:Key="TechStatsEnumDescriptionConverter" EnumType="{x:Type storage:TechStats}"></core:Enum2EnumDescriptionConverter>
</ResourceDictionary>
</UserControl.Resources>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="197*"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="200"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<WrapPanel Grid.Row="0" Height="160" Width="800" HorizontalAlignment="Center" VerticalAlignment="Center" >
<Grid Width="755">
<Grid.RowDefinitions>
<RowDefinition Height="40"/>
<RowDefinition Height="40"/>
<RowDefinition Height="40"/>
<RowDefinition Height="40"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="100"/>
<ColumnDefinition Width="150"/>
<ColumnDefinition Width="100"/>
<ColumnDefinition Width="150"/>
<ColumnDefinition Width="100"/>
<ColumnDefinition Width="150"/>
</Grid.ColumnDefinitions>
<TextBlock Grid.Row="0" Grid.Column="2" Text="标题" Background="Black" Foreground="White" FontSize="20" HorizontalAlignment="Center" VerticalAlignment="Center" />
<TextBox Grid.Row="0" Grid.Column="3" Width="150" Background="Black" Foreground="White"
FontSize="20" HorizontalContentAlignment="Center"
HorizontalAlignment="Center" VerticalAlignment="Center" Text="{Binding Title,Mode=TwoWay }" Height="36"/>
<TextBlock TextBlock.TextAlignment="Center" Text="主队" Width="100" Foreground="White" FontSize="20" Background="Black" Grid.Row="1"/>
<TextBox Text="{Binding HName,Mode=TwoWay}" Width="150" Background="Black" Foreground="White" FontSize="20" Grid.Column="1" Grid.Row="1" Height="36" />
<TextBlock TextBlock.TextAlignment="Center" Text="客队" Width="100" Foreground="White" FontSize="20" Background="Black" Grid.Row="1" Grid.Column="2"/>
<TextBox Text="{Binding AName,Mode=TwoWay}" Grid.Row="1" Grid.Column="3" Width="150" Background="Black" Foreground="White" FontSize="20" Height="36" />
<Button Content="刷新" Command="{Binding BtnCommand}" HorizontalContentAlignment="Center"
Grid.Row="1" Grid.Column="5" Width="80" Height="40" Foreground="White" Background="Black" FontSize="20"/>
<TextBlock Grid.Row="2" TextBlock.TextAlignment="Center" Text="主队球员" Width="100" Foreground="White" FontSize="20" Background="Black" HorizontalAlignment="Center" VerticalAlignment="Center"/>
<ComboBox Style="{StaticResource ComboBoxStyle}" Grid.Row="2" Grid.Column="1" x:Name="com_HPlayer" HorizontalAlignment="Left" VerticalAlignment="Center" Width="150" FontSize="20"
ItemsSource="{Binding Path=HPlayers,Mode=TwoWay}"
SelectedItem="{Binding Path=HPlayer,Mode=TwoWay}" SelectionChanged="com_HPlayer_SelectionChanged">
</ComboBox>
<TextBlock Grid.Row="2" Grid.Column="2" TextBlock.TextAlignment="Center" Text="客队球员" Width="100" Foreground="White" FontSize="20" Background="Black" HorizontalAlignment="Center" VerticalAlignment="Center" />
<ComboBox Style="{StaticResource ComboBoxStyle}" Grid.Row="2" Grid.Column="3" x:Name="com_APlayer" HorizontalAlignment="Left" VerticalAlignment="Center" Width="150" FontSize="20"
ItemsSource="{Binding Path=APlayers,Mode=TwoWay}"
SelectedItem="{Binding Path=APlayer,Mode=TwoWay}" SelectionChanged="com_APlayer_SelectionChanged" >
</ComboBox>
<ComboBox Style="{StaticResource ComboBoxStyle}" Grid.Row="3" Grid.Column="4" x:Name="com_matchStatsId" HorizontalAlignment="Center" VerticalAlignment="Center" Width="80" FontSize="20"
ItemsSource="{Binding Path=MatchStatsIds,Mode=TwoWay}"
SelectedItem="{Binding Path=MatchStatsId,Mode=TwoWay}" SelectionChanged="ComboBox_SelectionChanged">
</ComboBox>
<TextBox Text="{Binding HNums}" Width="100" Background="Black" Foreground="White" FontSize="20" Grid.Row="3" Grid.Column="1" Height="36"
HorizontalContentAlignment="Center"
HorizontalAlignment="Center" VerticalAlignment="Center"/>
<TextBlock Grid.Row="3" Grid.Column="2" TextBlock.TextAlignment="Center" Text="VS" Width="50" Foreground="White" FontSize="20" Background="Black" HorizontalAlignment="Center" VerticalAlignment="Center" />
<TextBox Text="{Binding ANums}" Width="100" Background="Black" Foreground="White" FontSize="20" Grid.Row="3" Grid.Column="3" Height="36"
HorizontalContentAlignment="Center"
HorizontalAlignment="Center" VerticalAlignment="Center"/>
<Button Content="球员对比上" Command="{Binding PlayerComCommand}" HorizontalContentAlignment="Center"
Grid.Column="5" Grid.Row="3" Width="120" Height="40" Foreground="White" Background="Black" FontSize="20"/>
</Grid>
</WrapPanel>
<DataGrid AutoGenerateColumns="False" CanUserAddRows="False" CanUserDeleteRows="False" CanUserReorderColumns="False"
ItemsSource="{Binding Path=PlayerComModels}" Grid.Row="1" Background="Black" RowHeaderWidth="0" >
<DataGrid.ColumnHeaderStyle>
<Style TargetType="DataGridColumnHeader">
<Setter Property="HorizontalContentAlignment" Value="Center"></Setter>
<Setter Property="Background" Value="Black"></Setter>
<Setter Property="Foreground" Value="White"></Setter>
<Setter Property="BorderThickness" Value="1"></Setter>
<Setter Property="FontSize" Value="20"/>
</Style>
</DataGrid.ColumnHeaderStyle>
<DataGrid.Columns>
<DataGridComboBoxColumn Header="" Width="100" SelectedItemBinding="{Binding Path=Light,Mode=TwoWay,Converter={StaticResource Enum2EnumDescriptionConverter}}"
ItemsSource="{Binding Source={x:Static Member=storage:StaticEnumInfos.EnumDescriptions}}"
CellStyle="{StaticResource DataGirdView_UI}" >
</DataGridComboBoxColumn>
<DataGridTextColumn Header="主队球员本场" Width="*" Binding="{Binding Path=HScore}" CellStyle="{StaticResource DataGirdView_UI}" ></DataGridTextColumn>
<DataGridTextColumn Header="主队球员赛季" Width="*" Binding="{Binding Path=HSeasonScore}" CellStyle="{StaticResource DataGirdView_UI}"></DataGridTextColumn>
<DataGridComboBoxColumn Header="" Width="100"
SelectedItemBinding="{Binding Path=TechStats,Mode=TwoWay,Converter={StaticResource TechStatsEnumDescriptionConverter},UpdateSourceTrigger=PropertyChanged}"
ItemsSource="{Binding Source={x:Static Member=storage:StaticEnumInfos.EnumTechStatsDescriptions}}"
CellStyle="{StaticResource DataGirdView_UI}" >
<DataGridComboBoxColumn.EditingElementStyle>
<Style TargetType="ComboBox">
<EventSetter Event="SelectionChanged" Handler="ComboBox_SelectionChanged_1"></EventSetter>
</Style>
</DataGridComboBoxColumn.EditingElementStyle>
</DataGridComboBoxColumn>
<DataGridTextColumn Header="客队球员本场" Width="*" Binding="{Binding Path=AScore}" CellStyle="{StaticResource DataGirdView_UI}"></DataGridTextColumn>
<DataGridTextColumn Header="客队球员赛季" Width="*" Binding="{Binding Path=ASeasonScore}" CellStyle="{StaticResource DataGirdView_UI}"></DataGridTextColumn>
</DataGrid.Columns>
</DataGrid>
</Grid>
</UserControl>
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using VIZ.Framework.Core;
using VIZ.MIGU.CBA.Module.Main.ViewModel;
using VIZ.MIGU.CBA.Module.PlayerCompare.Model;
using VIZ.MIGU.CBA.Module.PlayerCompare.ViewModel;
using VIZ.MIGU.CBA.Module.TempEnum;
namespace VIZ.MIGU.CBA.Module.PlayerCompare.View
{
/// <summary>
/// Interaction logic for PlayerComPareUI.xaml
/// </summary>
public partial class PlayerComPareUI : UserControl
{
public PlayerCompareViewModel vm = PlayerCompareViewModel.CreateInstance;
public MainViewModel mainViewModel = MainViewModel.CreateInstance;
public PlayerComPareUI()
{
InitializeComponent();
WPFHelper.BindingViewModel(this, vm);
}
private void ComboBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
if (Convert.ToInt32(vm.MatchStatsId) == 7)
{
vm.PlayerComModels = new ObservableCollection<PlayerComModel>()
{
new PlayerComModel()
{
TechStats=TechStats.Goal
},
new PlayerComModel()
{
TechStats=TechStats.Rebounds
},
new PlayerComModel()
{
TechStats=TechStats.Assists
},
new PlayerComModel()
{
TechStats=TechStats.Blocks
},
new PlayerComModel()
{
TechStats=TechStats.Steals
},
new PlayerComModel()
{
TechStats=TechStats.ShootingGoalP
},
new PlayerComModel()
{
TechStats=TechStats.ThreeShootingGoalP
}
};
}
else if (Convert.ToInt32(vm.MatchStatsId) == 6)
{
vm.PlayerComModels = new ObservableCollection<PlayerComModel>()
{
new PlayerComModel()
{
TechStats=TechStats.Goal
},
new PlayerComModel()
{
TechStats=TechStats.Rebounds
},
new PlayerComModel()
{
TechStats=TechStats.Assists
},
new PlayerComModel()
{
TechStats=TechStats.Blocks
},
new PlayerComModel()
{
TechStats=TechStats.Steals
},
new PlayerComModel()
{
TechStats=TechStats.ShootingGoalP
}
};
}
else if (Convert.ToInt32(vm.MatchStatsId) == 5)
{
vm.PlayerComModels = new ObservableCollection<PlayerComModel>()
{
new PlayerComModel()
{
TechStats=TechStats.Goal
},
new PlayerComModel()
{
TechStats=TechStats.Rebounds
},
new PlayerComModel()
{
TechStats=TechStats.Assists
},
new PlayerComModel()
{
TechStats=TechStats.Blocks
},
new PlayerComModel()
{
TechStats=TechStats.Steals
}
};
}
SetHData();
SetAData();
}
private void com_HPlayer_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
if (vm.HNameNums.ContainsKey(vm.HPlayer))
{
vm.HNums = vm.HNameNums[vm.HPlayer];
}
SetHData();
}
private void com_APlayer_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
if (vm.VNameNums.ContainsKey(vm.APlayer))
{
vm.ANums = vm.VNameNums[vm.APlayer];
}
SetAData();
}
private void SetHData()
{
if (mainViewModel.MvpHomePlayerCompareNumDictionary.ContainsKey(vm?.HPlayer))
{
var playSeaSonData = mainViewModel.MvpHomePlayerCompareNumDictionary[vm.HPlayer];
foreach (var teamPlayer in vm.PlayerComModels)
{
if (playSeaSonData.ContainsKey(teamPlayer.TechStats.ToString()))
{
teamPlayer.HScore = playSeaSonData[teamPlayer.TechStats.ToString()];
}
}
}
if (vm != null)
{
//var singlePlayerData = mainViewModel.PlayerSeasonData.PlayerstatsList.Where(a => a.CNAlias == vm.SelectPlayer).FirstOrDefault();
if (mainViewModel.CNAliasPlayerSportsDictionary.ContainsKey(vm?.HPlayer))
{
var playSeaSonData = mainViewModel.CNAliasPlayerSportsDictionary[vm.HPlayer];
foreach (var teamPlayer in vm.PlayerComModels)
{
if (playSeaSonData.ContainsKey(teamPlayer.TechStats.ToString()))
{
teamPlayer.HSeasonScore = playSeaSonData[teamPlayer.TechStats.ToString()];
}
}
}
}
}
private void SetAData()
{
if (mainViewModel.MvpVisitPlayerCompareNumDictionary.ContainsKey(vm?.APlayer))
{
var playSeaSonData = mainViewModel.MvpVisitPlayerCompareNumDictionary[vm.APlayer];
foreach (var teamPlayer in vm.PlayerComModels)
{
if (playSeaSonData.ContainsKey(teamPlayer.TechStats.ToString()))
{
teamPlayer.AScore = playSeaSonData[teamPlayer.TechStats.ToString()];
}
}
}
if (vm != null)
{
//var singlePlayerData = mainViewModel.PlayerSeasonData.PlayerstatsList.Where(a => a.CNAlias == vm.SelectPlayer).FirstOrDefault();
if (mainViewModel.CNAliasPlayerSportsDictionary.ContainsKey(vm?.APlayer))
{
var playSeaSonData = mainViewModel.CNAliasPlayerSportsDictionary[vm.APlayer];
foreach (var teamPlayer in vm.PlayerComModels)
{
if (playSeaSonData.ContainsKey(teamPlayer.TechStats.ToString()))
{
teamPlayer.ASeasonScore = playSeaSonData[teamPlayer.TechStats.ToString()];
}
}
}
}
}
private void ComboBox_SelectionChanged_1(object sender, SelectionChangedEventArgs e)
{
SetAData();
SetHData();
}
}
}
using System.Reflection;
using System.Resources;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Windows;
// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("VIZ.MIGU.CBA.Module")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("VIZ.MIGU.CBA.Module")]
[assembly: AssemblyCopyright("Copyright © China 2022")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// Setting ComVisible to false makes the types in this assembly not visible
// to COM components. If you need to access a type in this assembly from
// COM, set the ComVisible attribute to true on that type.
[assembly: ComVisible(false)]
//In order to begin building localizable applications, set
//<UICulture>CultureYouAreCodingWith</UICulture> in your .csproj file
//inside a <PropertyGroup>. For example, if you are using US english
//in your source files, set the <UICulture> to en-US. Then uncomment
//the NeutralResourceLanguage attribute below. Update the "en-US" in
//the line below to match the UICulture setting in the project file.
//[assembly: NeutralResourcesLanguage("en-US", UltimateResourceFallbackLocation.Satellite)]
[assembly: ThemeInfo(
ResourceDictionaryLocation.None, //where theme specific resource dictionaries are located
//(used if a resource is not found in the page,
// or application resource dictionaries)
ResourceDictionaryLocation.SourceAssembly //where the generic resource dictionary is located
//(used if a resource is not found in the page,
// app, or any theme specific resource dictionaries)
)]
// Version information for an assembly consists of the following four values:
//
// Major Version
// Minor Version
// Build Number
// Revision
//
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]
DevExpress.Xpf.Core.DXTabControl, DevExpress.Xpf.Core.v22.1, Version=22.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
//------------------------------------------------------------------------------
// <auto-generated>
// 此代码由工具生成。
// 运行时版本:4.0.30319.42000
//
// 对此文件的更改可能会导致不正确的行为,并且如果
// 重新生成代码,这些更改将会丢失。
// </auto-generated>
//------------------------------------------------------------------------------
namespace VIZ.MIGU.CBA.Module.Properties {
using System;
/// <summary>
/// 一个强类型的资源类,用于查找本地化的字符串等。
/// </summary>
// 此类是由 StronglyTypedResourceBuilder
// 类通过类似于 ResGen 或 Visual Studio 的工具自动生成的。
// 若要添加或移除成员,请编辑 .ResX 文件,然后重新运行 ResGen
// (以 /str 作为命令选项),或重新生成 VS 项目。
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
internal class Resources {
private static global::System.Resources.ResourceManager resourceMan;
private static global::System.Globalization.CultureInfo resourceCulture;
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
internal Resources() {
}
/// <summary>
/// 返回此类使用的缓存的 ResourceManager 实例。
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Resources.ResourceManager ResourceManager {
get {
if (object.ReferenceEquals(resourceMan, null)) {
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("VIZ.MIGU.CBA.Module.Properties.Resources", typeof(Resources).Assembly);
resourceMan = temp;
}
return resourceMan;
}
}
/// <summary>
/// 重写当前线程的 CurrentUICulture 属性,对
/// 使用此强类型资源类的所有资源查找执行重写。
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Globalization.CultureInfo Culture {
get {
return resourceCulture;
}
set {
resourceCulture = value;
}
}
}
}
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0"></xsd:element>
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string"></xsd:attribute>
<xsd:attribute name="type" type="xsd:string"></xsd:attribute>
<xsd:attribute name="mimetype" type="xsd:string"></xsd:attribute>
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string"></xsd:attribute>
<xsd:attribute name="name" type="xsd:string"></xsd:attribute>
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1"></xsd:element>
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2"></xsd:element>
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1"></xsd:attribute>
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3"></xsd:attribute>
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4"></xsd:attribute>
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1"></xsd:element>
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required"></xsd:attribute>
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>
\ No newline at end of file
//------------------------------------------------------------------------------
// <auto-generated>
// 此代码由工具生成。
// 运行时版本:4.0.30319.42000
//
// 对此文件的更改可能会导致不正确的行为,并且如果
// 重新生成代码,这些更改将会丢失。
// </auto-generated>
//------------------------------------------------------------------------------
namespace VIZ.MIGU.CBA.Module.Properties {
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "17.3.0.0")]
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
public static Settings Default {
get {
return defaultInstance;
}
}
}
}
<?xml version='1.0' encoding='utf-8'?>
<SettingsFile xmlns="uri:settings" CurrentProfile="(Default)">
<Profiles>
<Profile Name="(Default)" />
</Profiles>
<Settings />
</SettingsFile>
\ No newline at end of file
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using VIZ.Framework.Core;
using VIZ.MIGU.CBA.Module.TempEnum;
namespace VIZ.MIGU.CBA.Module.RoundMatch.Model
{
public class RoundSchedule: ViewModelBase
{
public string Round { get; set; }//轮数
public string ScheduleID { get; set; }//赛程id
public string ScheduleTypeID { get; set; }//比赛类别ID(1常规赛,2季后赛,3季前赛)
public string dates { get; set; }//比赛日期
public string time { get; set; }//比赛时间
public string mon { get; set; }//比赛时间的月份
public string MatchGTM8Time { get; set; }//比赛日期 2017-10-21 19:35:00
public string day { get; set; }//比赛的当天日份
public string HomeTeamName { get; set; }//主队中文名称
public string VisitingTeamName { get; set; }//客队中文名称
public string HomeTeamScore { get; set; }//主队得分
public string VisitingTeamScore { get; set; }//客队得分
public string Status { get; set; }//比赛状态
private HighLightEnum light = HighLightEnum.OffLight;
/// <summary>
///高亮
/// </summary>
public HighLightEnum Light
{
get { return light; }
set { light = value; this.RaisePropertyChanged(nameof(Light)); }
}
private string selectLight = "不高亮";
public string SelectLight
{
get { return selectLight; }
set { selectLight = value; this.RaisePropertyChanged(nameof(SelectLight)); }
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace VIZ.MIGU.CBA.Module.RoundMatch.Model
{
public class RoundSchedules
{
public List<RoundSchedule> schedulelist { get; set; }
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using VIZ.Framework.Core;
using VIZ.MIGU.CBA.Module.RoundMatch.ViewModel;
namespace VIZ.MIGU.CBA.Module.RoundMatch.View
{
/// <summary>
/// Interaction logic for RoundMatchUI.xaml
/// </summary>
public partial class RoundMatchUI : UserControl
{
public RoundMatchUI()
{
InitializeComponent();
WPFHelper.BindingViewModel(this,new RoundMatchViewModel());
}
}
}
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using VIZ.Framework.Core;
using VIZ.MIGU.CBA.Module.Common;
using VIZ.MIGU.CBA.Module.DayMatch.Model;
using VIZ.MIGU.CBA.Module.RoundMatch.Model;
using VIZ.MIGU.CBA.Module.TempEnum;
using VIZ.TVP.CBA.Domain;
namespace VIZ.MIGU.CBA.Module.RoundMatch.ViewModel
{
public class RoundMatchViewModel: ViewModelBase
{
public RoundMatchViewModel()
{
RoundMatchs = new ObservableCollection<int>();
for (int i = 1; i < 43; i++)
{
RoundMatchs.Add(i);
}
roundMatchItem = 1;
//roundMatchData = new ObservableCollection<RoundSchedule>()
//{
// new RoundSchedule()
// {
// Round="1",
// ScheduleID="12345",
// ScheduleTypeID="常规赛",
// mon="11",
// day="12",
// VisitingTeamName="火龙",
// HomeTeamName="热火",
// HomeTeamScore="10",
// VisitingTeamScore="30",
// dates="2022-12-8",
// time="18:00",
// Status="未开始"
// },
// new RoundSchedule()
// {
// Round="1",
// ScheduleID="12345",
// ScheduleTypeID="常规赛",
// mon="11",
// day="12",
// VisitingTeamName="火龙1",
// HomeTeamName="热火1",
// HomeTeamScore="101",
// VisitingTeamScore="301",
// dates="2022-12-9",
// time="18:00",
// Status="未开始"
// },
// new RoundSchedule()
// {
// Round="1",
// ScheduleID="12345",
// ScheduleTypeID="常规赛",
// VisitingTeamName="火龙",
// HomeTeamName="热火",
// HomeTeamScore="10",
// VisitingTeamScore="30",
// dates="2022-12-8",
// time="18:00",
// Status="进行中"
// },
// new RoundSchedule()
// {
// Round="1",
// ScheduleID="12345",
// ScheduleTypeID="常规赛",
// VisitingTeamName="火龙1",
// HomeTeamName="热火1",
// HomeTeamScore="101",
// VisitingTeamScore="301",
// dates="2022-12-9",
// time="18:00",
// Status="进行中"
// },
// new RoundSchedule()
// {
// Round="1",
// ScheduleID="12345",
// ScheduleTypeID="常规赛",
// VisitingTeamName="火龙",
// HomeTeamName="热火",
// HomeTeamScore="10",
// VisitingTeamScore="30",
// dates="2022-12-8",
// time="18:00",
// Status="已结束"
// },
// new RoundSchedule()
// {
// Round="1",
// ScheduleID="12345",
// ScheduleTypeID="常规赛",
// VisitingTeamName="火龙1",
// HomeTeamName="热火1",
// HomeTeamScore="101",
// VisitingTeamScore="301",
// dates="2022-12-9",
// time="18:00",
// Status="已结束"
// }
//};
BtnCmd = new VCommand(BtnCommand);
BtnCmdUp = new VCommand(BtnCmdDataUp);
}
private int roundMatchItem;
public int RoundMatchItem
{
get { return roundMatchItem; }
set { roundMatchItem = value; this.RaisePropertyChanged(nameof(RoundMatchItem)); }
}
private ObservableCollection<int> roundMatch;
public ObservableCollection<int> RoundMatchs
{
get { return roundMatch; }
set { roundMatch = value; this.RaisePropertyChanged(nameof(RoundMatchs)); }
}
private string title="本轮赛程";
public string Title
{
get { return title; }
set { title = value; this.RaisePropertyChanged(nameof(Title)); }
}
public VCommand BtnCmd { get; set; }
public VCommand BtnCmdUp { get; set; }
private void BtnCmdDataUp()
{
ApplicationDomainEx.VizEngineModel.STAGE_START("Default/JRSCBEN", "Data", CombineMatchData());
}
private string CombineMatchData()
{
string data = "";
data += title;
data += "&";
foreach (var tempRoundMatchData in RoundMatchData)
{
if (tempRoundMatchData.SelectLight == "不高亮")
{
data += "0";
data += "*";
}
else
{
data += "1";
data += "*";
}
data += tempRoundMatchData.dates.Replace(" ", "");
data += "*";
data += tempRoundMatchData.time.Replace(" ", "");
data += "*";
data += tempRoundMatchData.HomeTeamName.Replace(" ", "");
data += "*";
data += tempRoundMatchData.HomeTeamScore.Replace(" ", "");
data += "*";
data += tempRoundMatchData.VisitingTeamName.Replace(" ", "");
data += "*";
data += tempRoundMatchData.VisitingTeamScore.Replace(" ", "");
data += "*";
data += tempRoundMatchData.Status.Replace(" ", "");
data += ";";
}
return data;
}
public void BtnCommand()
{
var roundSchedules = JsonModel.GetGameRound_Path(roundMatchItem.ToString());
RoundMatchData = new ObservableCollection<RoundSchedule>();
foreach(var rudData in roundSchedules.schedulelist)
{
if (rudData.Status == "1")
{
rudData.Status = "未开赛";
}
else if (rudData.Status == "2")
{
rudData.Status = "进行中";
}
else if (rudData.Status == "3")
{
rudData.Status = "进行中";
}
else if (rudData.Status == "4")
{
rudData.Status = "已结束";
}
else if (rudData.Status == "5")
{
rudData.Status = "延期";
}
RoundMatchData.Add(rudData);
}
}
private ObservableCollection<RoundSchedule> roundMatchData;
public ObservableCollection<RoundSchedule> RoundMatchData
{
get { return roundMatchData; }
set { roundMatchData = value; this.RaisePropertyChanged(nameof(RoundMatchData)); }
}
//private ObservableCollection<string> lightHigts;
//public ObservableCollection<string> LightHigts
//{
// get
// {
// return lightHigts;
// }
// set { lightHigts = value; this.RaisePropertyChanged(nameof(LightHigts)); }
//}
//private string light;
//public string Light
//{
// get { return light; }
// set { light = value; this.RaisePropertyChanged(nameof(Light)); }
//}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace VIZ.MIGU.CBA.Module.SeasonData
{
public class PlayerSeasonData
{
/// <summary>
/// 主队球员场均
/// </summary>
public List<Playerstats> playerstats { get; set; }
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace VIZ.MIGU.CBA.Module.SeasonData
{
/// <summary>
/// 球员信息
/// </summary>
public class Playerstats
{
public string PlayerID { get; set; }//篮协球员ID
public string CNAlias { get; set; }//中文名
public string Number { get; set; }//号码
public string PointsAverage { get; set; }//场均得分
public string ReboundsAverage { get; set; }//场均篮板
public string AssistsAverage { get; set; }//场均助攻
public float FieldGoalsPercentageAverage { get; set; }//投篮命中率
public string StealsAverage { get; set; }//抢断
public string BlockedAverage { get; set; }//盖帽
public string MinutesAverage { get; set; }//上场时间
public float ThreePointPercentageAverage { get; set; }//三分命中率
public float FreeThrowsPercentageAverage { get; set; }//罚球命中率
public float TwoPointPercentageAverage { get; set; }//两分命中率
public float FieldGoalsAtRimPercentageAverage { get; set; }//篮下投篮命中率
public float FieldGoalsMidRangePercentageAverage { get; set; }//中距离投篮命中率
//public float PlusMinus { get; set; }//正负值
public string ThreePointAttemptedAverage { get; set; }//三分出手数
public string ThreePointGoalsAverage { get; set; }//三分命中数
public string TwoPointAttemptedAverage { get; set; }//两分出手数
public string TwoPointGoalsAverage { get; set; }//两分命中数
//public string OnCourt { get; set; }//是否在场上(1是0否)
//public string GameStart { get; set; }//是否首发(0不是首发,1首发)
public string FieldGoalsAtRimMadeAverage { get; set; }//篮下投篮命中
public string FieldGoalsAtRimAttemptedAverage { get; set; }//篮下投篮尝试
public string FreeThrowsAttemptedAverage { get; set; }//罚球出手数
public string FreeThrowsAverage { get; set; }//罚球命中数
public string TurnoversAverage { get; set; }//失误
//public string FastBreakPoints { get; set; }//快攻得分
public string PersonalFoulsAverage { get; set; }//个人犯规
//效率值计算方式---效率值的计道算公式为:[(得分+篮板+助攻+抢断+封盖)-(出手次数-命中次数)-(罚球次数-罚球命中次数)-失误次数]/球员上场比赛的场次
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace VIZ.MIGU.CBA.Module.SeasonData
{
public class SportsLiveTeamInfo
{
public string TeamCNAlias { get; set; }//球队中文全称
public string PointsAverage { get; set; }//得分
public string ReboundsAverage { get; set; }//篮板
public string AssistsAverage { get; set; }//助攻
public string StealsAverage { get; set; }//抢断
public string TurnoversAverage { get; set; }//失误
public string BlockedAverage { get; set; }//盖帽
public float ThreePointPercentageAverage { get; set; }//三分命中率
public float FreeThrowsPercentageAverage { get; set; }//罚球命中率
public float TwoPointPercentageAverage { get; set; }//两分命中率
public float FieldGoalsPercentageAverage { get; set; }//投篮命中率
public float FieldGoalsAtRimPercentageAverage { get; set; }//篮下投篮命中率
public float FieldGoalsMidRangePercentageAverage { get; set; }//中距离投篮命中率
//public string FlagrantFoulsAverage { get; set; }//违体犯规
public string PersonalFoulsAverage { get; set; }//个人犯规
public string ThreePointAttemptedAverage { get; set; }//三分出手数
public string ThreePointGoalsAverage { get; set; }//三分命中数
public string TwoPointAttemptedAverage { get; set; }//两分出手数
public string TwoPointGoalsAverage { get; set; }//两分命中数
//public string FastBreakPointsAverage { get; set; }//快攻得分
public float FreeThrowsAverage { get; set; }//罚球命中数
public float FieldGoalsAttemptedAverage { get; set; }//投篮出手数
public float ReboundsOffensiveAverage { get; set; }//进攻篮板
public float ReboundsDefensiveAverage { get; set; }//防守篮板
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace VIZ.MIGU.CBA.Module.SeasonData
{
public class TeamSeasonData
{
public List<SportsLiveTeamInfo> teamstats { get; set; }
}
}
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using VIZ.Framework.Core;
using VIZ.MIGU.CBA.Module.Main.ViewModel;
using VIZ.MIGU.CBA.Module.TempEnum;
namespace VIZ.MIGU.CBA.Module.SinglePlayer.Model
{
public class SinglePlayerModel: ViewModelBase
{
private string score;
public string Score
{
get { return score; }
set { score = value; this.RaisePropertyChanged(nameof(Score)); }
}
private string seasonScore;
public string SeasonScore
{
get { return seasonScore; }
set { seasonScore = value; this.RaisePropertyChanged(nameof(SeasonScore)); }
}
private HighLightEnum light = HighLightEnum.OffLight;
/// <summary>
///高亮
/// </summary>
public HighLightEnum Light
{
get { return light; }
set { light = value; this.RaisePropertyChanged(nameof(Light)); }
}
private TechStats techStats = TechStats.Goal;
public TechStats TechStats
{
get { return techStats; }
set { techStats = value; this.RaisePropertyChanged(nameof(TechStats)); }
}
}
}
<UserControl x:Class="VIZ.MIGU.CBA.Module.SinglePlayer.View.SinglePlayerUI"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:core="clr-namespace:VIZ.Framework.Core;assembly=VIZ.Framework.Core"
xmlns:storage="clr-namespace:VIZ.MIGU.CBA.Module.TempEnum"
mc:Ignorable="d"
d:DesignHeight="800" d:DesignWidth="1520" Background="Black">
<UserControl.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="/VIZ.MIGU.CBA.Module;component/Style/DataGrid.xaml"></ResourceDictionary>
</ResourceDictionary.MergedDictionaries>
<core:Enum2EnumDescriptionConverter x:Key="Enum2EnumDescriptionConverter" EnumType="{x:Type storage:HighLightEnum}"></core:Enum2EnumDescriptionConverter>
<core:Enum2EnumDescriptionConverter x:Key="TechStatsEnumDescriptionConverter" EnumType="{x:Type storage:TechStats}"></core:Enum2EnumDescriptionConverter>
</ResourceDictionary>
</UserControl.Resources>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="197*"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="40"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<WrapPanel Grid.Row="0" Height="40" Width="1520" HorizontalAlignment="Center" VerticalAlignment="Center" >
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="100"/>
<ColumnDefinition Width="150"/>
<ColumnDefinition Width="100"/>
<ColumnDefinition Width="150"/>
<ColumnDefinition Width="100"/>
<ColumnDefinition Width="120"/>
<ColumnDefinition Width="100"/>
<ColumnDefinition Width="100"/>
<ColumnDefinition Width="100"/>
<ColumnDefinition Width="100"/>
<ColumnDefinition Width="100"/>
<ColumnDefinition Width="150"/>
<ColumnDefinition Width="150"/>
</Grid.ColumnDefinitions>
<TextBlock Grid.Column="0" Text="标题:" Background="Black" Foreground="White" FontSize="20" VerticalAlignment="Center"/>
<TextBox Grid.Column="1" Width="150" Background="Black" Foreground="White" FontSize="20" HorizontalContentAlignment="Center"
HorizontalAlignment="Left" VerticalAlignment="Center" Text="{Binding Title,Mode=TwoWay }"></TextBox>
<TextBlock Grid.Column="2" Text="球队:" Width="80" Background="Black" Foreground="White" FontSize="20" VerticalAlignment="Center" HorizontalAlignment="Right"/>
<ComboBox Style="{StaticResource ComboBoxStyle}" Grid.Column="3" Name="com_TeamItem" Width="150" HorizontalAlignment="Center" VerticalAlignment="Center"
ItemsSource="{Binding Path=TeamItems,Mode=TwoWay}" SelectedItem="{Binding Path=SelectTeamItem,Mode=TwoWay}" SelectedIndex="{Binding SelectedIndex}"
FontSize="20"
SelectionChanged="com_TeamItem_SelectionChanged">
</ComboBox>
<TextBlock Text="球员:" Grid.Column="4" Foreground="White" VerticalAlignment="Center" HorizontalAlignment="Right" FontSize="20" Width="80"/>
<ComboBox Style="{StaticResource ComboBoxStyle}" Grid.Column="5" x:Name="com_players" HorizontalAlignment="Center" VerticalAlignment="Center" Width="120"
ItemsSource="{Binding Path=PlayerItems,Mode=TwoWay}"
SelectedItem="{Binding Path=SelectPlayer,Mode=TwoWay}" FontSize="20" SelectionChanged="com_players_SelectionChanged"/>
<TextBlock Text="球员号码:" Grid.Column="6" Foreground="White" VerticalAlignment="Center" HorizontalAlignment="Right" FontSize="20" Width="90"/>
<TextBox Text="{Binding PlayNum}" Grid.Column="7" Foreground="White" VerticalAlignment="Center" HorizontalAlignment="Right" FontSize="20" Width="100" Background="Black"></TextBox>
<TextBlock Text="显示项数:" Grid.Column="8" Foreground="White" VerticalAlignment="Center" HorizontalAlignment="Right" FontSize="20" Width="90"/>
<ComboBox Style="{StaticResource ComboBoxStyle}" Grid.Column="9" x:Name="com_matchStatsId" HorizontalAlignment="Center" VerticalAlignment="Center" Width="80"
ItemsSource="{Binding Path=MatchStatsIds,Mode=TwoWay}"
SelectedItem="{Binding Path=MatchStatsId,Mode=TwoWay}" SelectionChanged="ComboBox_SelectionChanged" FontSize="20">
</ComboBox>
<Button Content="刷新" Command="{Binding BtnCmd}" HorizontalContentAlignment="Center"
Grid.Column="10" Width="120" Height="40" Foreground="White" Background="Black" FontSize="20"/>
<Button Content="单人球员" Command="{Binding SingleCommand}" HorizontalContentAlignment="Center"
Grid.Column="11" Width="120" Height="40" Foreground="White" Background="Black" FontSize="20"/>
<Button Content="MVP球员" Command="{Binding MVPCommand}" HorizontalContentAlignment="Center"
Grid.Column="12" Width="120" Height="40" Foreground="White" Background="Black" FontSize="20"/>
</Grid>
</WrapPanel>
<DataGrid AutoGenerateColumns="False" CanUserAddRows="False" CanUserDeleteRows="False" CanUserReorderColumns="False"
ItemsSource="{Binding Path=SinglePlayerData,Mode=TwoWay}" Grid.Row="1" Background="Black" RowHeaderWidth="0" SelectedItem="{Binding Path= SinglePlayer, Mode=TwoWay}" >
<DataGrid.ColumnHeaderStyle>
<Style TargetType="DataGridColumnHeader">
<Setter Property="HorizontalContentAlignment" Value="Center"></Setter>
<Setter Property="Background" Value="Black"></Setter>
<Setter Property="Foreground" Value="White"></Setter>
<Setter Property="BorderThickness" Value="1"></Setter>
<Setter Property="FontSize" Value="20"/>
</Style>
</DataGrid.ColumnHeaderStyle>
<DataGrid.Columns>
<DataGridComboBoxColumn Header="" Width="100" SelectedItemBinding="{Binding Path=Light,Mode=TwoWay,Converter={StaticResource Enum2EnumDescriptionConverter}}"
ItemsSource="{Binding Source={x:Static Member=storage:StaticEnumInfos.EnumDescriptions}}"
CellStyle="{StaticResource DataGirdView_UI}" >
</DataGridComboBoxColumn>
<DataGridComboBoxColumn Header="" Width="100" x:Name="com_StatsIds"
ItemsSource="{Binding Source={x:Static Member=storage:StaticEnumInfos.EnumTechStatsDescriptions}}"
SelectedItemBinding="{Binding Path=TechStats,Mode=TwoWay,Converter={StaticResource TechStatsEnumDescriptionConverter},UpdateSourceTrigger=PropertyChanged}"
CellStyle="{StaticResource DataGirdView_UI}" >
<DataGridComboBoxColumn.EditingElementStyle>
<Style TargetType="ComboBox">
<EventSetter Event="SelectionChanged" Handler="ComboBox_SelectionChanged_1"/>
<!--<Setter Property="Background" Value="Red"/>-->
</Style>
</DataGridComboBoxColumn.EditingElementStyle>
<!--<DataGridComboBoxColumn.ElementStyle>
<Style TargetType="ComboBox">
<Setter Property="Background" Value="Red"></Setter>
</Style>
</DataGridComboBoxColumn.ElementStyle>-->
</DataGridComboBoxColumn>
<!--<DataGridTemplateColumn Header="TempPlateComBox" >
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<ComboBox ItemsSource="{Binding TechStatsIds,Mode=TwoWay,ElementName=this}" SelectedValue="{Binding Path=TechStatsId,Mode=TwoWay}" Style="{StaticResource ComboBoxStyle}">
</ComboBox>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>-->
<DataGridTextColumn Header="本场" Width="*" Binding="{Binding Path=Score}" CellStyle="{StaticResource DataGirdView_UI}"></DataGridTextColumn>
<DataGridTextColumn Header="赛季" Width="*" Binding="{Binding Path=SeasonScore}" CellStyle="{StaticResource DataGirdView_UI}"></DataGridTextColumn>
</DataGrid.Columns>
</DataGrid>
</Grid>
</UserControl>
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<Style x:Key="CheckBox_VizConnection" TargetType="CheckBox">
<Setter Property="FocusVisualStyle" Value="{x:Null}"></Setter>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="CheckBox">
<Grid>
<Ellipse x:Name="e1" Width="16" Height="16" Fill="Red" Visibility="Visible"></Ellipse>
<Ellipse x:Name="e2" Width="16" Height="16" Fill="Green" Visibility="Collapsed"></Ellipse>
</Grid>
<ControlTemplate.Triggers>
<Trigger Property="IsChecked" Value="True">
<Setter TargetName="e1" Property="Visibility" Value="Collapsed"></Setter>
<Setter TargetName="e2" Property="Visibility" Value="Visible"></Setter>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</ResourceDictionary>
\ No newline at end of file
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace VIZ.MIGU.CBA.Module.TeamStandings.Model
{
public class TeamRanks
{
public List<Teamrank> teamrank { get; set; }
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace VIZ.MIGU.CBA.Module.TeamStandings.Model
{
public class Teamrank
{
public int Id { get; set; }
public float Wins { get; set; }//胜场
public string TeamCNAlias { get; set; }//球队中文简称
public float Losses { get; set; }//负场
public float CBARank { get; set; }//排名
public float WinningPercentage { get; set; }//胜率
public string WinningPercentageStr { get; set; }
public string TeamID { get; set; }//球队id
public float TotalPoints { get; set; }//总失分
public float TotalPointsAgainst { get; set; }//总失分
public float MatchPlayed { get; set; }//已赛场次
public float StreakType { get; set; }//连胜 1 连败 0
public float StreakNumber { get; set; }//连胜或连败场数
public string StreakName { get; set; }
public float Integral { get; set; }//积分
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using VIZ.Framework.Core;
using VIZ.MIGU.CBA.Module.TeamStandings.ViewModel;
namespace VIZ.MIGU.CBA.Module.TeamStandings.View
{
/// <summary>
/// Interaction logic for TeamStandingUI.xaml
/// </summary>
public partial class TeamStandingUI : UserControl
{
public TeamStandingUI()
{
InitializeComponent();
WPFHelper.BindingViewModel(this,new TeamStandingViewModel());
}
}
}
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using VIZ.Framework.Core;
using VIZ.MIGU.CBA.Module.Common;
using VIZ.MIGU.CBA.Module.DayMatch.Model;
using VIZ.MIGU.CBA.Module.TeamStandings.Model;
using VIZ.TVP.CBA.Domain;
namespace VIZ.MIGU.CBA.Module.TeamStandings.ViewModel
{
public class TeamStandingViewModel: ViewModelBase
{
public TeamStandingViewModel()
{
//TeamRanksModel = new ObservableCollection<Model.Teamrank>()
//{
// new Model.Teamrank()
// {
// Id = 1,
// Wins=5,
// TeamCNAlias="热火1",
// Losses=2,
// CBARank=1,
// WinningPercentage=80,
// TeamID="123",
// TotalPoints=635,
// StreakType=1,
// StreakNumber=2,
// Integral=10
// },
// new Model.Teamrank()
// {
// Id = 2,
// Wins=5,
// TeamCNAlias="热火2",
// Losses=2,
// CBARank=1,
// WinningPercentage=80,
// TeamID="123",
// TotalPoints=635,
// StreakType=1,
// StreakNumber=2,
// Integral=10
// },
// new Model.Teamrank()
// {
// Id = 3,
// Wins=5,
// TeamCNAlias="热火3",
// Losses=2,
// CBARank=1,
// WinningPercentage=80,
// TeamID="123",
// TotalPoints=635,
// StreakType=1,
// StreakNumber=2,
// Integral=10
// },
// new Model.Teamrank()
// {
// Id = 4,
// Wins=5,
// TeamCNAlias="热火4",
// Losses=2,
// CBARank=1,
// WinningPercentage=80,
// TeamID="123",
// TotalPoints=635,
// StreakType=1,
// StreakNumber=2,
// Integral=10
// },
// new Model.Teamrank()
// {
// Id = 5,
// Wins=5,
// TeamCNAlias="热火5",
// Losses=2,
// CBARank=1,
// WinningPercentage=80,
// TeamID="123",
// TotalPoints=635,
// StreakType=1,
// StreakNumber=2,
// Integral=10
// },
// new Model.Teamrank()
// {
// Id = 6,
// Wins=5,
// TeamCNAlias="热火6",
// Losses=2,
// CBARank=1,
// WinningPercentage=80,
// TeamID="123",
// TotalPoints=635,
// StreakType=1,
// StreakNumber=2,
// Integral=10
// },
// new Model.Teamrank()
// {
// Id = 7,
// Wins=5,
// TeamCNAlias="热火7",
// Losses=2,
// CBARank=1,
// WinningPercentage=80,
// TeamID="123",
// TotalPoints=635,
// StreakType=1,
// StreakNumber=2,
// Integral=10
// }
//};
BtnCmd = new VCommand(BtmCommand);
BtnCmdTeamStandingUp = new VCommand(BtnCmdTeamStandingUpData);
BtnCmdNextPage = new VCommand(BtnCmdNextPageData);
}
private ObservableCollection<Model.Teamrank> teamRanksModel;
public ObservableCollection<Model.Teamrank> TeamRanksModel
{
get { return teamRanksModel; }
set { teamRanksModel = value; this.RaisePropertyChanged(nameof(TeamRanksModel)); }
}
public VCommand BtnCmd { get; set; }
private void BtmCommand()
{
var teamStands = JsonModel.TeamScoreData_Path();
TeamRanksModel = new ObservableCollection<Teamrank>();
int i = 1;
foreach(var teamRank in teamStands.teamrank)
{
teamRank.Id = i;
teamRank.WinningPercentageStr = (teamRank.WinningPercentage * 100).ToString("F1") + "%";
if(teamRank.StreakType==1)
{
teamRank.StreakName = "连胜";
}
else if(teamRank.StreakType==0)
{
teamRank.StreakName = "连败";
}
TeamRanksModel.Add(teamRank);
i++;
}
}
public VCommand BtnCmdTeamStandingUp { get; set; }
private void BtnCmdTeamStandingUpData()
{
if(TeamRanksModel!=null)
{
ApplicationDomainEx.VizEngineModel.STAGE_START("Default/JFB", "Data", CombineTeamStandingData());
}
}
public VCommand BtnCmdNextPage { get; set; }
private void BtnCmdNextPageData()
{
ApplicationDomainEx.VizEngineModel.CONTINUE();
}
private string CombineTeamStandingData()
{
string data = "";
data += title;
data += "&";
foreach(var tempTeamRankModel in TeamRanksModel)
{
data += tempTeamRankModel.Id.ToString().Replace(" ", "");
data += "*";
data += tempTeamRankModel.TeamCNAlias.Replace(" ", "");
data += "*";
data += tempTeamRankModel.Wins.ToString().Replace(" ", "");
data += "*";
data += tempTeamRankModel.Losses.ToString().Replace(" ", "");
data += "*";
data += tempTeamRankModel.WinningPercentageStr.ToString().Replace(" ", "");
data += "*";
data += tempTeamRankModel.Integral.ToString().Replace(" ", "");
data += "*";
data += tempTeamRankModel. StreakNumber.ToString().Replace(" ", "");
data += "*";
data += tempTeamRankModel.StreakName.Replace(" ", "");
data += ";";
}
return data;
}
private string title = "球队积分排名";
public string Title
{
get { return title;}
set { title = value;this.RaisePropertyChanged(nameof(Title)); }
}
}
}
using DevExpress.Mvvm;
using DevExpress.Xpf.Core.ReflectionExtensions.Internal;
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using VIZ.MIGU.CBA.Module.TempEnum;
namespace VIZ.MIGU.CBA.Module.TeamStats.Model
{
public class MatchStatsNumbers:ViewModelBase
{
// public string HomeName { get; set; }
private string homeScore;
public string HomeScore
{
get { return homeScore; }
set { homeScore = value; this.RaisePropertiesChanged(nameof(HomeScore)); }
}
private string hSeasonScore;
public string HSeasonScore
{
get { return hSeasonScore; }
set { hSeasonScore = value; this.RaisePropertiesChanged(nameof(HSeasonScore)); }
}
//public string AwayName { get; set; }
private string awayScore;
public string AwayScore
{
get { return awayScore; }
set { awayScore = value; this.RaisePropertiesChanged(nameof(AwayScore)); }
}
private string aSeasonScore;
public string ASeasonScore
{
get { return aSeasonScore; }
set { aSeasonScore = value;this.RaisePropertiesChanged(nameof(ASeasonScore)); }
}
private HighLightEnum light = HighLightEnum.OffLight;
/// <summary>
///高亮
/// </summary>
public HighLightEnum Light
{
get { return light; }
set { light = value; this.RaisePropertiesChanged(nameof(Light)); }
}
private TechStats techStats = TechStats.Goal;
public TechStats TechStats
{
get { return techStats; }
set { techStats = value; this.RaisePropertiesChanged(nameof(TechStats)); }
}
}
}
<UserControl x:Class="VIZ.MIGU.CBA.Module.TeamStats.View.TeamStatsUI"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:core="clr-namespace:VIZ.Framework.Core;assembly=VIZ.Framework.Core"
xmlns:storage="clr-namespace:VIZ.MIGU.CBA.Module.TempEnum"
mc:Ignorable="d"
d:DesignHeight="800" d:DesignWidth="1200" Background="Black">
<UserControl.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="/VIZ.MIGU.CBA.Module;component/Style/DataGrid.xaml"></ResourceDictionary>
</ResourceDictionary.MergedDictionaries>
<core:Enum2EnumDescriptionConverter x:Key="Enum2EnumDescriptionConverter" EnumType="{x:Type storage:HighLightEnum}"></core:Enum2EnumDescriptionConverter>
<core:Enum2EnumDescriptionConverter x:Key="TechStatsEnumDescriptionConverter" EnumType="{x:Type storage:TechStats}"></core:Enum2EnumDescriptionConverter>
</ResourceDictionary>
</UserControl.Resources>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="197*"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="30.76"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<WrapPanel Grid.Row="0" Height="40" Width="1100" HorizontalAlignment="Center" VerticalAlignment="Center" >
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="100"/>
<ColumnDefinition Width="150"/>
<ColumnDefinition Width="150"/>
<ColumnDefinition Width="150"/>
<ColumnDefinition Width="150"/>
<ColumnDefinition Width="100"/>
<ColumnDefinition Width="120"/>
<ColumnDefinition Width="120"/>
</Grid.ColumnDefinitions>
<!--{Binding HomeTeam}-->
<TextBlock Grid.Column="0" Text="标题:" Background="Black" Foreground="White" FontSize="20" VerticalAlignment="Center"/>
<TextBox Grid.Column="1" Width="150" Background="Black" Foreground="White" FontSize="20" HorizontalContentAlignment="Center"
HorizontalAlignment="Left" VerticalAlignment="Center" Text="{Binding Title,Mode=TwoWay }"></TextBox>
<TextBox Text="{Binding HomeTeam}" Grid.Column="2" Width="150" Background="Black" Foreground="White" FontSize="20"/>
<TextBlock TextBlock.TextAlignment="Center" Text="VS" Width="60" Grid.Column="3" Foreground="White" FontSize="20" Background="Black"/>
<TextBox Text="{Binding AwayTeam}" Grid.Column="4" Width="150" Background="Black" Foreground="White" FontSize="20" />
<ComboBox Style="{StaticResource ComboBoxStyle}" Grid.Column="5" x:Name="com_matchStatsId" HorizontalAlignment="Center" VerticalAlignment="Center" Width="80" FontSize="20"
ItemsSource="{Binding Path=MatchStatsIds,Mode=TwoWay}"
SelectedItem="{Binding Path=MatchStatsId,Mode=TwoWay}" SelectionChanged="ComboBox_SelectionChanged">
</ComboBox>
<Button Content="刷新" Command="{Binding BtnCommand}" HorizontalContentAlignment="Center"
Grid.Column="6" Width="120" Height="40" Foreground="White" Background="Black" FontSize="20"/>
<Button Content="上数据" Command="{Binding BtnCmdUpData}" HorizontalContentAlignment="Center"
Grid.Column="7" Width="120" Height="40" Foreground="White" Background="Black" FontSize="20"/>
</Grid>
</WrapPanel>
<DataGrid AutoGenerateColumns="False" CanUserAddRows="False" CanUserDeleteRows="False" CanUserReorderColumns="False"
ItemsSource="{Binding Path=MatchStatsNumbers}" Grid.Row="1" Background="Black" RowHeaderWidth="0" >
<DataGrid.ColumnHeaderStyle>
<Style TargetType="DataGridColumnHeader">
<Setter Property="HorizontalContentAlignment" Value="Center"></Setter>
<Setter Property="Background" Value="Black"></Setter>
<Setter Property="Foreground" Value="White"></Setter>
<Setter Property="BorderThickness" Value="1"></Setter>
<Setter Property="FontSize" Value="20"/>
</Style>
</DataGrid.ColumnHeaderStyle>
<DataGrid.Columns>
<DataGridComboBoxColumn Header="" Width="100" SelectedItemBinding="{Binding Path=Light,Mode=TwoWay,Converter={StaticResource Enum2EnumDescriptionConverter}}"
ItemsSource="{Binding Source={x:Static Member=storage:StaticEnumInfos.EnumDescriptions}}"
CellStyle="{StaticResource DataGirdView_UI}" >
</DataGridComboBoxColumn>
<DataGridTextColumn Header="主队本场" Width="*" Binding="{Binding Path=HomeScore}" CellStyle="{StaticResource DataGirdView_UI}" ></DataGridTextColumn>
<DataGridTextColumn Header="主队赛季" Width="*" Binding="{Binding Path=HSeasonScore}" CellStyle="{StaticResource DataGirdView_UI}"></DataGridTextColumn>
<DataGridComboBoxColumn Header="" Width="100"
SelectedItemBinding="{Binding Path=TechStats,Mode=TwoWay,Converter={StaticResource TechStatsEnumDescriptionConverter},UpdateSourceTrigger=PropertyChanged}"
ItemsSource="{Binding Source={x:Static Member=storage:StaticEnumInfos.EnumTechStatsDescriptions}}"
CellStyle="{StaticResource DataGirdView_UI}" >
<DataGridComboBoxColumn.EditingElementStyle>
<Style TargetType="ComboBox">
<EventSetter Event="SelectionChanged" Handler="ComboBox_SelectionChanged_1"/>
<!--<Setter Property="Background" Value="Red"/>-->
</Style>
</DataGridComboBoxColumn.EditingElementStyle>
</DataGridComboBoxColumn>
<DataGridTextColumn Header="客队本场" Width="*" Binding="{Binding Path=AwayScore}" CellStyle="{StaticResource DataGirdView_UI}"></DataGridTextColumn>
<DataGridTextColumn Header="客队赛季" Width="*" Binding="{Binding Path=ASeasonScore}" CellStyle="{StaticResource DataGirdView_UI}"></DataGridTextColumn>
</DataGrid.Columns>
</DataGrid>
</Grid>
</UserControl>
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using VIZ.Framework.Core;
using VIZ.MIGU.CBA.Module.Main.ViewModel;
using VIZ.MIGU.CBA.Module.TeamStats.Model;
using VIZ.MIGU.CBA.Module.TeamStats.ViewModel;
using VIZ.MIGU.CBA.Module.TempEnum;
namespace VIZ.MIGU.CBA.Module.TeamStats.View
{
/// <summary>
/// Interaction logic for TeamStatsUI.xaml
/// </summary>
public partial class TeamStatsUI : UserControl
{
public TeamStatsViewModel vm = TeamStatsViewModel.CreateInstance;
public MainViewModel mianViewModel=MainViewModel.CreateInstance;
public TeamStatsUI()
{
InitializeComponent();
WPFHelper.BindingViewModel(this, vm);
}
private void ComboBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
if(Convert.ToInt32(vm.MatchStatsId)==7)
{
vm. MatchStatsNumbers = new ObservableCollection<MatchStatsNumbers>()
{
new MatchStatsNumbers()
{
TechStats=TechStats.Goal
},
new MatchStatsNumbers()
{
TechStats=TechStats.Rebounds,
},
new MatchStatsNumbers()
{
TechStats=TechStats.Assists
},
new MatchStatsNumbers()
{
TechStats=TechStats.Blocks
},
new MatchStatsNumbers()
{
TechStats=TechStats.Steals
},
new MatchStatsNumbers()
{
TechStats=TechStats.ShootingGoalP
},
new MatchStatsNumbers()
{
TechStats=TechStats.ThreeShootingGoalP
}
};
}
else if(Convert.ToInt32(vm.MatchStatsId) == 6)
{
vm. MatchStatsNumbers = new ObservableCollection<MatchStatsNumbers>()
{
new MatchStatsNumbers()
{
TechStats=TechStats.Goal
},
new MatchStatsNumbers()
{
TechStats=TechStats.Rebounds,
},
new MatchStatsNumbers()
{
TechStats=TechStats.Assists
},
new MatchStatsNumbers()
{
TechStats=TechStats.Blocks
},
new MatchStatsNumbers()
{
TechStats=TechStats.Steals
},
new MatchStatsNumbers()
{
TechStats=TechStats.ShootingGoalP
}
};
}
else if(Convert.ToInt32(vm.MatchStatsId) == 5)
{
vm. MatchStatsNumbers = new ObservableCollection<MatchStatsNumbers>()
{
new MatchStatsNumbers()
{
TechStats=TechStats.Goal
},
new MatchStatsNumbers()
{
TechStats=TechStats.Rebounds,
},
new MatchStatsNumbers()
{
TechStats=TechStats.Assists
},
new MatchStatsNumbers()
{
TechStats=TechStats.Blocks
},
new MatchStatsNumbers()
{
TechStats=TechStats.Steals
}
};
}
SetHData();
SetAData();
}
private void SetHData()
{
foreach (var teamStats in vm.MatchStatsNumbers)
{
if (mianViewModel.HomeTeamCompareOptionDictionary.ContainsKey(teamStats.TechStats.ToString()))
{
teamStats.HomeScore = mianViewModel.HomeTeamCompareOptionDictionary[teamStats.TechStats.ToString()];
}
}
if (vm != null)
{
//var singlePlayerData = mainViewModel.PlayerSeasonData.PlayerstatsList.Where(a => a.CNAlias == vm.SelectPlayer).FirstOrDefault();
if (vm?.HomeTeam !=null&& mianViewModel.CNAliasVisitSportsDictionary.ContainsKey(vm?.HomeTeam))
{
var teamSeasonData = mianViewModel.CNAliasVisitSportsDictionary[vm?.HomeTeam];
foreach (var teamStats in vm.MatchStatsNumbers)
{
if (teamSeasonData.ContainsKey(teamStats.TechStats.ToString()))
{
teamStats.HSeasonScore = teamSeasonData[teamStats.TechStats.ToString()];
}
}
}
}
}
private void SetAData()
{
foreach (var teamStats in vm.MatchStatsNumbers)
{
if (mianViewModel.VisitTeamCompareOptionDictionary.ContainsKey(teamStats.TechStats.ToString()))
{
teamStats.AwayScore = mianViewModel.VisitTeamCompareOptionDictionary[teamStats.TechStats.ToString()];
}
}
if (vm != null)
{
//var singlePlayerData = mainViewModel.PlayerSeasonData.PlayerstatsList.Where(a => a.CNAlias == vm.SelectPlayer).FirstOrDefault();
if (vm?.AwayTeam !=null&& mianViewModel.CNAliasVisitSportsDictionary.ContainsKey(vm?.AwayTeam))
{
var teamSeasonData = mianViewModel.CNAliasVisitSportsDictionary[vm?.AwayTeam];
foreach (var teamStats in vm.MatchStatsNumbers)
{
if (teamSeasonData.ContainsKey(teamStats.TechStats.ToString()))
{
teamStats.ASeasonScore = teamSeasonData[teamStats.TechStats.ToString()];
}
}
}
}
}
private void ComboBox_SelectionChanged_1(object sender, SelectionChangedEventArgs e)
{
SetHData();
SetAData();
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Input;
namespace VIZ.MIGU.CBA.Module.TeamStats.ViewModel
{
public class ComboBoxWithCommand:ComboBox, ICommandSource
{
private static EventHandler canExecuteChangedHandler;
public static readonly DependencyProperty CommandProperty = DependencyProperty.Register("Command",
typeof(ICommand),
typeof(ComboBoxWithCommand),
new PropertyMetadata((ICommand)null,
new PropertyChangedCallback(CommandChanged)));
public ICommand Command
{
get
{
return (ICommand)GetValue(CommandProperty);
}
set
{
SetValue(CommandProperty, value);
}
}
public static readonly DependencyProperty CommandTargetProperty = DependencyProperty.Register("CommandTarget",
typeof(IInputElement),
typeof(ComboBoxWithCommand),
new PropertyMetadata((IInputElement)null));
public IInputElement CommandTarget
{
get
{
return (IInputElement)GetValue(CommandTargetProperty);
}
set
{
SetValue(CommandTargetProperty, value);
}
}
public static readonly DependencyProperty CommandParameterProperty = DependencyProperty.Register("CommandParameter",
typeof(object),
typeof(ComboBoxWithCommand),
new PropertyMetadata((object)null));
public object CommandParameter
{
get
{
return (object)GetValue(CommandParameterProperty);
}
set
{
SetValue(CommandParameterProperty, value);
}
}
public ComboBoxWithCommand() : base() { }
private static void CommandChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
{
ComboBoxWithCommand cb = (ComboBoxWithCommand)d;
cb.HookUpCommand((ICommand)e.OldValue, (ICommand)e.NewValue);
}
private void HookUpCommand(ICommand oldCommand, ICommand newCommand)
{
if (oldCommand != null)
{
RemoveCommand(oldCommand, newCommand);
}
AddCommand(oldCommand, newCommand);
}
private void RemoveCommand(ICommand oldCommand, ICommand newCommand)
{
EventHandler handler = CanExecuteChanged;
oldCommand.CanExecuteChanged -= handler;
}
private void AddCommand(ICommand oldCommand, ICommand newCommand)
{
EventHandler handler = new EventHandler(CanExecuteChanged);
canExecuteChangedHandler = handler;
if (newCommand != null)
{
newCommand.CanExecuteChanged += canExecuteChangedHandler;
}
}
private void CanExecuteChanged(object sender, EventArgs e)
{
if (this.Command != null)
{
RoutedCommand command = this.Command as RoutedCommand;
// If a RoutedCommand.
if (command != null)
{
if (command.CanExecute(this.CommandParameter, this.CommandTarget))
{
this.IsEnabled = true;
}
else
{
this.IsEnabled = false;
}
}
// If a not RoutedCommand.
else
{
if (Command.CanExecute(CommandParameter))
{
this.IsEnabled = true;
}
else
{
this.IsEnabled = false;
}
}
}
}
protected override void OnSelectionChanged(SelectionChangedEventArgs e)
{
base.OnSelectionChanged(e);
if (this.Command != null)
{
RoutedCommand command = this.Command as RoutedCommand;
if (command != null)
{
command.Execute(this.CommandParameter, this.CommandTarget);
}
else
{
((ICommand)Command).Execute(CommandParameter);
}
}
}
}
}
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using VIZ.Framework.Core;
using VIZ.MIGU.CBA.Module.Common;
using VIZ.MIGU.CBA.Module.Main.ViewModel;
using VIZ.MIGU.CBA.Module.SinglePlayer.Model;
using VIZ.MIGU.CBA.Module.SinglePlayer.ViewModel;
using VIZ.MIGU.CBA.Module.TeamStats.Model;
using VIZ.MIGU.CBA.Module.TempEnum;
using VIZ.TVP.CBA.Domain;
namespace VIZ.MIGU.CBA.Module.TeamStats.ViewModel
{
public class TeamStatsViewModel : ViewModelBase
{
public MainViewModel mainViewModel = MainViewModel.CreateInstance;
private static TeamStatsViewModel _createInstance = null;
public static TeamStatsViewModel CreateInstance
{
get
{
if (null == _createInstance)
{
_createInstance = new TeamStatsViewModel();
}
return _createInstance;
}
}
public TeamStatsViewModel()
{
BtnCommand = new VCommand(BtnCmd);
BtnCmdUpData = new VCommand(BtnCmdTeamComUpData);
matchStatsNumbers = new ObservableCollection<MatchStatsNumbers>()
{
new MatchStatsNumbers()
{
TechStats=TechStats.Goal
},
new MatchStatsNumbers()
{
TechStats=TechStats.Rebounds,
},
new MatchStatsNumbers()
{
TechStats=TechStats.Assists
},
new MatchStatsNumbers()
{
TechStats=TechStats.Blocks
},
new MatchStatsNumbers()
{
TechStats=TechStats.Steals
},
new MatchStatsNumbers()
{
TechStats=TechStats.ShootingGoalP
},
new MatchStatsNumbers()
{
TechStats=TechStats.ThreeShootingGoalP
}
};
matchStatsIds = new ObservableCollection<int>()
{
5,
6,
7
};
}
public ComboBoxWithCommand SelectMatchNumbers { get; set; }
public void SelectMatchNumbersCommand()
{
}
private string matchStatsId;
public string MatchStatsId
{
get { return matchStatsId; }
set { matchStatsId = value; this.RaisePropertyChanged(nameof(MatchStatsId)); }
}
private ObservableCollection<MatchStatsNumbers> matchStatsNumbers;
public ObservableCollection<MatchStatsNumbers> MatchStatsNumbers
{
get { return matchStatsNumbers; }
set { matchStatsNumbers = value; this.RaisePropertyChanged(nameof(MatchStatsNumbers)); }
}
private ObservableCollection<int> matchStatsIds;
public ObservableCollection<int> MatchStatsIds
{
get { return matchStatsIds; }
set { matchStatsIds = value; this.RaisePropertyChanged(nameof(MatchStatsIds)); }
}
private string homeTeam;
public string HomeTeam
{
get { return homeTeam; }
set { homeTeam = value; this.RaisePropertyChanged(nameof(HomeTeam)); }
}
private string awayTeam;
public string AwayTeam
{
get { return awayTeam; }
set { awayTeam = value; this.RaisePropertyChanged(nameof(AwayTeam)); }
}
private string title = "球队对比数据";
public string Title
{
get { return title; }
set { title = value; this.RaisePropertyChanged(nameof(Title)); }
}
public VCommand BtnCommand { get; set; }
public VCommand BtnCmdUpData{get;set;}
/// <summary>
/// 上传球队对比数据
/// </summary>
private void BtnCmdTeamComUpData()
{
//CombineTeamComData();
ApplicationDomainEx.VizEngineModel.STAGE_START("Default/SQD", "dqyData", CombineTeamComData());
}
private string CombineTeamComData()
{
string data = "";
if (matchStatsId != null)
{
data += matchStatsId.ToString().Replace(" ", "") + "*";
}
else
{
data += "7*";
}
data += title.ToString().Replace(" ","") + "*";
if(!string.IsNullOrEmpty(homeTeam))
{
data += homeTeam.Replace(" ", "") + "*";
}
else
{
data += "" + "*";
}
if(!string.IsNullOrEmpty(awayTeam))
{
data += awayTeam.Replace(" ", "") + "&";
}
else
{
data += "" + "&";
}
foreach(var tempMatchStats in MatchStatsNumbers)
{
if(tempMatchStats.Light== HighLightEnum.OffLight)
{
data += "0" + "*";
}
else
{
data += "1" + "*";
}
data += tempMatchStats.HomeScore.Replace(" ", "") + "*";
data += tempMatchStats.HSeasonScore.Replace(" ", "") + "*";
data += tempMatchStats.TechStats.GetDescriptionCBA().Replace(" ", "") + "*";
data += tempMatchStats.AwayScore.Replace(" ", "") + "*";
data += tempMatchStats.ASeasonScore.Replace(" ", "") + ";";
}
return data;
}
private void BtnCmd()
{
mainViewModel.onAirDataModel = JsonModel.OnAirData_Path(mainViewModel.ScheduleID);
Utils.SetHomeTeamDictionary(mainViewModel);
Utils.SetVisitTeamDictionary(mainViewModel);
Utils.SetHData(mainViewModel, _createInstance);
Utils.SetAData(mainViewModel, _createInstance);
}
}
}
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Reflection;
using System.Text;
using System.Threading.Tasks;
namespace VIZ.MIGU.CBA.Module.TempEnum
{
/// <summary>
/// 枚举辅助类
/// </summary>
public static class EnumHelper
{
/// <summary>
/// 获取枚举描述信息
/// </summary>
/// <param name="value">枚举值</param>
/// <returns>配置值</returns>
public static string GetDescriptionCBA(this Enum value)
{
if (value == null)
return string.Empty;
FieldInfo field = value.GetType().GetField(value.ToString());
if (field == null)
return string.Empty;
DescriptionAttribute attribute = field.GetCustomAttribute<DescriptionAttribute>(false);
if (attribute == null)
return string.Empty;
return attribute.Description;
}
/// <summary>
/// 获取枚举的枚举模型
/// </summary>
/// <typeparam name="TEnum">枚举类型</typeparam>
/// <returns>枚举模型列表</returns>
public static List<EnumModel> GetEnumModels<TEnum>()
{
Type type = typeof(TEnum);
return GetEnumModels(type);
}
/// <summary>
/// 获取枚举的枚举模型
/// </summary>
/// <typeparam name="TEnum">枚举类型</typeparam>
/// <returns>枚举模型列表</returns>
public static List<EnumModel> GetEnumModels(Type type)
{
if (!type.IsEnum)
throw new Exception($"type: {type.Name} is not enum.");
List<EnumModel> models = new List<EnumModel>();
Array names = Enum.GetNames(type);
foreach (object name in names)
{
if (name == null)
continue;
FieldInfo field = type.GetField(name.ToString());
if (field == null)
continue;
DescriptionAttribute attribute = field.GetCustomAttribute<DescriptionAttribute>(false);
if (attribute == null)
continue;
EnumModel model = new EnumModel();
model.Key = Enum.Parse(type, name.ToString());
model.Description = attribute.Description;
models.Add(model);
}
return models;
}
}
}
using DevExpress.Mvvm.POCO;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using VIZ.Framework.Core;
namespace VIZ.MIGU.CBA.Module.TempEnum
{
public class EnumModel : ModelBase
{
#region Key -- 枚举值
private object key;
/// <summary>
/// 枚举值
/// </summary>
public object Key
{
get { return key; }
set { key = value; this.RaisePropertyChanged(nameof(Key)); }
}
#endregion
#region Description -- 描述
private string description;
/// <summary>
/// 描述
/// </summary>
public string Description
{
get { return description; }
set { description = value; this.RaisePropertyChanged(nameof(Description)); }
}
#endregion
}
}
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace VIZ.MIGU.CBA.Module.TempEnum
{
public enum HighLightEnum
{
/// <summary>
/// 高亮
/// </summary>
[Description("高亮")]
OnLight = 0,
/// <summary>
/// 不高亮
/// </summary>
[Description("不高亮")]
OffLight = 1,
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace VIZ.MIGU.CBA.Module.TempEnum
{
public static class StaticEnumInfos
{
/// <summary>
/// 性别枚举模型集合
/// </summary>
public static List<EnumModel> EnumModels { get; } = EnumHelper.GetEnumModels<HighLightEnum>();
/// <summary>
/// 性别枚举描述集合
/// </summary>
public static List<string> EnumDescriptions { get; } = EnumHelper.GetEnumModels<HighLightEnum>().Select(p => p.Description).ToList();
public static List<EnumModel> TechStatsModel { get; } = EnumHelper.GetEnumModels<TechStats>();
public static List<string> EnumTechStatsDescriptions { get; } = EnumHelper.GetEnumModels<TechStats>().Select(p => p.Description).ToList();
}
}
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace VIZ.MIGU.CBA.Module.TempEnum
{
public enum TechStats
{
/// <summary>
///
/// </summary>
[Description("得分")]
Goal = 0,
/// <summary>
///
/// </summary>
[Description("篮板")]
Rebounds = 1,
/// <summary>
///
/// </summary>
[Description("助攻")]
Assists = 2,
/// <summary>
///
/// </summary>
[Description("抢断")]
Steals = 3,
/// <summary>
///
/// </summary>
[Description("盖帽")]
Blocks = 4,
/// <summary>
///
/// </summary>
[Description("上场时间")]
PlayTime = 5,
/// <summary>
///
/// </summary>
[Description("投篮命中率")]
ShootingGoalP = 6,
/// <summary>
///
/// </summary>
[Description("两分命中率")]
TwoShootingGoalP = 7,
/// <summary>
///
/// </summary>
[Description("三分命中率")]
ThreeShootingGoalP = 8,
/// <summary>
///
/// </summary>
[Description("罚球命中率")]
FreeThrowP = 9,
/// <summary>
///
/// </summary>
[Description("篮下投篮命中率")]
ShootingUnderBaketP = 10,
/// <summary>
///
/// </summary>
[Description("中距离投篮命中率")]
MidShootingP = 11,
/// <summary>
///
/// </summary>
[Description("三分")]
ThreeScore = 12,
/// <summary>
///
/// </summary>
[Description("两分")]
TwoScore = 13,
/// <summary>
///
/// </summary>
[Description("两分区")]
TwoArea = 14,
/// <summary>
///
/// </summary>
[Description("三分区")]
ThreeArea = 15,
/// <summary>
///
/// </summary>
[Description("三秒区")]
SedArea = 16,
/// <summary>
///
/// </summary>
[Description("罚球")]
FreeThrow = 17,
/// <summary>
///
/// </summary>
[Description("失误")]
Error = 18,
/// <summary>
///
/// </summary>
[Description("犯规")]
Foul =19,
/// <summary>
///
/// </summary>
[Description("三分得分")]
ThreeGoals = 20,
}
}
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="log4net" version="2.0.14" targetFramework="net48" />
<package id="Newtonsoft.Json" version="13.0.1" targetFramework="net48" />
</packages>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<appSettings>
<add key="url" value="http://sportsdata.misports.cn/beitai/api/"/>
<add key="vizIpMain" value=""/>
<add key="vizIpBack" value=""/>
<add key="leagueId" value="401"/>
</appSettings>
</configuration>
\ No newline at end of file
<Application x:Class="VIZ.MIGU.CBA.App"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
StartupUri="MainWindow.xaml">
<Application.Resources>
</Application.Resources>
</Application>
using System;
using System.Collections.Generic;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Windows;
namespace VIZ.MIGU.CBA
{
/// <summary>
/// Interaction logic for App.xaml
/// </summary>
public partial class App : Application
{
}
}
<dx:ThemedWindow
x:Class="VIZ.MIGU.CBA.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:dx="http://schemas.devexpress.com/winfx/2008/xaml/core"
xmlns:module="clr-namespace:VIZ.MIGU.CBA.Module;assembly=VIZ.MIGU.CBA.Module"
Title="MainWindow" Height="800" Width="1000">
<Grid>
<module:MainView>
</module:MainView>
</Grid>
</dx:ThemedWindow>
using DevExpress.Xpf.Core;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
namespace VIZ.MIGU.CBA
{
/// <summary>
/// Interaction logic for MainWindow.xaml
/// </summary>
public partial class MainWindow : ThemedWindow
{
public MainWindow()
{
InitializeComponent();
}
}
}
using System.Reflection;
using System.Resources;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Windows;
// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("VIZ.MIGU.CBA")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("VIZ.MIGU.CBA")]
[assembly: AssemblyCopyright("Copyright © China 2022")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// Setting ComVisible to false makes the types in this assembly not visible
// to COM components. If you need to access a type in this assembly from
// COM, set the ComVisible attribute to true on that type.
[assembly: ComVisible(false)]
//In order to begin building localizable applications, set
//<UICulture>CultureYouAreCodingWith</UICulture> in your .csproj file
//inside a <PropertyGroup>. For example, if you are using US english
//in your source files, set the <UICulture> to en-US. Then uncomment
//the NeutralResourceLanguage attribute below. Update the "en-US" in
//the line below to match the UICulture setting in the project file.
//[assembly: NeutralResourcesLanguage("en-US", UltimateResourceFallbackLocation.Satellite)]
[assembly: ThemeInfo(
ResourceDictionaryLocation.None, //where theme specific resource dictionaries are located
//(used if a resource is not found in the page,
// or application resource dictionaries)
ResourceDictionaryLocation.SourceAssembly //where the generic resource dictionary is located
//(used if a resource is not found in the page,
// app, or any theme specific resource dictionaries)
)]
// Version information for an assembly consists of the following four values:
//
// Major Version
// Minor Version
// Build Number
// Revision
//
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:4.0.30319.18034
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace VIZ.MIGU.CBA.Properties
{
/// <summary>
/// A strongly-typed resource class, for looking up localized strings, etc.
/// </summary>
// This class was auto-generated by the StronglyTypedResourceBuilder
// class via a tool like ResGen or Visual Studio.
// To add or remove a member, edit your .ResX file then rerun ResGen
// with the /str option, or rebuild your VS project.
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
internal class Resources
{
private static global::System.Resources.ResourceManager resourceMan;
private static global::System.Globalization.CultureInfo resourceCulture;
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
internal Resources()
{
}
/// <summary>
/// Returns the cached ResourceManager instance used by this class.
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Resources.ResourceManager ResourceManager
{
get
{
if ((resourceMan == null))
{
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("VIZ.MIGU.CBA.Properties.Resources", typeof(Resources).Assembly);
resourceMan = temp;
}
return resourceMan;
}
}
/// <summary>
/// Overrides the current thread's CurrentUICulture property for all
/// resource lookups using this strongly typed resource class.
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Globalization.CultureInfo Culture
{
get
{
return resourceCulture;
}
set
{
resourceCulture = value;
}
}
}
}
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0"></xsd:element>
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string"></xsd:attribute>
<xsd:attribute name="type" type="xsd:string"></xsd:attribute>
<xsd:attribute name="mimetype" type="xsd:string"></xsd:attribute>
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string"></xsd:attribute>
<xsd:attribute name="name" type="xsd:string"></xsd:attribute>
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1"></xsd:element>
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2"></xsd:element>
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1"></xsd:attribute>
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3"></xsd:attribute>
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4"></xsd:attribute>
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1"></xsd:element>
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required"></xsd:attribute>
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>
\ No newline at end of file
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:4.0.30319.18034
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace VIZ.MIGU.CBA.Properties
{
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "10.0.0.0")]
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase
{
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
public static Settings Default
{
get
{
return defaultInstance;
}
}
}
}
<?xml version='1.0' encoding='utf-8'?>
<SettingsFile xmlns="uri:settings" CurrentProfile="(Default)">
<Profiles>
<Profile Name="(Default)" />
</Profiles>
<Settings />
</SettingsFile>
\ No newline at end of file
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">x86</Platform>
<ProductVersion>8.0.30703</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{144670CB-6396-488C-A76D-2E03A3B69E78}</ProjectGuid>
<OutputType>WinExe</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>VIZ.MIGU.CBA</RootNamespace>
<AssemblyName>VIZ.MIGU.CBA</AssemblyName>
<TargetFrameworkVersion>v4.8</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<ProjectTypeGuids>{60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'">
<DebugSymbols>true</DebugSymbols>
<OutputPath>bin\x64\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<DebugType>full</DebugType>
<PlatformTarget>x64</PlatformTarget>
<LangVersion>7.3</LangVersion>
<ErrorReport>prompt</ErrorReport>
<Prefer32Bit>true</Prefer32Bit>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'">
<OutputPath>bin\x64\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<Optimize>true</Optimize>
<DebugType>pdbonly</DebugType>
<PlatformTarget>x64</PlatformTarget>
<LangVersion>7.3</LangVersion>
<ErrorReport>prompt</ErrorReport>
<Prefer32Bit>true</Prefer32Bit>
</PropertyGroup>
<ItemGroup>
<Reference Include="DevExpress.Mvvm.v22.1" />
<Reference Include="DevExpress.Data.Desktop.v22.1" />
<Reference Include="DevExpress.Data.v22.1" />
<Reference Include="DevExpress.Printing.v22.1.Core" />
<Reference Include="DevExpress.Xpf.Core.v22.1" />
<Reference Include="DevExpress.Xpf.Themes.Office2019Colorful.v22.1" />
<Reference Include="DevExpress.Drawing.v22.1" />
<Reference Include="System" />
<Reference Include="System.Data" />
<Reference Include="System.Xml" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Core" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="System.Xaml">
<RequiredTargetFramework>4.0</RequiredTargetFramework>
</Reference>
<Reference Include="WindowsBase" />
<Reference Include="PresentationCore" />
<Reference Include="PresentationFramework" />
</ItemGroup>
<ItemGroup>
<ApplicationDefinition Include="App.xaml">
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
</ApplicationDefinition>
<Page Include="MainWindow.xaml">
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
</Page>
<Compile Include="App.xaml.cs">
<DependentUpon>App.xaml</DependentUpon>
<SubType>Code</SubType>
</Compile>
<Compile Include="MainWindow.xaml.cs">
<DependentUpon>MainWindow.xaml</DependentUpon>
<SubType>Code</SubType>
</Compile>
</ItemGroup>
<ItemGroup>
<Compile Include="Properties\AssemblyInfo.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Properties\Resources.Designer.cs">
<AutoGen>True</AutoGen>
<DesignTime>True</DesignTime>
<DependentUpon>Resources.resx</DependentUpon>
</Compile>
<Compile Include="Properties\Settings.Designer.cs">
<AutoGen>True</AutoGen>
<DependentUpon>Settings.settings</DependentUpon>
<DesignTimeSharedInput>True</DesignTimeSharedInput>
</Compile>
<EmbeddedResource Include="Properties\Resources.resx">
<Generator>ResXFileCodeGenerator</Generator>
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
</EmbeddedResource>
<None Include="App.config" />
<None Include="Properties\Settings.settings">
<Generator>SettingsSingleFileGenerator</Generator>
<LastGenOutput>Settings.Designer.cs</LastGenOutput>
</None>
<AppDesigner Include="Properties\" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\VIZ.MIGU.CBA.Module\VIZ.MIGU.CBA.Module.csproj">
<Project>{5725ef98-c905-486d-a851-50918115c5e3}</Project>
<Name>VIZ.MIGU.CBA.Module</Name>
</ProjectReference>
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
</Project>
\ No newline at end of file
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using VIZ.Framework.Core;
using VIZ.Framework.Domain;
namespace VIZ.TVP.CBA.Domain
{
public class ApplicationDomainEx : ApplicationDomain
{
/// <summary>
/// VIZ引擎
/// </summary>
public static VizEngineModel VizEngineModel { get; set; }
}
}
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
// 有关程序集的一般信息由以下
// 控制。更改这些特性值可修改
// 与程序集关联的信息。
[assembly: AssemblyTitle("VIZ.TVP.CBA.Domain")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("China")]
[assembly: AssemblyProduct("VIZ.TVP.CBA.Domain")]
[assembly: AssemblyCopyright("Copyright © China 2022")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// 将 ComVisible 设置为 false 会使此程序集中的类型
//对 COM 组件不可见。如果需要从 COM 访问此程序集中的类型
//请将此类型的 ComVisible 特性设置为 true。
[assembly: ComVisible(false)]
// 如果此项目向 COM 公开,则下列 GUID 用于类型库的 ID
[assembly: Guid("fc663fad-bc8a-424d-8e39-005d80a29620")]
// 程序集的版本信息由下列四个值组成:
//
// 主版本
// 次版本
// 生成号
// 修订号
//
//可以指定所有这些值,也可以使用“生成号”和“修订号”的默认值
//通过使用 "*",如下所示:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{FC663FAD-BC8A-424D-8E39-005D80A29620}</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>VIZ.TVP.CBA.Domain</RootNamespace>
<AssemblyName>VIZ.TVP.CBA.Domain</AssemblyName>
<TargetFrameworkVersion>v4.8</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<Deterministic>true</Deterministic>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Data" />
<Reference Include="System.Net.Http" />
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="ApplicationDomainEx.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\VIZ.Framework\VIZ.Framework.Core\VIZ.Framework.Core.csproj">
<Project>{75B39591-4BC3-4B09-BD7D-EC9F67EFA96E}</Project>
<Name>VIZ.Framework.Core</Name>
</ProjectReference>
<ProjectReference Include="..\..\VIZ.Framework\VIZ.Framework.Domain\VIZ.Framework.Domain.csproj">
<Project>{28661e82-c86a-4611-a028-c34f6ac85c97}</Project>
<Name>VIZ.Framework.Domain</Name>
</ProjectReference>
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
</Project>
\ No newline at end of file
......@@ -61,6 +61,14 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VIZ.TVP.CBA.UnitTest", "VIZ
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VIZ.TVP.CBA.WpfTest", "VIZ.TVP.CBA.WpfTest\VIZ.TVP.CBA.WpfTest.csproj", "{A045BE85-98F9-458C-BE0D-05D92019B508}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "85CBA", "85CBA", "{FB580B2F-98B5-47B0-8C2B-E633BE0768F8}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VIZ.MIGU.CBA", "VIZ.MIGU.CBA\VIZ.MIGU.CBA.csproj", "{144670CB-6396-488C-A76D-2E03A3B69E78}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VIZ.MIGU.CBA.Module", "VIZ.MIGU.CBA.Module\VIZ.MIGU.CBA.Module.csproj", "{5725EF98-C905-486D-A851-50918115C5E3}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VIZ.TVP.CBA.Domain", "VIZ.TVP.CBA.Domain\VIZ.TVP.CBA.Domain.csproj", "{FC663FAD-BC8A-424D-8E39-005D80A29620}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
......@@ -205,6 +213,30 @@ Global
{A045BE85-98F9-458C-BE0D-05D92019B508}.Release|Any CPU.Build.0 = Release|Any CPU
{A045BE85-98F9-458C-BE0D-05D92019B508}.Release|x64.ActiveCfg = Release|Any CPU
{A045BE85-98F9-458C-BE0D-05D92019B508}.Release|x64.Build.0 = Release|Any CPU
{144670CB-6396-488C-A76D-2E03A3B69E78}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{144670CB-6396-488C-A76D-2E03A3B69E78}.Debug|Any CPU.Build.0 = Debug|Any CPU
{144670CB-6396-488C-A76D-2E03A3B69E78}.Debug|x64.ActiveCfg = Debug|x64
{144670CB-6396-488C-A76D-2E03A3B69E78}.Debug|x64.Build.0 = Debug|x64
{144670CB-6396-488C-A76D-2E03A3B69E78}.Release|Any CPU.ActiveCfg = Release|Any CPU
{144670CB-6396-488C-A76D-2E03A3B69E78}.Release|Any CPU.Build.0 = Release|Any CPU
{144670CB-6396-488C-A76D-2E03A3B69E78}.Release|x64.ActiveCfg = Release|x64
{144670CB-6396-488C-A76D-2E03A3B69E78}.Release|x64.Build.0 = Release|x64
{5725EF98-C905-486D-A851-50918115C5E3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{5725EF98-C905-486D-A851-50918115C5E3}.Debug|Any CPU.Build.0 = Debug|Any CPU
{5725EF98-C905-486D-A851-50918115C5E3}.Debug|x64.ActiveCfg = Debug|x64
{5725EF98-C905-486D-A851-50918115C5E3}.Debug|x64.Build.0 = Debug|x64
{5725EF98-C905-486D-A851-50918115C5E3}.Release|Any CPU.ActiveCfg = Release|Any CPU
{5725EF98-C905-486D-A851-50918115C5E3}.Release|Any CPU.Build.0 = Release|Any CPU
{5725EF98-C905-486D-A851-50918115C5E3}.Release|x64.ActiveCfg = Release|x64
{5725EF98-C905-486D-A851-50918115C5E3}.Release|x64.Build.0 = Release|x64
{FC663FAD-BC8A-424D-8E39-005D80A29620}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{FC663FAD-BC8A-424D-8E39-005D80A29620}.Debug|Any CPU.Build.0 = Debug|Any CPU
{FC663FAD-BC8A-424D-8E39-005D80A29620}.Debug|x64.ActiveCfg = Debug|Any CPU
{FC663FAD-BC8A-424D-8E39-005D80A29620}.Debug|x64.Build.0 = Debug|Any CPU
{FC663FAD-BC8A-424D-8E39-005D80A29620}.Release|Any CPU.ActiveCfg = Release|Any CPU
{FC663FAD-BC8A-424D-8E39-005D80A29620}.Release|Any CPU.Build.0 = Release|Any CPU
{FC663FAD-BC8A-424D-8E39-005D80A29620}.Release|x64.ActiveCfg = Release|Any CPU
{FC663FAD-BC8A-424D-8E39-005D80A29620}.Release|x64.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
......@@ -227,6 +259,9 @@ Global
{18AC4721-CEF0-4D91-BE3A-65829313B2C7} = {2A0D4CA6-9E99-402E-B096-AC403D8386F7}
{FFF7E65A-CCFB-4E99-AD15-3F769E1BD566} = {010708E2-FDDD-4557-9DE1-882EF7ED4A3E}
{A045BE85-98F9-458C-BE0D-05D92019B508} = {010708E2-FDDD-4557-9DE1-882EF7ED4A3E}
{144670CB-6396-488C-A76D-2E03A3B69E78} = {FB580B2F-98B5-47B0-8C2B-E633BE0768F8}
{5725EF98-C905-486D-A851-50918115C5E3} = {2A0D4CA6-9E99-402E-B096-AC403D8386F7}
{FC663FAD-BC8A-424D-8E39-005D80A29620} = {B5A4AE3F-AFD7-4478-8536-F6143813B986}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {DE6BF34A-A1A4-4829-88A8-3A4229F89708}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment