Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
V
VIZ.TVP.CBA
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
刘龙飞
VIZ.TVP.CBA
Commits
f586ae8c
Commit
f586ae8c
authored
Jan 05, 2023
by
wangonghui
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
添加log日志和添加捕获异常
parent
472a3e7d
Hide whitespace changes
Inline
Side-by-side
Showing
19 changed files
with
1010 additions
and
685 deletions
+1010
-685
VIZ.MIGU.CBA.Module/CBA.Module.config
+4
-0
VIZ.MIGU.CBA.Module/Common/JsonHelper.cs
+35
-25
VIZ.MIGU.CBA.Module/Common/JsonModel.cs
+191
-95
VIZ.MIGU.CBA.Module/Common/Utils.cs
+28
-0
VIZ.MIGU.CBA.Module/ConfigHelper/ConfigManage.cs
+7
-3
VIZ.MIGU.CBA.Module/DayMatch/ViewModel/DayMatchViewModel.cs
+45
-28
VIZ.MIGU.CBA.Module/Main/MainView.xaml.cs
+113
-113
VIZ.MIGU.CBA.Module/Main/ViewModel/MainViewModel.cs
+139
-135
VIZ.MIGU.CBA.Module/PlayerCompare/ViewModel/PlayerCompareViewModel.cs
+105
-127
VIZ.MIGU.CBA.Module/RoundMatch/ViewModel/RoundMatchViewModel.cs
+9
-1
VIZ.MIGU.CBA.Module/SinglePlayer/ViewModel/SinglePlayerViewModel.cs
+132
-93
VIZ.MIGU.CBA.Module/TeamStandings/ViewModel/TeamStandingViewModel.cs
+11
-3
VIZ.MIGU.CBA.Module/TeamStats/Model/MatchStatsNumbers.cs
+24
-9
VIZ.MIGU.CBA.Module/TeamStats/ViewModel/TeamStatsViewModel.cs
+72
-53
VIZ.MIGU.CBA.Module/VIZ.TVP.CBA.Module.csproj
+1
-0
VIZ.MIGU.CBA/App.xaml.cs
+6
-0
VIZ.MIGU.CBA/VIZ.MIGU.CBA.csproj
+9
-0
VIZ.MIGU.CBA/log.config
+74
-0
VIZ.MIGU.CBA/packages.config
+5
-0
No files found.
VIZ.MIGU.CBA.Module/CBA.Module.config
View file @
f586ae8c
...
...
@@ -5,5 +5,8 @@
<
add
key
=
"vizIpMain"
value
=
""
/>
<
add
key
=
"vizIpBack"
value
=
""
/>
<
add
key
=
"leagueId"
value
=
"401"
/>
<
add
key
=
"AppID"
value
=
"100001"
/>
<
add
key
=
"AppKey"
value
=
"ffrw7ilc8i6r3pkzvl"
/>
<
add
key
=
"newUrl"
value
=
"http://180.184.78.246:18080/miku/api/open_api/proxy_api/beitai/api/schedule/getdayschedule"
/>
</
appSettings
>
</
configuration
>
\ No newline at end of file
VIZ.MIGU.CBA.Module/Common/JsonHelper.cs
View file @
f586ae8c
using
DevExpress.ClipboardSource.SpreadsheetML
;
using
DevExpress.Mvvm
;
using
log4net
;
using
System
;
using
System.Collections.Generic
;
using
System.IO
;
using
System.Linq
;
using
System.Net
;
using
System.Net.Http
;
using
System.Security.Policy
;
using
System.Text
;
using
System.Threading.Tasks
;
...
...
@@ -11,24 +15,25 @@ namespace VIZ.TVP.CBA.Module.Common
{
public
static
class
JsonHelper
{
/// <summary>
/// 日志
/// </summary>
private
static
readonly
ILog
Log
=
LogManager
.
GetLogger
(
typeof
(
JsonHelper
));
/// <summary>
/// 根据POST方法请求获取
/// </summary>
/// <param name="url"></param>
/// <param name="dic"></param>
/// <returns></returns>
public
static
string
Post
(
string
url
,
Dictionary
<
string
,
string
>
dic
)
public
static
string
Post
(
string
url
,
Dictionary
<
string
,
string
>
dic
,
string
key
)
{
string
result
=
null
;
//try
//{
string
result
=
""
;
try
{
HttpWebRequest
req
=
(
HttpWebRequest
)
WebRequest
.
Create
(
url
);
req
.
Method
=
"POST"
;
req
.
ContentType
=
"application/x-www-form-urlencoded"
;
req
.
Headers
.
Add
(
"App-Authorization"
,
key
);
StringBuilder
builder
=
new
StringBuilder
();
int
i
=
0
;
foreach
(
var
item
in
dic
)
...
...
@@ -51,15 +56,12 @@ namespace VIZ.TVP.CBA.Module.Common
{
result
=
reader
.
ReadToEnd
();
}
// }
//catch (Exception ex)
//{
// log.Error(ex);
//}
//finally
//{
// LogRequest(url, result);
//}
}
catch
(
Exception
ex
)
{
Log
.
Error
(
ex
.
Message
);
}
return
result
;
}
...
...
@@ -73,15 +75,23 @@ namespace VIZ.TVP.CBA.Module.Common
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
))
try
{
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
();
}
}
catch
(
Exception
ex
)
{
data
=
reader
.
ReadToEnd
(
);
Log
.
Error
(
ex
.
Message
);
}
return
data
;
...
...
VIZ.MIGU.CBA.Module/Common/JsonModel.cs
View file @
f586ae8c
using
Newtonsoft.Json
;
using
log4net
;
using
Newtonsoft.Json
;
using
System
;
using
System.Collections.Generic
;
using
System.Configuration
;
...
...
@@ -18,12 +19,27 @@ namespace VIZ.TVP.CBA.Module.Common
{
public
static
class
JsonModel
{
/// <summary>
/// 添加日志
/// </summary>
private
static
readonly
ILog
Log
=
LogManager
.
GetLogger
(
typeof
(
JsonModel
));
//AppConfigUtil.GetAppConfig("url")
//AppConfigUtil.GetAppConfig("leagueId")
public
static
AppSettingsSection
sd
=
ConfigManage
.
InitLogConfig
().
AppSettings
;
private
static
string
httpStr
=
sd
.
Settings
[
"url"
].
Value
.
ToString
();
private
static
string
leagueid
=
"401"
;
//读取配置文件
public
static
AppSettingsSection
sd
=
ConfigManage
.
InitLogConfig
()?.
AppSettings
;
//读取url
private
static
string
httpStr
=
sd
?.
Settings
[
"url"
].
Value
.
ToString
();
/// <summary>
/// 读取艾果的数据平台的配置项
/// </summary>
private
static
string
appID
=
sd
.
Settings
[
"AppID"
].
Value
.
ToString
();
private
static
string
appKey
=
sd
.
Settings
[
"AppKey"
].
Value
.
ToString
();
private
static
string
strUrl
=
sd
.
Settings
[
"newUrl"
].
Value
.
ToString
();
private
static
string
leagueid
=
"401"
;
private
static
string
customer
=
"migu"
;
private
static
string
key
=
"migu"
;
private
static
string
encrypted
=
"JU^MKceci"
;
...
...
@@ -37,19 +53,44 @@ namespace VIZ.TVP.CBA.Module.Common
/// <returns></returns>
public
static
Dayschedules
TomorrowMatch_Path
(
string
date
)
{
string
TomorrowMatchPath
=
httpStr
+
"schedule/getdayschedule?leagueid="
+
leagueid
+
"&date="
+
date
+
"&customer="
+
customer
+
"&key="
+
key
+
"&encrypted="
+
Utils
.
GetMD5
(
key
+
encrypted
+
random
)
+
"&random="
+
random
;
//MessageBox.Show(TomorrowMatchPath);
Console
.
WriteLine
(
"明日赛程数据接口新新:=======>:"
+
TomorrowMatchPath
);
string
result
=
JsonHelper
.
GetResult
(
TomorrowMatchPath
);
JsonSerializerSettings
settings
=
new
JsonSerializerSettings
();
settings
.
NullValueHandling
=
NullValueHandling
.
Ignore
;
//Dictionary<string, string> dict = new Dictionary<string, string>();
//dict.Add("leagueid", "401");
//dict.Add("date", "2022-12-17");
//dict.Add("customer", "migu");
//dict.Add("key", "migu");
//dict.Add("random", "4");
//dict.Add("encrypted", "6587d013da014c99032f7d17b096ad73");
//string newKey = Utils.GetKey(appID,appKey);
//var str = JsonHelper.Post(strUrl, dict, newKey);
try
{
string
TomorrowMatchPath
=
httpStr
+
"schedule/getdayschedule?leagueid="
+
leagueid
+
"&date="
+
date
+
"&customer="
+
customer
+
"&key="
+
key
+
"&encrypted="
+
Utils
.
GetMD5
(
key
+
encrypted
+
random
)
+
"&random="
+
random
;
//MessageBox.Show(TomorrowMatchPath);
Console
.
WriteLine
(
"明日赛程数据接口新新:=======>:"
+
TomorrowMatchPath
);
string
result
=
JsonHelper
.
GetResult
(
TomorrowMatchPath
);
Dayschedules
dayschedules
=
JsonConvert
.
DeserializeObject
<
Dayschedules
>(
result
,
settings
);
Log
.
Info
(
"明日赛程数据接口新:=======>:"
+
result
);
JsonSerializerSettings
settings
=
new
JsonSerializerSettings
();
settings
.
NullValueHandling
=
NullValueHandling
.
Ignore
;
Dayschedules
dayschedules
=
JsonConvert
.
DeserializeObject
<
Dayschedules
>(
result
,
settings
);
// Dayschedules aguodayschedules = JsonConvert.DeserializeObject<Dayschedules>(str,settings);
return
dayschedules
;
}
catch
(
Exception
ex
)
{
Log
.
Error
(
ex
.
Message
);
return
null
;
}
return
dayschedules
;
}
/// <summary>
/// 球队列表数据服务器接口地址
...
...
@@ -57,12 +98,23 @@ namespace VIZ.TVP.CBA.Module.Common
/// <returns></returns>
public
static
string
TeamList_Path
(
string
MatchtypeId
)
{
string
TeamListPath
=
httpStr
+
"schedule/load?leagueid="
+
leagueid
+
"&matchtypeid="
+
MatchtypeId
+
"&customer="
+
customer
+
"&key="
+
key
+
"&encrypted="
+
Utils
.
GetMD5
(
key
+
encrypted
+
random
)
+
"&random="
+
random
;
try
{
string
TeamListPath
=
httpStr
+
"schedule/load?leagueid="
+
leagueid
+
"&matchtypeid="
+
MatchtypeId
+
"&customer="
+
customer
+
"&key="
+
key
+
"&encrypted="
+
Utils
.
GetMD5
(
key
+
encrypted
+
random
)
+
"&random="
+
random
;
Console
.
WriteLine
(
"球队列表数据库服务器接口地址=====>:"
+
TeamListPath
);
Log
.
Info
(
TeamListPath
);
return
TeamListPath
;
}
catch
(
Exception
ex
)
{
Log
.
Error
(
ex
.
Message
);
return
null
;
}
Console
.
WriteLine
(
"球队列表数据库服务器接口地址=====>:"
+
TeamListPath
);
return
TeamListPath
;
}
/// <summary>
/// 球队球员单节数据服务器接口地址
...
...
@@ -70,7 +122,7 @@ namespace VIZ.TVP.CBA.Module.Common
/// <returns></returns>
public
static
string
PlayerTeam_Path
(
string
scheduleid
)
{
string
PlayerTeamPath
=
httpStr
+
"live/getlivequarterstats?leagueid="
string
PlayerTeamPath
=
httpStr
+
"live/getlivequarterstats?leagueid="
+
leagueid
+
"&scheduleid="
+
scheduleid
+
"&customer="
+
customer
+
"&key="
+
key
+
"&encrypted="
+
Utils
.
GetMD5
(
key
+
encrypted
+
random
)
+
"&random="
+
random
;
Console
.
WriteLine
(
"一个赛程有多少球员信息和两个球队接口地址=======>:"
+
PlayerTeamPath
);
...
...
@@ -82,9 +134,9 @@ namespace VIZ.TVP.CBA.Module.Common
/// <returns></returns>
public
static
string
PlayerList_Path
(
string
teamid
)
{
string
PlayerListPath
=
httpStr
+
"player?leagueid="
+
leagueid
+
"&teamid="
+
teamid
+
"&customer="
+
customer
+
"&key="
+
key
+
"&encrypted="
+
Utils
.
GetMD5
(
key
+
encrypted
+
random
)
+
"&random="
+
random
;
string
PlayerListPath
=
httpStr
+
"player?leagueid="
+
leagueid
+
"&teamid="
+
teamid
+
"&customer="
+
customer
+
"&key="
+
key
+
"&encrypted="
+
Utils
.
GetMD5
(
key
+
encrypted
+
random
)
+
"&random="
+
random
;
Console
.
WriteLine
(
"球员列表数据服务器接口地址=====>:"
+
PlayerListPath
);
return
PlayerListPath
;
}
...
...
@@ -95,19 +147,29 @@ namespace VIZ.TVP.CBA.Module.Common
/// <returns></returns>
public
static
PlayerSeasonData
PlayerSeasonData_Path
(
string
matchtypeid
)
{
string
PlayerSeasonDataPath
=
httpStr
+
"player/getplayerstats?leagueid="
+
leagueid
+
"&matchtypeid="
+
matchtypeid
+
"&customer="
+
customer
+
"&key="
+
key
+
"&encrypted="
+
Utils
.
GetMD5
(
key
+
encrypted
+
random
)
+
"&random="
+
random
;
//MessageBox.Show(PlayerSeasonDataPath);
Console
.
WriteLine
(
"球员赛季数据的服务器接口地址====>:"
+
PlayerSeasonDataPath
);
string
result
=
JsonHelper
.
GetResult
(
PlayerSeasonDataPath
);
JsonSerializerSettings
settings
=
new
JsonSerializerSettings
();
settings
.
NullValueHandling
=
NullValueHandling
.
Ignore
;
PlayerSeasonData
playerSeasonData
=
JsonConvert
.
DeserializeObject
<
PlayerSeasonData
>(
result
);
return
playerSeasonData
;
try
{
string
PlayerSeasonDataPath
=
httpStr
+
"player/getplayerstats?leagueid="
+
leagueid
+
"&matchtypeid="
+
matchtypeid
+
"&customer="
+
customer
+
"&key="
+
key
+
"&encrypted="
+
Utils
.
GetMD5
(
key
+
encrypted
+
random
)
+
"&random="
+
random
;
//MessageBox.Show(PlayerSeasonDataPath);
Console
.
WriteLine
(
"球员赛季数据的服务器接口地址====>:"
+
PlayerSeasonDataPath
);
string
result
=
JsonHelper
.
GetResult
(
PlayerSeasonDataPath
);
JsonSerializerSettings
settings
=
new
JsonSerializerSettings
();
settings
.
NullValueHandling
=
NullValueHandling
.
Ignore
;
PlayerSeasonData
playerSeasonData
=
JsonConvert
.
DeserializeObject
<
PlayerSeasonData
>(
result
);
Log
.
Info
(
result
);
return
playerSeasonData
;
}
catch
(
Exception
ex
)
{
Log
.
Error
(
ex
.
Message
);
return
null
;
}
}
...
...
@@ -118,19 +180,29 @@ namespace VIZ.TVP.CBA.Module.Common
/// <returns></returns>
public
static
RoundSchedules
GetGameRound_Path
(
string
round
)
{
string
GameRoundDataPath
=
httpStr
+
"schedule/getschedulelist?leagueid="
+
leagueid
+
"&round="
+
round
+
"&customer="
+
customer
+
"&key="
+
key
+
"&encrypted="
+
Utils
.
GetMD5
(
key
+
encrypted
+
random
)
+
"&random="
+
random
;
//MessageBox.Show(PlayerSeasonDataPath);
Console
.
WriteLine
(
"指定轮数的赛程的服务器接口地址====>:"
+
GameRoundDataPath
);
string
result
=
JsonHelper
.
GetResult
(
GameRoundDataPath
);
JsonSerializerSettings
settings
=
new
JsonSerializerSettings
();
settings
.
NullValueHandling
=
NullValueHandling
.
Ignore
;
RoundSchedules
roundSchedules
=
JsonConvert
.
DeserializeObject
<
RoundSchedules
>(
result
,
settings
);
return
roundSchedules
;
try
{
string
GameRoundDataPath
=
httpStr
+
"schedule/getschedulelist?leagueid="
+
leagueid
+
"&round="
+
round
+
"&customer="
+
customer
+
"&key="
+
key
+
"&encrypted="
+
Utils
.
GetMD5
(
key
+
encrypted
+
random
)
+
"&random="
+
random
;
//MessageBox.Show(PlayerSeasonDataPath);
Console
.
WriteLine
(
"指定轮数的赛程的服务器接口地址====>:"
+
GameRoundDataPath
);
string
result
=
JsonHelper
.
GetResult
(
GameRoundDataPath
);
Log
.
Info
(
"指定轮数的赛程的服务器接口地址====>:"
+
result
);
JsonSerializerSettings
settings
=
new
JsonSerializerSettings
();
settings
.
NullValueHandling
=
NullValueHandling
.
Ignore
;
RoundSchedules
roundSchedules
=
JsonConvert
.
DeserializeObject
<
RoundSchedules
>(
result
,
settings
);
return
roundSchedules
;
}
catch
(
Exception
ex
)
{
Log
.
Error
(
ex
.
Message
);
return
null
;
}
}
/// <summary>
/// 全量直播数据
...
...
@@ -139,21 +211,29 @@ namespace VIZ.TVP.CBA.Module.Common
/// <returns></returns>
public
static
OnAirDataModel
OnAirData_Path
(
string
scheduleid
)
{
string
OnAirDataPath
=
httpStr
+
"live?leagueid="
+
leagueid
+
"&scheduleid="
+
scheduleid
+
"&customer="
+
customer
+
"&key="
+
key
+
"&encrypted="
+
Utils
.
GetMD5
(
key
+
encrypted
+
random
)
+
"&random="
+
random
;
//MessageBox.Show(OnAirDataPath);
Console
.
WriteLine
(
"全量直播数据==>:"
+
OnAirDataPath
);
string
result
=
JsonHelper
.
GetResult
(
OnAirDataPath
);
JsonSerializerSettings
settings
=
new
JsonSerializerSettings
();
settings
.
NullValueHandling
=
NullValueHandling
.
Ignore
;
OnAirDataModel
onAirDataModel
=
JsonConvert
.
DeserializeObject
<
OnAirDataModel
>(
result
,
settings
);
return
onAirDataModel
;
try
{
string
OnAirDataPath
=
httpStr
+
"live?leagueid="
+
leagueid
+
"&scheduleid="
+
scheduleid
+
"&customer="
+
customer
+
"&key="
+
key
+
"&encrypted="
+
Utils
.
GetMD5
(
key
+
encrypted
+
random
)
+
"&random="
+
random
;
//MessageBox.Show(OnAirDataPath);
Console
.
WriteLine
(
"全量直播数据==>:"
+
OnAirDataPath
);
string
result
=
JsonHelper
.
GetResult
(
OnAirDataPath
);
Log
.
Info
(
result
);
JsonSerializerSettings
settings
=
new
JsonSerializerSettings
();
settings
.
NullValueHandling
=
NullValueHandling
.
Ignore
;
OnAirDataModel
onAirDataModel
=
JsonConvert
.
DeserializeObject
<
OnAirDataModel
>(
result
,
settings
);
return
onAirDataModel
;
}
catch
(
Exception
ex
)
{
Log
.
Error
(
ex
.
Message
);
return
null
;
}
}
/// <summary>
...
...
@@ -162,21 +242,27 @@ namespace VIZ.TVP.CBA.Module.Common
/// <returns></returns>
public
static
TeamSeasonData
TeamSeasonData_Path
(
string
matchtypeid
)
{
string
TeamSeasonDataPath
=
httpStr
+
"team/getteamstats?leagueid="
+
leagueid
+
"&matchtypeid="
+
matchtypeid
+
"&customer="
+
customer
+
"&key="
+
key
+
"&encrypted="
+
Utils
.
GetMD5
(
key
+
encrypted
+
random
)
+
"&random="
+
random
;
Console
.
WriteLine
(
"球队赛季接口数据==>:"
+
TeamSeasonDataPath
);
string
result
=
JsonHelper
.
GetResult
(
TeamSeasonDataPath
);
JsonSerializerSettings
settings
=
new
JsonSerializerSettings
();
settings
.
NullValueHandling
=
NullValueHandling
.
Ignore
;
TeamSeasonData
teamSeasonData
=
JsonConvert
.
DeserializeObject
<
TeamSeasonData
>(
result
,
settings
);
return
teamSeasonData
;
try
{
string
TeamSeasonDataPath
=
httpStr
+
"team/getteamstats?leagueid="
+
leagueid
+
"&matchtypeid="
+
matchtypeid
+
"&customer="
+
customer
+
"&key="
+
key
+
"&encrypted="
+
Utils
.
GetMD5
(
key
+
encrypted
+
random
)
+
"&random="
+
random
;
Console
.
WriteLine
(
"球队赛季接口数据==>:"
+
TeamSeasonDataPath
);
string
result
=
JsonHelper
.
GetResult
(
TeamSeasonDataPath
);
Log
.
Info
(
result
);
JsonSerializerSettings
settings
=
new
JsonSerializerSettings
();
settings
.
NullValueHandling
=
NullValueHandling
.
Ignore
;
TeamSeasonData
teamSeasonData
=
JsonConvert
.
DeserializeObject
<
TeamSeasonData
>(
result
,
settings
);
return
teamSeasonData
;
}
catch
(
Exception
ex
)
{
Log
.
Error
(
ex
.
Message
);
return
null
;
}
}
/// <summary>
...
...
@@ -185,19 +271,29 @@ namespace VIZ.TVP.CBA.Module.Common
/// <returns></returns>
public
static
TeamRanks
TeamScoreData_Path
()
{
string
TeamScoreDataPath
=
httpStr
+
"team/getteamstanding?leagueid="
+
leagueid
+
"&customer="
+
customer
+
"&key="
+
key
+
"&encrypted="
+
Utils
.
GetMD5
(
key
+
encrypted
+
random
)
+
"&random="
+
random
;
try
{
string
TeamScoreDataPath
=
httpStr
+
"team/getteamstanding?leagueid="
+
leagueid
+
"&customer="
+
customer
+
"&key="
+
key
+
"&encrypted="
+
Utils
.
GetMD5
(
key
+
encrypted
+
random
)
+
"&random="
+
random
;
string
result
=
JsonHelper
.
GetResult
(
TeamScoreDataPath
);
JsonSerializerSettings
settings
=
new
JsonSerializerSettings
();
settings
.
NullValueHandling
=
NullValueHandling
.
Ignore
;
string
result
=
JsonHelper
.
GetResult
(
TeamScoreDataPath
);
TeamRanks
teamRanks
=
JsonConvert
.
DeserializeObject
<
TeamRanks
>(
result
,
settings
);
Log
.
Info
(
result
);
JsonSerializerSettings
settings
=
new
JsonSerializerSettings
();
settings
.
NullValueHandling
=
NullValueHandling
.
Ignore
;
Console
.
WriteLine
(
"球队积分排行数据============>:"
+
TeamScoreDataPath
);
TeamRanks
teamRanks
=
JsonConvert
.
DeserializeObject
<
TeamRanks
>(
result
,
settings
);
return
teamRanks
;
Console
.
WriteLine
(
"球队积分排行数据============>:"
+
TeamScoreDataPath
);
return
teamRanks
;
}
catch
(
Exception
ex
)
{
Log
.
Error
(
ex
.
Message
);
return
null
;
}
}
/// <summary>
...
...
@@ -207,9 +303,9 @@ namespace VIZ.TVP.CBA.Module.Common
/// <returns></returns>
public
static
string
KnobbleData_Path
(
string
scheduleid
)
{
string
KnobbleDataPath
=
httpStr
+
"live/getlivequarterstats?leagueid="
+
leagueid
+
"&scheduleid="
+
scheduleid
+
"&customer="
+
customer
+
"&key="
+
key
+
"&encrypted="
+
Utils
.
GetMD5
(
key
+
encrypted
+
random
)
+
"&random="
+
random
;
string
KnobbleDataPath
=
httpStr
+
"live/getlivequarterstats?leagueid="
+
leagueid
+
"&scheduleid="
+
scheduleid
+
"&customer="
+
customer
+
"&key="
+
key
+
"&encrypted="
+
Utils
.
GetMD5
(
key
+
encrypted
+
random
)
+
"&random="
+
random
;
//Console.WriteLine(KnobbleDataPath);
Console
.
WriteLine
(
"比赛小节数据=======>:"
+
KnobbleDataPath
);
...
...
@@ -222,8 +318,8 @@ namespace VIZ.TVP.CBA.Module.Common
/// <returns></returns>
public
static
string
HistoricalRecordData_Path
(
string
scheduleid
)
{
string
HistoricalRecordDataPath
=
httpStr
+
"schedule/headtohead?customer="
+
customer
+
"&key="
+
key
+
"&encrypted="
+
Utils
.
GetMD5
(
key
+
encrypted
+
random
)
+
"&random="
+
random
+
"&scheduleid="
+
scheduleid
;
string
HistoricalRecordDataPath
=
httpStr
+
"schedule/headtohead?customer="
+
customer
+
"&key="
+
key
+
"&encrypted="
+
Utils
.
GetMD5
(
key
+
encrypted
+
random
)
+
"&random="
+
random
+
"&scheduleid="
+
scheduleid
;
//Console.WriteLine(HistoricalRecordDataPath);
Console
.
WriteLine
(
"历史交锋记录服务器地址=======>:"
+
HistoricalRecordDataPath
);
...
...
@@ -239,8 +335,8 @@ namespace VIZ.TVP.CBA.Module.Common
//旧对阵图
//EncounterPictureDataPath = "http://sportsdata.misports.cn/beitai/api/schedule/getpostseason?leagueid="
// + leagueid + "&customer=" + customer + "&key=" + key +"&season=2019"+ "&encrypted=" + GetMD5(key+encrypted + random) + "&random=" + random;
string
EncounterPictureDataPath
=
httpStr
+
"schedule/getpostseason?leagueid="
+
leagueid
+
"&customer="
+
customer
+
"&key="
+
key
+
"&encrypted="
+
Utils
.
GetMD5
(
key
+
encrypted
+
random
)
+
"&random="
+
random
;
string
EncounterPictureDataPath
=
httpStr
+
"schedule/getpostseason?leagueid="
+
leagueid
+
"&customer="
+
customer
+
"&key="
+
key
+
"&encrypted="
+
Utils
.
GetMD5
(
key
+
encrypted
+
random
)
+
"&random="
+
random
;
Console
.
WriteLine
(
"对阵图数据地址======>:"
+
EncounterPictureDataPath
);
return
EncounterPictureDataPath
;
}
...
...
VIZ.MIGU.CBA.Module/Common/Utils.cs
View file @
f586ae8c
...
...
@@ -34,6 +34,34 @@ namespace VIZ.TVP.CBA.Module.Common
}
/// <summary>
/// 艾果的密钥加密
/// </summary>
/// <param name="appId"></param>
/// <param name="appKey"></param>
/// <returns></returns>
public
static
string
GetKey
(
string
appId
,
string
appKey
)
{
int
random
=
new
Random
().
Next
(
0
,
100
);
long
timeStamp
=
DateToTicks
(
DateTime
.
Now
);
string
key
=
Convert
.
ToBase64String
(
Encoding
.
UTF8
.
GetBytes
(
string
.
Format
(
"{0},{1},{2},{3}"
,
appId
,
appKey
,
timeStamp
,
random
)));
return
key
;
}
/// <summary>
/// 获取时间戳
/// </summary>
/// <param name="time"></param>
/// <returns></returns>
public
static
long
DateToTicks
(
DateTime
?
time
)
{
return
((
time
.
HasValue
?
time
.
Value
.
Ticks
:
DateTime
.
Parse
(
"1990-01-01"
).
Ticks
)
-
621355968000000000
)
/
10000
;
}
/// <summary>
/// 设置主队和客队球员技术数据统计
/// </summary>
/// <param name="mainViewModel"></param>
...
...
VIZ.MIGU.CBA.Module/ConfigHelper/ConfigManage.cs
View file @
f586ae8c
using
System
;
using
log4net
;
using
System
;
using
System.Collections.Generic
;
using
System.Configuration
;
using
System.IO
;
...
...
@@ -11,6 +12,8 @@ namespace VIZ.TVP.CBA.Module
{
public
static
class
ConfigManage
{
private
static
ILog
Log
=
LogManager
.
GetLogger
(
typeof
(
ConfigManage
));
#
region
1.
获取当前类库的文件配置
public
static
Configuration
InitLogConfig
()
...
...
@@ -35,8 +38,9 @@ namespace VIZ.TVP.CBA.Module
}
catch
(
Exception
ex
)
{
throw
new
Exception
(
ex
.
Message
);
//throw new Exception(ex.Message);
Log
.
Error
(
ex
.
Message
);
return
null
;
}
#
endregion
...
...
VIZ.MIGU.CBA.Module/DayMatch/ViewModel/DayMatchViewModel.cs
View file @
f586ae8c
...
...
@@ -9,15 +9,21 @@ using VIZ.TVP.CBA.Module.Common;
using
VIZ.TVP.CBA.Module.DayMatch.Model
;
using
VIZ.TVP.CBA.Module.TempEnum
;
using
VIZ.TVP.CBA.Domain
;
using
log4net
;
namespace
VIZ.TVP.CBA.Module.DayMatch.ViewModel
{
public
class
DayMatchViewModel
:
ViewModelBase
{
/// <summary>
/// 日志
/// </summary>
private
static
ILog
Log
=
LogManager
.
GetLogger
(
typeof
(
DayMatchViewModel
));
public
DayMatchViewModel
()
{
BtnCmd
=
new
VCommand
(
BtnCommand
);
BtnMatchDayUp
=
new
VCommand
(
BtnMatchDayUpData
);
matchDate
=
DateTime
.
Today
.
ToShortDateString
();
...
...
@@ -55,7 +61,7 @@ namespace VIZ.TVP.CBA.Module.DayMatch.ViewModel
/// </summary>
private
void
BtnMatchDayUpData
()
{
Log
.
Info
(
"比赛日期上版和数据:"
+
CombineMatchData
());
ApplicationDomainEx
.
VizEngineModel
.
STAGE_START
(
"Default/JRSCBEN"
,
"Data"
,
CombineMatchData
());
}
...
...
@@ -115,37 +121,48 @@ namespace VIZ.TVP.CBA.Module.DayMatch.ViewModel
/// </summary>
private
void
GetSchedule
()
{
string
date
=
Convert
.
ToDateTime
(
matchDate
).
ToString
(
"yyyy-MM-dd"
);
try
{
var
dayschedules
=
JsonModel
.
TomorrowMatch_Path
(
date
);
// matchData.AddRange(dayschedules.dayschedule
);
string
date
=
Convert
.
ToDateTime
(
matchDate
).
ToString
(
"yyyy-MM-dd"
);
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"
)
var
dayschedules
=
JsonModel
.
TomorrowMatch_Path
(
date
);
if
(
dayschedules
==
null
)
return
;
// matchData.AddRange(dayschedules.dayschedule);
MatchData
=
new
ObservableCollection
<
Dayschedule
>();
foreach
(
var
dayschedule
in
dayschedules
.
dayschedule
)
{
dayschedule
.
Status
=
"延期"
;
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
);
}
MatchData
.
Add
(
dayschedule
);
}
catch
(
Exception
ex
)
{
Log
.
Error
(
ex
.
Message
);
}
}
...
...
VIZ.MIGU.CBA.Module/Main/MainView.xaml.cs
View file @
f586ae8c
...
...
@@ -30,13 +30,13 @@ namespace VIZ.TVP.CBA.Module
{
MainViewModel
vm
=
MainViewModel
.
CreateInstance
;
SinglePlayerViewModel
singlePlayVM
=
SinglePlayerViewModel
.
CreateInstance
;
//
SinglePlayerViewModel singlePlayVM = SinglePlayerViewModel.CreateInstance;
PlayerCompareViewModel
PlayerCompareViewModel
=
PlayerCompareViewModel
.
CreateInstance
;
//
PlayerCompareViewModel PlayerCompareViewModel = PlayerCompareViewModel.CreateInstance;
TeamStatsViewModel
teamStatsViewModel
=
TeamStatsViewModel
.
CreateInstance
;
//
TeamStatsViewModel teamStatsViewModel=TeamStatsViewModel.CreateInstance;
public
string
ScheduleID
=
""
;
//
public string ScheduleID = "";
public
MainView
()
{
...
...
@@ -44,161 +44,161 @@ namespace VIZ.TVP.CBA.Module
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
);
//
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
;
//
vm.ScheduleID = ScheduleID;
if
(
vm
.
onAirDataModel
!=
null
)
{
//
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
=
"未开始"
;
}
//
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
);
//
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.HName = vm.onAirDataModel.liveTeamInfo.HomeTeamCNAlias;
PlayerCompareViewModel
.
AName
=
vm
.
onAirDataModel
.
liveTeamInfo
.
VisitingTeamCNAlias
;
//
PlayerCompareViewModel.AName = vm.onAirDataModel.liveTeamInfo.VisitingTeamCNAlias;
teamStatsViewModel
.
HomeTeam
=
vm
.
onAirDataModel
.
liveTeamInfo
.
HomeTeamCNAlias
;
//
teamStatsViewModel.HomeTeam = vm.onAirDataModel.liveTeamInfo.HomeTeamCNAlias;
teamStatsViewModel
.
AwayTeam
=
vm
.
onAirDataModel
.
liveTeamInfo
.
VisitingTeamCNAlias
;
//
teamStatsViewModel.AwayTeam = vm.onAirDataModel.liveTeamInfo.VisitingTeamCNAlias;
PlayerCompareViewModel
.
SetPlayer
();
//
PlayerCompareViewModel.SetPlayer();
vm
.
PlayerSeasonData
=
JsonModel
.
PlayerSeasonData_Path
(
vm
.
Matchtypeid
);
//
vm.PlayerSeasonData = JsonModel.PlayerSeasonData_Path(vm.Matchtypeid);
vm
.
TeamSeasonData
=
JsonModel
.
TeamSeasonData_Path
(
vm
.
Matchtypeid
);
//
vm.TeamSeasonData = JsonModel.TeamSeasonData_Path(vm.Matchtypeid);
SetTeamCompare
();
//
SetTeamCompare();
}
}
//
}
//
}
private
void
SetTeamCompare
()
{
//SetHomeTeamDictionary();
//SetVisitTeamDictionary();
SetTeamSeasonDictionary
();
//SetHData();
//SetAData();
//
private void SetTeamCompare()
//
{
//
//SetHomeTeamDictionary();
//
//SetVisitTeamDictionary();
//
SetTeamSeasonDictionary();
//
//SetHData();
//
//SetAData();
//Utils.SetHomeTeamDictionary(vm);
//Utils.SetVisitTeamDictionary(vm);
//Utils.SetHData(vm, teamStatsViewModel);
//Utils.SetAData(vm, teamStatsViewModel);
//
//Utils.SetHomeTeamDictionary(vm);
//
//Utils.SetVisitTeamDictionary(vm);
//
//Utils.SetHData(vm, teamStatsViewModel);
//
//Utils.SetAData(vm, teamStatsViewModel);
}
//
}
private
void
SetTeamSeasonDictionary
()
{
vm
.
CNAliasVisitSportsDictionary
.
Clear
();
//
private void SetTeamSeasonDictionary()
//
{
//
vm.CNAliasVisitSportsDictionary.Clear();
foreach
(
var
teamSeasonData
in
vm
.
TeamSeasonData
.
teamstats
)
{
//
foreach (var teamSeasonData in vm.TeamSeasonData.teamstats)
//
{
Dictionary
<
string
,
string
>
CompareItemToNumber
=
new
Dictionary
<
string
,
string
>();
//
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"
)
+
"%"
);
//
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
);
}
//
vm.CNAliasVisitSportsDictionary.Add(teamSeasonData.TeamCNAlias, CompareItemToNumber);
//
}
}
//
}
private
void
Date_MatchDateInfo_SelectedDateChanged
(
object
sender
,
SelectionChangedEventArgs
e
)
{
vm
.
GetSchedule
();
//
private void Date_MatchDateInfo_SelectedDateChanged(object sender, SelectionChangedEventArgs e)
//
{
//
vm.GetSchedule();
vm
.
PlayerSeasonData
=
JsonModel
.
PlayerSeasonData_Path
(
vm
.
Matchtypeid
);
//
vm.PlayerSeasonData = JsonModel.PlayerSeasonData_Path(vm.Matchtypeid);
vm
.
TeamSeasonData
=
JsonModel
.
TeamSeasonData_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
>();
//
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("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("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("TwoScore", tempSeasonData.TwoPointGoalsAverage + "/"
//
+ tempSeasonData.TwoPointAttemptedAverage);
CompareItemToNumber
.
Add
(
"TwoArea"
,
tempSeasonData
.
TwoPointGoalsAverage
+
"/"
+
tempSeasonData
.
TwoPointAttemptedAverage
);
CompareItemToNumber
.
Add
(
"ThreeArea"
,
tempSeasonData
.
ThreePointGoalsAverage
+
"/"
//
CompareItemToNumber.Add("TwoArea", tempSeasonData.TwoPointGoalsAverage + "/"
//
+ tempSeasonData.TwoPointAttemptedAverage);
//
CompareItemToNumber.Add("ThreeArea", tempSeasonData.ThreePointGoalsAverage + "/"
+
tempSeasonData
.
ThreePointAttemptedAverage
);
//CompareItemToNumber.Add("ThreeArea",);
//
+ tempSeasonData.ThreePointAttemptedAverage);
//
//CompareItemToNumber.Add("ThreeArea",);
CompareItemToNumber
.
Add
(
"FreeThrow"
,
tempSeasonData
.
FreeThrowsAverage
+
"/"
+
tempSeasonData
.
FreeThrowsAttemptedAverage
);
CompareItemToNumber
.
Add
(
"Error"
,
tempSeasonData
.
TurnoversAverage
);
//
CompareItemToNumber.Add("FreeThrow", tempSeasonData.FreeThrowsAverage + "/"
//
+ tempSeasonData.FreeThrowsAttemptedAverage);
//
CompareItemToNumber.Add("Error",tempSeasonData.TurnoversAverage);
if
(!
vm
.
CNAliasPlayerSportsDictionary
.
ContainsKey
(
tempSeasonData
.
CNAlias
))
{
vm
.
CNAliasPlayerSportsDictionary
.
Add
(
tempSeasonData
.
CNAlias
,
CompareItemToNumber
);
}
//
if (!vm.CNAliasPlayerSportsDictionary.ContainsKey(tempSeasonData.CNAlias))
//
{
//
vm.CNAliasPlayerSportsDictionary.Add(tempSeasonData.CNAlias, CompareItemToNumber);
//
}
}
//
}
}
//
}
}
}
VIZ.MIGU.CBA.Module/Main/ViewModel/MainViewModel.cs
View file @
f586ae8c
...
...
@@ -11,12 +11,14 @@ using VIZ.TVP.CBA.Module.DayMatch.Model;
using
VIZ.TVP.CBA.Module.OnAirData
;
using
VIZ.TVP.CBA.Module.SeasonData
;
using
VIZ.TVP.CBA.Domain
;
using
log4net
;
namespace
VIZ.TVP.CBA.Module.Main.ViewModel
{
public
class
MainViewModel
:
ViewModelBase
{
private
static
ILog
Log
=
LogManager
.
GetLogger
(
typeof
(
MainViewModel
));
private
static
MainViewModel
_createInstance
=
null
;
...
...
@@ -33,182 +35,184 @@ namespace VIZ.TVP.CBA.Module.Main.ViewModel
}
public
OnAirDataModel
onAirDataModel
=
new
OnAirDataModel
();
//
public OnAirDataModel onAirDataModel = new OnAirDataModel();
public
MainViewModel
()
{
matchDate
=
DateTime
.
Today
.
ToShortDateString
();
//
matchDate = DateTime.Today.ToShortDateString();
ApplicationDomainEx
.
VizEngineModel
=
new
VizEngineModel
();
GetSchedule
();
InitCommand
();
//
GetSchedule();
//
InitCommand();
InitProperty
();
}
private
string
matchDate
;
//
private string matchDate;
public
string
MatchDate
{
get
{
return
matchDate
;
}
set
{
matchDate
=
value
;
this
.
RaisePropertyChanged
(
nameof
(
MatchDate
));
}
//
public string MatchDate
//
{
//
get { return matchDate; }
//
set { matchDate = value; this.RaisePropertyChanged(nameof(MatchDate)); }
}
//
}
private
string
matchStatus
;
//
private string matchStatus;
public
string
MatchStatus
{
get
{
return
matchStatus
;
}
set
{
matchStatus
=
value
;
this
.
RaisePropertyChanged
(
nameof
(
MatchStatus
));
}
}
//
public string MatchStatus
//
{
//
get { return matchStatus; }
//
set { matchStatus = value;this.RaisePropertyChanged(nameof(MatchStatus)); }
//
}
private
ObservableCollection
<
string
>
matchItems
;
/// <summary>
/// 下拉框绑定得赛程详细信息
/// </summary>
public
ObservableCollection
<
string
>
MatchItems
{
get
{
return
matchItems
;
}
set
{
matchItems
=
value
;
this
.
RaisePropertyChanged
(
nameof
(
MatchItems
));
}
}
// private ObservableCollection<string> matchItems;
// /// <summary>
// /// 下拉框绑定得赛程详细信息
// /// </summary>
// public ObservableCollection<string> MatchItems
// {
// get { return matchItems; }
// set { matchItems = value; this.RaisePropertyChanged(nameof(MatchItems)); }
// }
private
string
selectMatchItems
;
/// <summary>
/// 选中得赛程信息
/// </summary>
public
string
SelectMatchItems
{
get
{
return
selectMatchItems
;
}
set
{
selectMatchItems
=
value
;
this
.
RaisePropertyChanged
(
nameof
(
SelectMatchItems
));
}
}
/// <summary>
/// 球员赛季数据
/// </summary>
public
PlayerSeasonData
PlayerSeasonData
=
new
PlayerSeasonData
();
/// <summary>
/// 队伍赛程信息
/// </summary>
public
TeamSeasonData
TeamSeasonData
=
new
TeamSeasonData
();
//向字典中个人选手增加整个赛季的分数值
public
Dictionary
<
string
,
Dictionary
<
string
,
string
>>
CNAliasPlayerSportsDictionary
=
new
Dictionary
<
string
,
Dictionary
<
string
,
string
>>();
/// <summary>
/// 主队球员技术统计数据
/// </summary>
public
Dictionary
<
string
,
Dictionary
<
string
,
string
>>
MvpHomePlayerCompareNumDictionary
=
new
Dictionary
<
string
,
Dictionary
<
string
,
string
>>();
/// <summary>
/// 客队球员技术统计数据
/// </summary>
public
Dictionary
<
string
,
Dictionary
<
string
,
string
>>
MvpVisitPlayerCompareNumDictionary
=
new
Dictionary
<
string
,
Dictionary
<
string
,
string
>>();
// private string selectMatchItems;
// /// <summary>
// /// 选中得赛程信息
// /// </summary>
// public string SelectMatchItems
// {
// get { return selectMatchItems; }
// set { selectMatchItems = value; this.RaisePropertyChanged(nameof(SelectMatchItems)); }
// }
//创建【球队】数据对比时的字典---主队球员数据与对比项的一一对应【主队-例如:得分--读取接口得分数据】
public
Dictionary
<
string
,
string
>
HomeTeamCompareOptionDictionary
=
new
Dictionary
<
string
,
string
>();
//创建【球队】数据对比时的字典---客队球员数据与对比项的一一对应【客队队-例如:得分--读取接口得分数据】
public
Dictionary
<
string
,
string
>
VisitTeamCompareOptionDictionary
=
new
Dictionary
<
string
,
string
>
();
// /// <summary>
// /// 球员赛季数据
// /// </summary>
// public PlayerSeasonData PlayerSeasonData = new PlayerSeasonData
();
// /// <summary>
// /// 队伍赛程信息
// /// </summary>
// public TeamSeasonData TeamSeasonData = new TeamSeasonData();
public
Dictionary
<
string
,
Dictionary
<
string
,
string
>>
CNAliasVisitSportsDictionary
=
new
Dictionary
<
string
,
Dictionary
<
string
,
string
>>();
//球员赛季数据
public
string
Matchtypeid
=
""
;
//比赛赛程Id
public
string
ScheduleID
=
""
;
// //向字典中个人选手增加整个赛季的分数值
// public Dictionary<string, Dictionary<string, string>> CNAliasPlayerSportsDictionary
// = new Dictionary<string, Dictionary<string, string>>();
/// <summary>
/// 设置一个比赛赛程集合
/// </summary>
public
Dictionary
<
string
,
string
>
SetMatchDict
=
new
Dictionary
<
string
,
string
>();
// /// <summary>
// /// 主队球员技术统计数据
// /// </summary>
// public Dictionary<string, Dictionary<string, string>> MvpHomePlayerCompareNumDictionary
//= new Dictionary<string, Dictionary<string, string>>();
VizEngineModel
gobalVizEngineModel
=
new
VizEngineModel
();
// /// <summary>
// /// 客队球员技术统计数据
// /// </summary>
// public Dictionary<string, Dictionary<string, string>> MvpVisitPlayerCompareNumDictionary
// = new Dictionary<string, Dictionary<string, string>>();
/// <summary>
/// 获取比赛赛程
/// </summary>
public
void
GetSchedule
()
{
MatchItems
=
new
ObservableCollection
<
string
>();
string
date
=
Convert
.
ToDateTime
(
matchDate
).
ToString
(
"yyyy-MM-dd"
);
var
dayschedules
=
JsonModel
.
TomorrowMatch_Path
(
date
);
// //创建【球队】数据对比时的字典---主队球员数据与对比项的一一对应【主队-例如:得分--读取接口得分数据】
// public Dictionary<string, string> HomeTeamCompareOptionDictionary = new Dictionary<string, string>();
// //创建【球队】数据对比时的字典---客队球员数据与对比项的一一对应【客队队-例如:得分--读取接口得分数据】
// public Dictionary<string, string> VisitTeamCompareOptionDictionary = new Dictionary<string, string>();
// matchData.AddRange(dayschedules.dayschedule);
//MatchData = new ObservableCollection<Dayschedule>();
if
(
dayschedules
!=
null
)
{
dayschedules
.
dayschedule
=
dayschedules
.
dayschedule
.
OrderBy
(
a
=>
Convert
.
ToDateTime
(
a
.
time
)).
ToList
();
}
// public Dictionary<string, Dictionary<string, string>> CNAliasVisitSportsDictionary
//= new Dictionary<string, Dictionary<string, string>>();
SetMatchDict
.
Clear
();
MatchItems
.
Clear
();
// //球员赛季数据
// public string Matchtypeid = "";
// //比赛赛程Id
// public string ScheduleID = "";
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
=
"延期"
;
}
// /// <summary>
// /// 设置一个比赛赛程集合
// /// </summary>
// public Dictionary<string, string> SetMatchDict = new Dictionary<string, string>();
if
(!
SetMatchDict
.
ContainsKey
(
dayschedule
.
time
+
dayschedule
.
HomeTeamName
+
"VS"
+
dayschedule
.
VisitingTeamName
))
{
SetMatchDict
.
Add
(
dayschedule
.
time
+
dayschedule
.
HomeTeamName
+
"VS"
+
dayschedule
.
VisitingTeamName
,
dayschedule
.
ScheduleID
);
}
// VizEngineModel gobalVizEngineModel = new VizEngineModel();
Matchtypeid
=
dayschedule
.
ScheduleTypeID
;
// /// <summary>
// /// 获取比赛赛程
// /// </summary>
MatchItems
.
Add
(
dayschedule
.
time
+
dayschedule
.
HomeTeamName
+
"VS"
+
dayschedule
.
VisitingTeamName
);
// public void GetSchedule()
// {
// MatchItems = new ObservableCollection<string>();
// string date = Convert.ToDateTime(matchDate).ToString("yyyy-MM-dd");
}
// var dayschedules = JsonModel.TomorrowMatch_Path(date);
}
// if (dayschedules == null) return;
// // matchData.AddRange(dayschedules.dayschedule);
// //MatchData = new ObservableCollection<Dayschedule>();
/// <summary>
/// 初始化命令
/// </summary>
private
void
InitCommand
()
{
this
.
ConnectCommand
=
new
VCommand
(
this
.
Connect
);
this
.
DisconnectCommand
=
new
VCommand
(
this
.
Disconnect
);
}
// //if(dayschedules!=null)
// //{
// dayschedules.dayschedule = dayschedules.dayschedule.OrderBy(a => Convert.ToDateTime(a.time)).ToList();
// //}
// SetMatchDict.Clear();
// MatchItems.Clear();
// 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 = "延期";
// }
// if (!SetMatchDict.ContainsKey(dayschedule.time + dayschedule.HomeTeamName
// + "VS" + dayschedule.VisitingTeamName))
// {
// SetMatchDict.Add(dayschedule.time + dayschedule.HomeTeamName
// + "VS" + dayschedule.VisitingTeamName, dayschedule.ScheduleID);
// }
// Matchtypeid = dayschedule.ScheduleTypeID;
// MatchItems.Add(dayschedule.time + dayschedule.HomeTeamName
// + "VS" + dayschedule.VisitingTeamName);
// }
// }
// /// <summary>
// /// 初始化命令
// /// </summary>
// private void InitCommand()
// {
// this.ConnectCommand = new VCommand(this.Connect);
// this.DisconnectCommand = new VCommand(this.Disconnect);
// }
/// <summary>
/// 初始化属性
...
...
VIZ.MIGU.CBA.Module/PlayerCompare/ViewModel/PlayerCompareViewModel.cs
View file @
f586ae8c
...
...
@@ -19,13 +19,14 @@ using VIZ.TVP.CBA.Module.OnAirData;
using
VIZ.TVP.CBA.Module.SeasonData
;
using
DevExpress.Mvvm.POCO
;
using
System.ComponentModel
;
using
log4net
;
namespace
VIZ.TVP.CBA.Module.PlayerCompare.ViewModel
{
public
class
PlayerCompareViewModel
:
ViewModelBase
{
private
static
ILog
Log
=
LogManager
.
GetLogger
(
typeof
(
PlayerCompareViewModel
));
private
static
PlayerCompareViewModel
_createInstance
=
null
;
public
static
PlayerCompareViewModel
CreateInstance
...
...
@@ -51,50 +52,7 @@ namespace VIZ.TVP.CBA.Module.PlayerCompare.ViewModel
};
playerComModels
=
new
ObservableCollection
<
PlayerComModel
>();
//{
// new PlayerComModel()
// {
// //TechStats=TechStats.Goal
// TechStatsName="得分"
// },
// new PlayerComModel()
// {
// // TechStats=TechStats.Rebounds
// TechStatsName="篮板"
// },
// new PlayerComModel()
// {
// // TechStats=TechStats.Assists
// TechStatsName="助攻"
// },
// new PlayerComModel()
// {
// //TechStats=TechStats.Blocks
// TechStatsName="盖帽"
// },
// new PlayerComModel()
// {
// //TechStats=TechStats.Steals
// TechStatsName="抢断"
// },
// new PlayerComModel()
// {
// //TechStats=TechStats.ShootingGoalP
// TechStatsName="投篮命中率"
// },
// new PlayerComModel()
// {
// //TechStats=TechStats.ThreeShootingGoalP
// TechStatsName="三分命中率",
// }
//};
PlayerComModel
PlayGoal
=
new
PlayerComModel
();
PlayGoal
.
TechStatsName
=
"得分"
;
PlayGoal
.
PropertyChanged
+=
OnModelChanged
;
...
...
@@ -131,19 +89,15 @@ namespace VIZ.TVP.CBA.Module.PlayerCompare.ViewModel
playerComModels
.
Add
(
ThreeShootingGoalP
);
BtnCommand
=
new
VCommand
(
BtnCmd
);
PlayerComCommand
=
new
VCommand
(
playerComCommand
);
MatchCmd
=
new
VCommand
(
MatchTechCmd
);
matchDate
=
DateTime
.
Today
.
ToShortDateString
();
GetSchedule
();
GetSeasonData
();
//SetPlayer();
}
/// <summary>
...
...
@@ -545,7 +499,7 @@ namespace VIZ.TVP.CBA.Module.PlayerCompare.ViewModel
matchDate
=
value
;
this
.
RaisePropertyChanged
(
nameof
(
MatchDate
));
GetSchedule
();
GetSeasonData
();
...
...
@@ -799,6 +753,7 @@ namespace VIZ.TVP.CBA.Module.PlayerCompare.ViewModel
}
else
{
Log
.
Info
(
"球员对比上版和数据:"
+
CombinePlayerCommand
());
ApplicationDomainEx
.
VizEngineModel
.
STAGE_START
(
"Default/SQY"
,
"dqyData"
,
CombinePlayerCommand
());
// CombinePlayerCommand();
}
...
...
@@ -884,6 +839,7 @@ namespace VIZ.TVP.CBA.Module.PlayerCompare.ViewModel
private
void
BtnCmd
()
{
onAirDataModel
=
JsonModel
.
OnAirData_Path
(
ScheduleID
);
if
(
onAirDataModel
==
null
)
return
;
SetPlayer
(
false
);
SetAData
();
SetHData
();
...
...
@@ -896,115 +852,135 @@ namespace VIZ.TVP.CBA.Module.PlayerCompare.ViewModel
}
/// <summary>
///
获取日期类型
///
根据日期获取赛程
/// </summary>
private
void
GetSchedule
()
{
MatchItems
=
new
ObservableCollection
<
string
>();
string
date
=
Convert
.
ToDateTime
(
matchDate
).
ToString
(
"yyyy-MM-dd"
);
try
var
dayschedules
=
JsonModel
.
TomorrowMatch_Path
(
date
);
{
MatchItems
=
new
ObservableCollection
<
string
>();
string
date
=
Convert
.
ToDateTime
(
matchDate
).
ToString
(
"yyyy-MM-dd"
);
// matchData.AddRange(dayschedules.dayschedule);
//MatchData = new ObservableCollection<Dayschedule>();
var
dayschedules
=
JsonModel
.
TomorrowMatch_Path
(
date
);
if
(
dayschedules
!=
null
)
{
if
(
dayschedules
==
null
)
return
;
// matchData.AddRange(dayschedules.dayschedule);
//MatchData = new ObservableCollection<Dayschedule>();
//if (dayschedules != null)
//{
dayschedules
.
dayschedule
=
dayschedules
.
dayschedule
.
OrderBy
(
a
=>
Convert
.
ToDateTime
(
a
.
time
)).
ToList
();
}
//
}
SetMatchDict
.
Clear
();
MatchItems
.
Clear
();
SetMatchDict
.
Clear
();
MatchItems
.
Clear
();
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"
)
foreach
(
var
dayschedule
in
dayschedules
.
dayschedule
)
{
dayschedule
.
Status
=
"已结束"
;
}
else
if
(
dayschedule
.
Status
==
"5"
)
{
dayschedule
.
Status
=
"延期"
;
}
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
=
"延期"
;
}
if
(!
SetMatchDict
.
ContainsKey
(
dayschedule
.
time
+
dayschedule
.
HomeTeamName
+
"VS"
+
dayschedule
.
VisitingTeamName
))
{
SetMatchDict
.
Add
(
dayschedule
.
time
+
dayschedule
.
HomeTeamName
+
"VS"
+
dayschedule
.
VisitingTeamName
,
dayschedule
.
ScheduleID
);
}
if
(!
SetMatchDict
.
ContainsKey
(
dayschedule
.
time
+
dayschedule
.
HomeTeamName
+
"VS"
+
dayschedule
.
VisitingTeamName
))
{
SetMatchDict
.
Add
(
dayschedule
.
time
+
dayschedule
.
HomeTeamName
+
"VS"
+
dayschedule
.
VisitingTeamName
,
dayschedule
.
ScheduleID
);
}
Matchtypeid
=
dayschedule
.
ScheduleTypeID
;
Matchtypeid
=
dayschedule
.
ScheduleTypeID
;
MatchItems
.
Add
(
dayschedule
.
time
+
dayschedule
.
HomeTeamName
+
"VS"
+
dayschedule
.
VisitingTeamName
);
MatchItems
.
Add
(
dayschedule
.
time
+
dayschedule
.
HomeTeamName
+
"VS"
+
dayschedule
.
VisitingTeamName
);
}
}
catch
(
Exception
ex
)
{
Log
.
Error
(
ex
.
Message
);
}
}
/// <summary>
/// 获得赛季球队数据
/// </summary>
private
void
GetSeasonData
()
{
PlayerSeasonData
=
JsonModel
.
PlayerSeasonData_Path
(
Matchtypeid
);
try
TeamSeasonData
=
JsonModel
.
TeamSeasonData_Path
(
Matchtypeid
);
{
PlayerSeasonData
=
JsonModel
.
PlayerSeasonData_Path
(
Matchtypeid
);
TeamSeasonData
=
JsonModel
.
TeamSeasonData_Path
(
Matchtypeid
);
CNAliasPlayerSportsDictionary
.
Clear
();
foreach
(
var
tempSeasonData
in
PlayerSeasonData
.
playerstats
)
{
Dictionary
<
string
,
string
>
CompareItemToNumber
=
new
Dictionary
<
string
,
string
>();
CompareItemToNumber
.
Add
(
"得分"
,
tempSeasonData
.
PointsAverage
);
CompareItemToNumber
.
Add
(
"篮板"
,
tempSeasonData
.
ReboundsAverage
);
CompareItemToNumber
.
Add
(
"助攻"
,
tempSeasonData
.
AssistsAverage
);
CompareItemToNumber
.
Add
(
"抢断"
,
tempSeasonData
.
StealsAverage
);
CompareItemToNumber
.
Add
(
"盖帽"
,
tempSeasonData
.
BlockedAverage
);
CompareItemToNumber
.
Add
(
"上场时间"
,
tempSeasonData
.
MinutesAverage
);
CompareItemToNumber
.
Add
(
"投篮命中率"
,
(
tempSeasonData
.
FieldGoalsPercentageAverage
).
ToString
(
"F1"
)
+
"%"
);
CompareItemToNumber
.
Add
(
"两分命中率"
,
(
tempSeasonData
.
TwoPointPercentageAverage
).
ToString
(
"F1"
)
+
"%"
);
CNAliasPlayerSportsDictionary
.
Clear
();
if
(
PlayerSeasonData
==
null
)
return
;
foreach
(
var
tempSeasonData
in
PlayerSeasonData
.
playerstats
)
{
Dictionary
<
string
,
string
>
CompareItemToNumber
=
new
Dictionary
<
string
,
string
>();
CompareItemToNumber
.
Add
(
"三分命中率"
,
(
tempSeasonData
.
ThreePointPercentageAverage
).
ToString
(
"F1"
)
+
"%"
);
CompareItemToNumber
.
Add
(
"罚球命中率"
,
(
tempSeasonData
.
FreeThrowsPercentageAverage
).
ToString
(
"F1"
)
+
"%"
);
CompareItemToNumber
.
Add
(
"篮下投篮命中率"
,
(
tempSeasonData
.
FieldGoalsAtRimPercentageAverage
*
100
).
ToString
(
"F1"
)
+
"%"
);
CompareItemToNumber
.
Add
(
"中距离投篮命中率"
,
(
tempSeasonData
.
FieldGoalsMidRangePercentageAverage
*
100
).
ToString
(
"F1"
)
+
"%"
);
CompareItemToNumber
.
Add
(
"三分"
,
tempSeasonData
.
ThreePointGoalsAverage
+
"/"
+
tempSeasonData
.
ThreePointAttemptedAverage
);
CompareItemToNumber
.
Add
(
"得分"
,
tempSeasonData
.
PointsAverage
);
CompareItemToNumber
.
Add
(
"篮板"
,
tempSeasonData
.
ReboundsAverage
);
CompareItemToNumber
.
Add
(
"助攻"
,
tempSeasonData
.
AssistsAverage
);
CompareItemToNumber
.
Add
(
"抢断"
,
tempSeasonData
.
StealsAverage
);
CompareItemToNumber
.
Add
(
"盖帽"
,
tempSeasonData
.
BlockedAverage
);
CompareItemToNumber
.
Add
(
"上场时间"
,
tempSeasonData
.
MinutesAverage
);
CompareItemToNumber
.
Add
(
"投篮命中率"
,
(
tempSeasonData
.
FieldGoalsPercentageAverage
).
ToString
(
"F1"
)
+
"%"
);
CompareItemToNumber
.
Add
(
"两分命中率"
,
(
tempSeasonData
.
TwoPointPercentageAverage
).
ToString
(
"F1"
)
+
"%"
);
CompareItemToNumber
.
Add
(
"三分命中率"
,
(
tempSeasonData
.
ThreePointPercentageAverage
).
ToString
(
"F1"
)
+
"%"
);
CompareItemToNumber
.
Add
(
"罚球命中率"
,
(
tempSeasonData
.
FreeThrowsPercentageAverage
).
ToString
(
"F1"
)
+
"%"
);
CompareItemToNumber
.
Add
(
"篮下投篮命中率"
,
(
tempSeasonData
.
FieldGoalsAtRimPercentageAverage
*
100
).
ToString
(
"F1"
)
+
"%"
);
CompareItemToNumber
.
Add
(
"中距离投篮命中率"
,
(
tempSeasonData
.
FieldGoalsMidRangePercentageAverage
*
100
).
ToString
(
"F1"
)
+
"%"
);
CompareItemToNumber
.
Add
(
"三分"
,
tempSeasonData
.
ThreePointGoalsAverage
+
"/"
+
tempSeasonData
.
ThreePointAttemptedAverage
);
CompareItemToNumber
.
Add
(
"两分"
,
tempSeasonData
.
TwoPointGoalsAverage
+
"/"
+
tempSeasonData
.
TwoPointAttemptedAverage
);
CompareItemToNumber
.
Add
(
"两分"
,
tempSeasonData
.
TwoPointGoalsAverage
+
"/"
+
tempSeasonData
.
TwoPointAttemptedAverage
);
CompareItemToNumber
.
Add
(
"两分区"
,
tempSeasonData
.
TwoPointGoalsAverage
+
"/"
+
tempSeasonData
.
TwoPointAttemptedAverage
);
CompareItemToNumber
.
Add
(
"三分区"
,
tempSeasonData
.
ThreePointGoalsAverage
+
"/"
+
tempSeasonData
.
ThreePointAttemptedAverage
);
//CompareItemToNumber.Add("ThreeArea",);
CompareItemToNumber
.
Add
(
"两分区"
,
tempSeasonData
.
TwoPointGoalsAverage
+
"/"
+
tempSeasonData
.
TwoPointAttemptedAverage
);
CompareItemToNumber
.
Add
(
"三分区"
,
tempSeasonData
.
ThreePointGoalsAverage
+
"/"
CompareItemToNumber
.
Add
(
"罚球"
,
tempSeasonData
.
FreeThrowsAverage
+
"/"
+
tempSeasonData
.
FreeThrowsAttemptedAverage
);
CompareItemToNumber
.
Add
(
"失误"
,
tempSeasonData
.
TurnoversAverage
);
+
tempSeasonData
.
ThreePointAttemptedAverage
);
//CompareItemToNumber.Add("ThreeArea",);
if
(!
CNAliasPlayerSportsDictionary
.
ContainsKey
(
tempSeasonData
.
CNAlias
))
{
CNAliasPlayerSportsDictionary
.
Add
(
tempSeasonData
.
CNAlias
,
CompareItemToNumber
);
}
CompareItemToNumber
.
Add
(
"罚球"
,
tempSeasonData
.
FreeThrowsAverage
+
"/"
+
tempSeasonData
.
FreeThrowsAttemptedAverage
);
CompareItemToNumber
.
Add
(
"失误"
,
tempSeasonData
.
TurnoversAverage
);
if
(!
CNAliasPlayerSportsDictionary
.
ContainsKey
(
tempSeasonData
.
CNAlias
))
{
CNAliasPlayerSportsDictionary
.
Add
(
tempSeasonData
.
CNAlias
,
CompareItemToNumber
);
}
}
}
catch
(
Exception
ex
)
{
Log
.
Error
(
ex
.
Message
);
}
}
...
...
@@ -1015,6 +991,8 @@ namespace VIZ.TVP.CBA.Module.PlayerCompare.ViewModel
if
(
SelectMatchItems
==
null
)
return
;
ScheduleID
=
SetMatchDict
[
SelectMatchItems
];
onAirDataModel
=
JsonModel
.
OnAirData_Path
(
ScheduleID
);
if
(
onAirDataModel
==
null
)
return
;
if
(
onAirDataModel
!=
null
)
{
...
...
VIZ.MIGU.CBA.Module/RoundMatch/ViewModel/RoundMatchViewModel.cs
View file @
f586ae8c
...
...
@@ -10,12 +10,18 @@ using VIZ.TVP.CBA.Module.DayMatch.Model;
using
VIZ.TVP.CBA.Module.RoundMatch.Model
;
using
VIZ.TVP.CBA.Module.TempEnum
;
using
VIZ.TVP.CBA.Domain
;
using
log4net
;
namespace
VIZ.TVP.CBA.Module.RoundMatch.ViewModel
{
public
class
RoundMatchViewModel
:
ViewModelBase
{
/// <summary>
/// 日志
/// </summary>
private
static
ILog
Log
=
LogManager
.
GetLogger
(
typeof
(
RoundMatchViewModel
));
public
RoundMatchViewModel
()
{
RoundMatchs
=
new
ObservableCollection
<
int
>();
...
...
@@ -153,7 +159,7 @@ namespace VIZ.TVP.CBA.Module.RoundMatch.ViewModel
private
void
BtnCmdDataUp
()
{
Log
.
Info
(
"轮次比赛上版信息和数据:"
+
CombineMatchData
());
ApplicationDomainEx
.
VizEngineModel
.
STAGE_START
(
"Default/JRSCBEN"
,
"Data"
,
CombineMatchData
());
}
...
...
@@ -209,6 +215,8 @@ namespace VIZ.TVP.CBA.Module.RoundMatch.ViewModel
public
void
BtnCommand
()
{
var
roundSchedules
=
JsonModel
.
GetGameRound_Path
(
roundMatchItem
.
ToString
());
if
(
roundSchedules
==
null
)
return
;
RoundMatchData
=
new
ObservableCollection
<
RoundSchedule
>();
foreach
(
var
rudData
in
roundSchedules
.
schedulelist
)
...
...
VIZ.MIGU.CBA.Module/SinglePlayer/ViewModel/SinglePlayerViewModel.cs
View file @
f586ae8c
...
...
@@ -17,12 +17,15 @@ using VIZ.TVP.CBA.Module.SeasonData;
using
VIZ.TVP.CBA.Module.OnAirData
;
using
VIZ.TVP.CBA.Module.PlayerCompare.Model
;
using
System.ComponentModel
;
using
log4net
;
namespace
VIZ.TVP.CBA.Module.SinglePlayer.ViewModel
{
public
class
SinglePlayerViewModel
:
ViewModelBase
{
private
static
ILog
Log
=
LogManager
.
GetLogger
(
typeof
(
SinglePlayerViewModel
));
private
static
SinglePlayerViewModel
_createInstance
=
null
;
public
static
SinglePlayerViewModel
CreateInstance
...
...
@@ -38,7 +41,6 @@ namespace VIZ.TVP.CBA.Module.SinglePlayer.ViewModel
}
public
SinglePlayerViewModel
()
{
...
...
@@ -191,9 +193,6 @@ namespace VIZ.TVP.CBA.Module.SinglePlayer.ViewModel
}
}
private
ObservableCollection
<
int
>
matchStatsIds
;
public
ObservableCollection
<
int
>
MatchStatsIds
...
...
@@ -808,7 +807,9 @@ namespace VIZ.TVP.CBA.Module.SinglePlayer.ViewModel
SetData
();
}
/// <summary>
/// 单个球员数据
/// </summary>
private
void
singleCommand
()
{
if
(
matchStatsId
==
null
)
...
...
@@ -822,11 +823,15 @@ namespace VIZ.TVP.CBA.Module.SinglePlayer.ViewModel
}
else
{
Log
.
Info
(
"单人球员数据:"
+
CombineSingleData
());
ApplicationDomainEx
.
VizEngineModel
.
STAGE_START
(
"Default/DQY"
,
"dqyData"
,
CombineSingleData
());
}
}
/// <summary>
/// mvp球员数据
/// </summary>
private
void
mvpCommand
()
{
if
(
matchStatsId
==
null
)
...
...
@@ -840,17 +845,17 @@ namespace VIZ.TVP.CBA.Module.SinglePlayer.ViewModel
}
else
{
Log
.
Info
(
"MVP球员数据:"
+
CombineSingleData
());
ApplicationDomainEx
.
VizEngineModel
.
STAGE_START
(
"Default/DQY"
,
"dqyData"
,
CombineSingleData
());
}
}
private
ObservableCollection
<
string
>
matchItems
;
/// <summary>
/// 下拉框绑定得赛程详细信息
/// </summary>
private
ObservableCollection
<
string
>
matchItems
;
public
ObservableCollection
<
string
>
MatchItems
{
get
{
return
matchItems
;
}
...
...
@@ -858,12 +863,12 @@ namespace VIZ.TVP.CBA.Module.SinglePlayer.ViewModel
}
private
string
selectMatchItems
;
/// <summary>
/// 选中得赛程信息
/// </summary>
private
string
selectMatchItems
;
public
string
SelectMatchItems
{
get
{
return
selectMatchItems
;
}
...
...
@@ -875,6 +880,9 @@ namespace VIZ.TVP.CBA.Module.SinglePlayer.ViewModel
}
}
/// <summary>
///比赛状态
/// </summary>
private
string
matchStatus
;
public
string
MatchStatus
...
...
@@ -912,12 +920,15 @@ namespace VIZ.TVP.CBA.Module.SinglePlayer.ViewModel
public
Dictionary
<
string
,
string
>
SetMatchDict
=
new
Dictionary
<
string
,
string
>();
/// <summary>
/// 设置单个球员相关的信息
/// </summary>
private
void
SetSingleData
()
{
if
(
SelectMatchItems
==
null
)
return
;
ScheduleID
=
SetMatchDict
[
SelectMatchItems
];
onAirDataModel
=
JsonModel
.
OnAirData_Path
(
ScheduleID
);
if
(
onAirDataModel
==
null
)
return
;
if
(
onAirDataModel
!=
null
)
{
...
...
@@ -972,57 +983,66 @@ namespace VIZ.TVP.CBA.Module.SinglePlayer.ViewModel
private
void
GetSchedule
()
{
MatchItems
=
new
ObservableCollection
<
string
>();
string
date
=
Convert
.
ToDateTime
(
matchDate
).
ToString
(
"yyyy-MM-dd"
);
try
{
MatchItems
=
new
ObservableCollection
<
string
>();
string
date
=
Convert
.
ToDateTime
(
matchDate
).
ToString
(
"yyyy-MM-dd"
);
var
dayschedules
=
JsonModel
.
TomorrowMatch_Path
(
date
);
var
dayschedules
=
JsonModel
.
TomorrowMatch_Path
(
date
);
// matchData.AddRange(dayschedules.dayschedule);
//MatchData = new ObservableCollection<Dayschedule>();
if
(
dayschedules
==
null
)
return
;
if
(
dayschedules
!=
null
)
{
// matchData.AddRange(dayschedules.dayschedule);
//MatchData = new ObservableCollection<Dayschedule>();
//if (dayschedules != null)
//{
dayschedules
.
dayschedule
=
dayschedules
.
dayschedule
.
OrderBy
(
a
=>
Convert
.
ToDateTime
(
a
.
time
)).
ToList
();
}
//
}
SetMatchDict
.
Clear
();
MatchItems
.
Clear
();
SetMatchDict
.
Clear
();
MatchItems
.
Clear
();
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"
)
foreach
(
var
dayschedule
in
dayschedules
.
dayschedule
)
{
dayschedule
.
Status
=
"延期"
;
}
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
=
"延期"
;
}
if
(!
SetMatchDict
.
ContainsKey
(
dayschedule
.
time
+
dayschedule
.
HomeTeamName
+
"VS"
+
dayschedule
.
VisitingTeamName
))
{
SetMatchDict
.
Add
(
dayschedule
.
time
+
dayschedule
.
HomeTeamName
+
"VS"
+
dayschedule
.
VisitingTeamName
,
dayschedule
.
ScheduleID
);
}
if
(!
SetMatchDict
.
ContainsKey
(
dayschedule
.
time
+
dayschedule
.
HomeTeamName
+
"VS"
+
dayschedule
.
VisitingTeamName
))
{
SetMatchDict
.
Add
(
dayschedule
.
time
+
dayschedule
.
HomeTeamName
+
"VS"
+
dayschedule
.
VisitingTeamName
,
dayschedule
.
ScheduleID
);
}
Matchtypeid
=
dayschedule
.
ScheduleTypeID
;
Matchtypeid
=
dayschedule
.
ScheduleTypeID
;
MatchItems
.
Add
(
dayschedule
.
time
+
dayschedule
.
HomeTeamName
+
"VS"
+
dayschedule
.
VisitingTeamName
);
MatchItems
.
Add
(
dayschedule
.
time
+
dayschedule
.
HomeTeamName
+
"VS"
+
dayschedule
.
VisitingTeamName
);
}
}
catch
(
Exception
ex
)
{
Log
.
Error
(
ex
.
Message
);
}
}
...
...
@@ -1032,60 +1052,72 @@ namespace VIZ.TVP.CBA.Module.SinglePlayer.ViewModel
/// <summary>
/// 获得赛季数据
/// </summary>
private
void
GetSeasonData
()
{
PlayerSeasonData
=
JsonModel
.
PlayerSeasonData_Path
(
Matchtypeid
);
try
{
PlayerSeasonData
=
JsonModel
.
PlayerSeasonData_Path
(
Matchtypeid
);
TeamSeasonData
=
JsonModel
.
TeamSeasonData_Path
(
Matchtypeid
);
TeamSeasonData
=
JsonModel
.
TeamSeasonData_Path
(
Matchtypeid
);
if
(
PlayerSeasonData
==
null
)
return
;
CNAliasPlayerSportsDictionary
.
Clear
();
foreach
(
var
tempSeasonData
in
PlayerSeasonData
.
playerstats
)
{
Dictionary
<
string
,
string
>
CompareItemToNumber
=
new
Dictionary
<
string
,
string
>();
CNAliasPlayerSportsDictionary
.
Clear
();
foreach
(
var
tempSeasonData
in
PlayerSeasonData
.
playerstats
)
{
Dictionary
<
string
,
string
>
CompareItemToNumber
=
new
Dictionary
<
string
,
string
>();
CompareItemToNumber
.
Add
(
"得分"
,
tempSeasonData
.
PointsAverage
);
CompareItemToNumber
.
Add
(
"篮板"
,
tempSeasonData
.
ReboundsAverage
);
CompareItemToNumber
.
Add
(
"助攻"
,
tempSeasonData
.
AssistsAverage
);
CompareItemToNumber
.
Add
(
"抢断"
,
tempSeasonData
.
StealsAverage
);
CompareItemToNumber
.
Add
(
"盖帽"
,
tempSeasonData
.
BlockedAverage
);
CompareItemToNumber
.
Add
(
"上场时间"
,
tempSeasonData
.
MinutesAverage
);
CompareItemToNumber
.
Add
(
"投篮命中率"
,
(
tempSeasonData
.
FieldGoalsPercentageAverage
).
ToString
(
"F1"
)
+
"%"
);
CompareItemToNumber
.
Add
(
"两分命中率"
,
(
tempSeasonData
.
TwoPointPercentageAverage
).
ToString
(
"F1"
)
+
"%"
);
CompareItemToNumber
.
Add
(
"得分"
,
tempSeasonData
.
PointsAverage
);
CompareItemToNumber
.
Add
(
"篮板"
,
tempSeasonData
.
ReboundsAverage
);
CompareItemToNumber
.
Add
(
"助攻"
,
tempSeasonData
.
AssistsAverage
);
CompareItemToNumber
.
Add
(
"抢断"
,
tempSeasonData
.
StealsAverage
);
CompareItemToNumber
.
Add
(
"盖帽"
,
tempSeasonData
.
BlockedAverage
);
CompareItemToNumber
.
Add
(
"上场时间"
,
tempSeasonData
.
MinutesAverage
);
CompareItemToNumber
.
Add
(
"投篮命中率"
,
(
tempSeasonData
.
FieldGoalsPercentageAverage
).
ToString
(
"F1"
)
+
"%"
);
CompareItemToNumber
.
Add
(
"两分命中率"
,
(
tempSeasonData
.
TwoPointPercentageAverage
).
ToString
(
"F1"
)
+
"%"
);
CompareItemToNumber
.
Add
(
"三分命中率"
,
(
tempSeasonData
.
ThreePointPercentageAverage
).
ToString
(
"F1"
)
+
"%"
);
CompareItemToNumber
.
Add
(
"罚球命中率"
,
(
tempSeasonData
.
FreeThrowsPercentageAverage
).
ToString
(
"F1"
)
+
"%"
);
CompareItemToNumber
.
Add
(
"篮下投篮命中率"
,
(
tempSeasonData
.
FieldGoalsAtRimPercentageAverage
*
100
).
ToString
(
"F1"
)
+
"%"
);
CompareItemToNumber
.
Add
(
"中距离投篮命中率"
,
(
tempSeasonData
.
FieldGoalsMidRangePercentageAverage
*
100
).
ToString
(
"F1"
)
+
"%"
);
CompareItemToNumber
.
Add
(
"三分"
,
tempSeasonData
.
ThreePointGoalsAverage
+
"/"
+
tempSeasonData
.
ThreePointAttemptedAverage
);
CompareItemToNumber
.
Add
(
"三分命中率"
,
(
tempSeasonData
.
ThreePointPercentageAverage
).
ToString
(
"F1"
)
+
"%"
);
CompareItemToNumber
.
Add
(
"罚球命中率"
,
(
tempSeasonData
.
FreeThrowsPercentageAverage
).
ToString
(
"F1"
)
+
"%"
);
CompareItemToNumber
.
Add
(
"篮下投篮命中率"
,
(
tempSeasonData
.
FieldGoalsAtRimPercentageAverage
*
100
).
ToString
(
"F1"
)
+
"%"
);
CompareItemToNumber
.
Add
(
"中距离投篮命中率"
,
(
tempSeasonData
.
FieldGoalsMidRangePercentageAverage
*
100
).
ToString
(
"F1"
)
+
"%"
);
CompareItemToNumber
.
Add
(
"三分"
,
tempSeasonData
.
ThreePointGoalsAverage
+
"/"
+
tempSeasonData
.
ThreePointAttemptedAverage
);
CompareItemToNumber
.
Add
(
"两分"
,
tempSeasonData
.
TwoPointGoalsAverage
+
"/"
+
tempSeasonData
.
TwoPointAttemptedAverage
);
CompareItemToNumber
.
Add
(
"两分"
,
tempSeasonData
.
TwoPointGoalsAverage
+
"/"
+
tempSeasonData
.
TwoPointAttemptedAverage
);
CompareItemToNumber
.
Add
(
"两分区"
,
tempSeasonData
.
TwoPointGoalsAverage
+
"/"
+
tempSeasonData
.
TwoPointAttemptedAverage
);
CompareItemToNumber
.
Add
(
"三分区"
,
tempSeasonData
.
ThreePointGoalsAverage
+
"/"
CompareItemToNumber
.
Add
(
"两分区"
,
tempSeasonData
.
TwoPointGoalsAverage
+
"/"
+
tempSeasonData
.
TwoPointAttemptedAverage
);
CompareItemToNumber
.
Add
(
"三分区"
,
tempSeasonData
.
ThreePointGoalsAverage
+
"/"
+
tempSeasonData
.
ThreePointAttemptedAverage
);
//CompareItemToNumber.Add("ThreeArea",);
+
tempSeasonData
.
ThreePointAttemptedAverage
);
//CompareItemToNumber.Add("ThreeArea",);
CompareItemToNumber
.
Add
(
"罚球"
,
tempSeasonData
.
FreeThrowsAverage
+
"/"
+
tempSeasonData
.
FreeThrowsAttemptedAverage
);
CompareItemToNumber
.
Add
(
"失误"
,
tempSeasonData
.
TurnoversAverage
);
CompareItemToNumber
.
Add
(
"罚球"
,
tempSeasonData
.
FreeThrowsAverage
+
"/"
+
tempSeasonData
.
FreeThrowsAttemptedAverage
);
CompareItemToNumber
.
Add
(
"失误"
,
tempSeasonData
.
TurnoversAverage
);
if
(!
CNAliasPlayerSportsDictionary
.
ContainsKey
(
tempSeasonData
.
CNAlias
))
{
CNAliasPlayerSportsDictionary
.
Add
(
tempSeasonData
.
CNAlias
,
CompareItemToNumber
);
}
if
(!
CNAliasPlayerSportsDictionary
.
ContainsKey
(
tempSeasonData
.
CNAlias
))
{
CNAliasPlayerSportsDictionary
.
Add
(
tempSeasonData
.
CNAlias
,
CompareItemToNumber
);
}
}
catch
(
Exception
ex
)
{
Log
.
Error
(
ex
.
Message
);
}
}
/// <summary>
/// 组装数据
/// </summary>
/// <returns></returns>
private
string
CombineSingleData
()
{
string
data
=
""
;
...
...
@@ -1113,18 +1145,23 @@ namespace VIZ.TVP.CBA.Module.SinglePlayer.ViewModel
return
data
;
}
/// <summary>
/// 上MVP球员数据
/// </summary>
/// <returns></returns>
private
string
CombineMVPData
()
{
string
data
=
""
;
return
data
;
}
/// <summary>
/// 刷新数据
/// </summary>
private
void
BtnCommand
()
{
onAirDataModel
=
JsonModel
.
OnAirData_Path
(
ScheduleID
);
if
(
onAirDataModel
==
null
)
return
;
MvpHomePlayerCompareNumDictionary
.
Clear
();
MvpVisitPlayerCompareNumDictionary
.
Clear
();
// PlayerItems = new System.Collections.ObjectModel.ObservableCollection<string>();
...
...
@@ -1245,7 +1282,9 @@ namespace VIZ.TVP.CBA.Module.SinglePlayer.ViewModel
}
/// <summary>
/// 设置数据得分
/// </summary>
private
void
SetData
()
{
...
...
VIZ.MIGU.CBA.Module/TeamStandings/ViewModel/TeamStandingViewModel.cs
View file @
f586ae8c
...
...
@@ -9,13 +9,20 @@ using VIZ.TVP.CBA.Module.Common;
using
VIZ.TVP.CBA.Module.DayMatch.Model
;
using
VIZ.TVP.CBA.Module.TeamStandings.Model
;
using
VIZ.TVP.CBA.Domain
;
using
log4net
;
namespace
VIZ.TVP.CBA.Module.TeamStandings.ViewModel
{
public
class
TeamStandingViewModel
:
ViewModelBase
{
/// <summary>
/// 日志
/// </summary>
private
static
ILog
Log
=
LogManager
.
GetLogger
(
typeof
(
TeamStandingViewModel
));
/// <summary>
/// 球队排名初始化排名
/// </summary>
public
TeamStandingViewModel
()
{
//TeamRanksModel = new ObservableCollection<Model.Teamrank>()
...
...
@@ -143,7 +150,7 @@ namespace VIZ.TVP.CBA.Module.TeamStandings.ViewModel
private
void
BtmCommand
()
{
var
teamStands
=
JsonModel
.
TeamScoreData_Path
();
if
(
teamStands
==
null
)
return
;
TeamRanksModel
=
new
ObservableCollection
<
Teamrank
>();
int
i
=
1
;
foreach
(
var
teamRank
in
teamStands
.
teamrank
)
...
...
@@ -174,6 +181,7 @@ namespace VIZ.TVP.CBA.Module.TeamStandings.ViewModel
{
if
(
TeamRanksModel
!=
null
)
{
Log
.
Info
(
"球队排名上版信息和数据:"
+
CombineTeamStandingData
());
ApplicationDomainEx
.
VizEngineModel
.
STAGE_START
(
"Default/JFB"
,
"Data"
,
CombineTeamStandingData
());
}
}
...
...
VIZ.MIGU.CBA.Module/TeamStats/Model/MatchStatsNumbers.cs
View file @
f586ae8c
...
...
@@ -10,15 +10,18 @@ using VIZ.TVP.CBA.Module.TempEnum;
namespace
VIZ.TVP.CBA.Module.TeamStats.Model
{
/// <summary>
/// 技术统计类
/// </summary>
public
class
MatchStatsNumbers
:
ViewModelBase
{
// public string HomeName { get; set; }
/// <summary>
/// 主队得分
/// </summary>
private
string
homeScore
;
public
string
HomeScore
...
...
@@ -28,7 +31,9 @@ namespace VIZ.TVP.CBA.Module.TeamStats.Model
set
{
homeScore
=
value
;
this
.
RaisePropertiesChanged
(
nameof
(
HomeScore
));
}
}
/// <summary>
/// 主队赛季得分
/// </summary>
private
string
hSeasonScore
;
public
string
HSeasonScore
{
...
...
@@ -40,7 +45,9 @@ namespace VIZ.TVP.CBA.Module.TeamStats.Model
//public string AwayName { get; set; }
/// <summary>
/// 客场得分
/// </summary>
private
string
awayScore
;
public
string
AwayScore
{
...
...
@@ -49,7 +56,9 @@ namespace VIZ.TVP.CBA.Module.TeamStats.Model
}
/// <summary>
/// 客场赛季得分
/// </summary>
private
string
aSeasonScore
;
public
string
ASeasonScore
{
...
...
@@ -68,7 +77,9 @@ namespace VIZ.TVP.CBA.Module.TeamStats.Model
set
{
light
=
value
;
this
.
RaisePropertiesChanged
(
nameof
(
Light
));
}
}
/// <summary>
/// 技术统计
/// </summary>
private
TechStats
techStats
=
TechStats
.
Goal
;
...
...
@@ -78,7 +89,9 @@ namespace VIZ.TVP.CBA.Module.TeamStats.Model
set
{
techStats
=
value
;
this
.
RaisePropertiesChanged
(
nameof
(
TechStats
));
}
}
/// <summary>
/// 选中行是否高亮
/// </summary>
private
string
selectLight
=
"不高亮"
;
public
string
SelectLight
{
...
...
@@ -86,7 +99,9 @@ namespace VIZ.TVP.CBA.Module.TeamStats.Model
set
{
selectLight
=
value
;
this
.
RaisePropertyChanged
(
nameof
(
SelectLight
));
}
}
/// <summary>
/// 技术统计名称
/// </summary>
private
string
techStatsName
;
public
string
TechStatsName
{
...
...
VIZ.MIGU.CBA.Module/TeamStats/ViewModel/TeamStatsViewModel.cs
View file @
f586ae8c
...
...
@@ -15,12 +15,15 @@ using VIZ.TVP.CBA.Domain;
using
VIZ.TVP.CBA.Module.SeasonData
;
using
VIZ.TVP.CBA.Module.OnAirData
;
using
System.ComponentModel
;
using
log4net
;
namespace
VIZ.TVP.CBA.Module.TeamStats.ViewModel
{
public
class
TeamStatsViewModel
:
ViewModelBase
{
private
static
ILog
Log
=
LogManager
.
GetLogger
(
typeof
(
TeamStatsViewModel
));
private
static
TeamStatsViewModel
_createInstance
=
null
;
public
static
TeamStatsViewModel
CreateInstance
...
...
@@ -35,8 +38,6 @@ namespace VIZ.TVP.CBA.Module.TeamStats.ViewModel
}
}
public
TeamStatsViewModel
()
{
BtnCommand
=
new
VCommand
(
BtnCmd
);
...
...
@@ -233,10 +234,14 @@ namespace VIZ.TVP.CBA.Module.TeamStats.ViewModel
/// </summary>
public
TeamSeasonData
TeamSeasonData
=
new
TeamSeasonData
();
/// <summary>
/// 实时直播数据
/// </summary>
public
OnAirDataModel
onAirDataModel
=
new
OnAirDataModel
();
/// <summary>
/// 技术统计项
/// </summary>
private
string
matchStatsId
;
public
string
MatchStatsId
...
...
@@ -446,6 +451,8 @@ namespace VIZ.TVP.CBA.Module.TeamStats.ViewModel
{
//CombineTeamComData();
Log
.
Info
(
"球队对比数据:"
+
CombineTeamComData
());
ApplicationDomainEx
.
VizEngineModel
.
STAGE_START
(
"Default/SQD"
,
"dqyData"
,
CombineTeamComData
());
}
...
...
@@ -522,7 +529,7 @@ namespace VIZ.TVP.CBA.Module.TeamStats.ViewModel
private
void
BtnCmd
()
{
onAirDataModel
=
JsonModel
.
OnAirData_Path
(
ScheduleID
);
if
(
onAirDataModel
==
null
)
return
;
Utils
.
SetHomeTeamDictionary
(
this
);
Utils
.
SetVisitTeamDictionary
(
this
);
Utils
.
SetHData
(
this
);
...
...
@@ -537,6 +544,7 @@ namespace VIZ.TVP.CBA.Module.TeamStats.ViewModel
ScheduleID
=
SetMatchDict
[
SelectMatchItems
];
onAirDataModel
=
JsonModel
.
OnAirData_Path
(
ScheduleID
);
if
(
onAirDataModel
==
null
)
return
;
if
(
onAirDataModel
!=
null
)
{
...
...
@@ -564,6 +572,7 @@ namespace VIZ.TVP.CBA.Module.TeamStats.ViewModel
AwayTeam
=
onAirDataModel
.
liveTeamInfo
.
VisitingTeamCNAlias
;
TeamSeasonData
=
JsonModel
.
TeamSeasonData_Path
(
Matchtypeid
);
SetTeamSeasonDictionary
();
Utils
.
SetHomeTeamDictionary
(
this
);
...
...
@@ -574,12 +583,13 @@ namespace VIZ.TVP.CBA.Module.TeamStats.ViewModel
}
/// <summary>
/// 设置球队赛季数据字典集合
/// </summary>
private
void
SetTeamSeasonDictionary
()
{
CNAliasVisitSportsDictionary
.
Clear
();
if
(
TeamSeasonData
==
null
)
return
;
foreach
(
var
teamSeasonData
in
TeamSeasonData
.
teamstats
)
{
...
...
@@ -618,57 +628,66 @@ namespace VIZ.TVP.CBA.Module.TeamStats.ViewModel
private
void
GetSchedule
()
{
MatchItems
=
new
ObservableCollection
<
string
>();
string
date
=
Convert
.
ToDateTime
(
matchDate
).
ToString
(
"yyyy-MM-dd"
);
var
dayschedules
=
JsonModel
.
TomorrowMatch_Path
(
date
);
// matchData.AddRange(dayschedules.dayschedule);
//MatchData = new ObservableCollection<Dayschedule>();
try
if
(
dayschedules
!=
null
)
{
dayschedules
.
dayschedule
=
dayschedules
.
dayschedule
.
OrderBy
(
a
=>
Convert
.
ToDateTime
(
a
.
time
)).
ToList
();
}
MatchItems
=
new
ObservableCollection
<
string
>
();
string
date
=
Convert
.
ToDateTime
(
matchDate
).
ToString
(
"yyyy-MM-dd"
);
SetMatchDict
.
Clear
();
MatchItems
.
Clear
();
var
dayschedules
=
JsonModel
.
TomorrowMatch_Path
(
date
);
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
=
"延期"
;
}
if
(!
SetMatchDict
.
ContainsKey
(
dayschedule
.
time
+
dayschedule
.
HomeTeamName
+
"VS"
+
dayschedule
.
VisitingTeamName
))
{
SetMatchDict
.
Add
(
dayschedule
.
time
+
dayschedule
.
HomeTeamName
+
"VS"
+
dayschedule
.
VisitingTeamName
,
dayschedule
.
ScheduleID
);
}
Matchtypeid
=
dayschedule
.
ScheduleTypeID
;
if
(
dayschedules
==
null
)
return
;
// matchData.AddRange(dayschedules.dayschedule);
//MatchData = new ObservableCollection<Dayschedule>();
MatchItems
.
Add
(
dayschedule
.
time
+
dayschedule
.
HomeTeamName
+
"VS"
+
dayschedule
.
VisitingTeamName
);
//if (dayschedules != null)
//{
dayschedules
.
dayschedule
=
dayschedules
.
dayschedule
.
OrderBy
(
a
=>
Convert
.
ToDateTime
(
a
.
time
)).
ToList
();
// }
SetMatchDict
.
Clear
();
MatchItems
.
Clear
();
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
=
"延期"
;
}
if
(!
SetMatchDict
.
ContainsKey
(
dayschedule
.
time
+
dayschedule
.
HomeTeamName
+
"VS"
+
dayschedule
.
VisitingTeamName
))
{
SetMatchDict
.
Add
(
dayschedule
.
time
+
dayschedule
.
HomeTeamName
+
"VS"
+
dayschedule
.
VisitingTeamName
,
dayschedule
.
ScheduleID
);
}
Matchtypeid
=
dayschedule
.
ScheduleTypeID
;
MatchItems
.
Add
(
dayschedule
.
time
+
dayschedule
.
HomeTeamName
+
"VS"
+
dayschedule
.
VisitingTeamName
);
}
}
catch
(
Exception
ex
)
{
Log
.
Error
(
ex
.
Message
);
}
}
...
...
VIZ.MIGU.CBA.Module/VIZ.TVP.CBA.Module.csproj
View file @
f586ae8c
...
...
@@ -95,6 +95,7 @@
<Reference Include="System" />
<Reference Include="System.Configuration" />
<Reference Include="System.Data" />
<Reference Include="System.Net.Http" />
<Reference Include="System.Web" />
<Reference Include="System.Web.Extensions" />
<Reference Include="System.Xml" />
...
...
VIZ.MIGU.CBA/App.xaml.cs
View file @
f586ae8c
...
...
@@ -12,5 +12,11 @@ namespace VIZ.MIGU.CBA
/// </summary>
public
partial
class
App
:
Application
{
public
App
()
{
string
configPath
=
System
.
IO
.
Path
.
Combine
(
AppDomain
.
CurrentDomain
.
BaseDirectory
,
"log.config"
);
log4net
.
Config
.
XmlConfigurator
.
Configure
(
new
System
.
IO
.
FileInfo
(
configPath
));
}
}
}
VIZ.MIGU.CBA/VIZ.MIGU.CBA.csproj
View file @
f586ae8c
...
...
@@ -61,8 +61,13 @@
<Reference Include="DevExpress.Xpf.Core.v22.1" />
<Reference Include="DevExpress.Xpf.Themes.Office2019Colorful.v22.1" />
<Reference Include="DevExpress.Drawing.v22.1" />
<Reference Include="log4net, Version=2.0.14.0, Culture=neutral, PublicKeyToken=669e0ddf0bb1aa2a, processorArchitecture=MSIL">
<HintPath>..\packages\log4net.2.0.14\lib\net45\log4net.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Configuration" />
<Reference Include="System.Data" />
<Reference Include="System.Web" />
<Reference Include="System.Xml" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Core" />
...
...
@@ -114,6 +119,10 @@
<None Include="App.config">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Include="log.config">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="packages.config" />
<None Include="Properties\Settings.settings">
<Generator>SettingsSingleFileGenerator</Generator>
<LastGenOutput>Settings.Designer.cs</LastGenOutput>
...
...
VIZ.MIGU.CBA/log.config
0 → 100644
View file @
f586ae8c
<?
xml
version
=
"1.0"
encoding
=
"utf-8"
?>
<
log4net
>
<
appender
name
=
"errorAppender"
type
=
"log4net.Appender.RollingFileAppender"
>
<
filter
type
=
"log4net.Filter.LevelMatchFilter"
>
<
levelToMatch
value
=
"ERROR"
/>
</
filter
>
<
filter
type
=
"log4net.Filter.DenyAllFilter"
/>
<
file
value
=
"Logs\err.log"
/>
<
encoding
value
=
"utf-8"
/>
<
preserveLogFileNameExtension
value
=
"true"
/>
<
appendToFile
value
=
"true"
/>
<
rollingStyle
value
=
"Date"
/>
<
datePattern
value
=
"yyyyMMdd"
/>
<
layout
type
=
"log4net.Layout.PatternLayout"
>
<
conversionPattern
value
=
"%date [%thread] %-5level %logger - %message%newline"
/>
</
layout
>
</
appender
>
<
appender
name
=
"infoAppender"
type
=
"log4net.Appender.RollingFileAppender"
>
<
filter
type
=
"log4net.Filter.LevelMatchFilter"
>
<
levelToMatch
value
=
"INFO"
/>
</
filter
>
<
filter
type
=
"log4net.Filter.DenyAllFilter"
/>
<
file
value
=
"Logs\info.log"
/>
<
encoding
value
=
"utf-8"
/>
<
preserveLogFileNameExtension
value
=
"true"
/>
<
appendToFile
value
=
"true"
/>
<
rollingStyle
value
=
"Date"
/>
<
datePattern
value
=
"yyyyMMdd"
/>
<
layout
type
=
"log4net.Layout.PatternLayout"
>
<
conversionPattern
value
=
"%date [%thread] %-5level %logger - %message%newline"
/>
</
layout
>
</
appender
>
<
appender
name
=
"debugAppender"
type
=
"log4net.Appender.RollingFileAppender"
>
<
filter
type
=
"log4net.Filter.LevelMatchFilter"
>
<
levelToMatch
value
=
"DEBUG"
/>
</
filter
>
<
filter
type
=
"log4net.Filter.DenyAllFilter"
/>
<
file
value
=
"Logs\debug.log"
/>
<
encoding
value
=
"utf-8"
/>
<
preserveLogFileNameExtension
value
=
"true"
/>
<
appendToFile
value
=
"true"
/>
<
rollingStyle
value
=
"Date"
/>
<
datePattern
value
=
"yyyyMMdd"
/>
<
layout
type
=
"log4net.Layout.PatternLayout"
>
<
conversionPattern
value
=
"%date [%thread] %-5level %logger - %message%newline"
/>
</
layout
>
</
appender
>
<
appender
name
=
"perfAppender"
type
=
"log4net.Appender.RollingFileAppender"
>
<
filter
type
=
"log4net.Filter.LevelMatchFilter"
>
<
levelToMatch
value
=
"INFO"
/>
</
filter
>
<
filter
type
=
"log4net.Filter.DenyAllFilter"
/>
<
file
value
=
"Logs\perf.log"
/>
<
encoding
value
=
"utf-8"
/>
<
preserveLogFileNameExtension
value
=
"true"
/>
<
appendToFile
value
=
"true"
/>
<
rollingStyle
value
=
"Date"
/>
<
datePattern
value
=
"yyyyMMdd"
/>
<
layout
type
=
"log4net.Layout.PatternLayout"
>
<
conversionPattern
value
=
"%date %logger - %message%newline"
/>
</
layout
>
</
appender
>
<
root
>
<
level
value
=
"ALL"
/>
<
appender
-
ref
ref
=
"errorAppender"
/>
<
appender
-
ref
ref
=
"infoAppender"
/>
<
appender
-
ref
ref
=
"debugAppender"
/>
</
root
>
<
logger
name
=
"Performance"
additivity
=
"false"
>
<
level
value
=
"ALL"
/>
<
appender
-
ref
ref
=
"perfAppender"
/>
</
logger
>
</
log4net
>
\ No newline at end of file
VIZ.MIGU.CBA/packages.config
0 → 100644
View file @
f586ae8c
<?
xml
version
=
"1.0"
encoding
=
"utf-8"
?>
<
packages
>
<
package
id
=
"log4net"
version
=
"2.0.14"
targetFramework
=
"net48"
/>
</
packages
>
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment