引导屏对接人流统计相关服务

old
xiaoguo 2 years ago
parent aff67c621e
commit c198fcf920

@ -1,4 +1,5 @@
using Autofac;
using Masuit.Tools;
using System;
using System.Collections.Generic;
using System.Linq;
@ -11,7 +12,6 @@ namespace GuideScreen.Common.Common
public static class DIManager
{
private static IContainer container = null;
/// <summary>
/// 自动注册包含 IDependency 接口的实例
/// </summary>
@ -35,9 +35,8 @@ namespace GuideScreen.Common.Common
/* 3
* CLR COMAppDomain AppDomain
*/
//var assemblies = AppDomain.CurrentDomain.GetAssemblies();//这种写法AppDomain重新启动后会丢失程序集
var assemblies = Assembly.GetAssembly(baseType);
var assemblies = AppDomain.CurrentDomain.GetAssemblies();//这种写法AppDomain重新启动后会丢失程序集
//var assemblies = Assembly.GetAssembly(baseType);
/* 4
*
* IsAssignableFromtrueIDependency
@ -47,6 +46,9 @@ namespace GuideScreen.Common.Common
*/
builder.RegisterAssemblyTypes(assemblies).Where(type => baseType.IsAssignableFrom(type) && !type.IsAbstract).AsImplementedInterfaces().SingleInstance();
//注册 命名空间以"GuideScreen" 开头的 类名以"Controller" 结尾的类型
builder.RegisterAssemblyTypes(assemblies).Where(type => !type.Namespace.IsNullOrEmpty() && type.Namespace.StartsWith("GuideScreen") && type.Name.EndsWith("Controller") && !type.IsAbstract).SingleInstance();
/*5MVCapi
*/
//builder.RegisterControllers(Assembly.GetExecutingAssembly());

@ -31,5 +31,45 @@ namespace GuideScreen.Common.Common
/// 日期保留天数
/// </summary>
LogRetentionDays,
/// <summary>
/// 获取气象 key
/// </summary>
WeatherKey,
/// <summary>
/// 获取气象 地区编号
/// </summary>
WeatherLocation,
/// <summary>
/// 客流统计设备IP地址
/// </summary>
PassengerFlowDeviceIP,
/// <summary>
/// 客流统计设备端口
/// </summary>
PassengerFlowDevicePort,
/// <summary>
/// 客流统计设备登录用户名
/// </summary>
PassengerFlowDeviceLoginUser,
/// <summary>
/// 客流统计设备登录用户密码
/// </summary>
PassengerFlowDeviceLoginPassword,
/// <summary>
/// 客流统计监控IP地址
/// </summary>
PassengerFlowListenIP,
/// <summary>
/// 客流统计监控端口号
/// </summary>
PassengerFlowListenPort,
}
}

@ -0,0 +1,86 @@
using System;
using System.Collections.Generic;
using System.IO.Compression;
using System.IO;
using System.Linq;
using System.Net;
using System.Text;
using System.Threading.Tasks;
namespace GuideScreen.Common.Common
{
public class WebClientHelper
{
/// <summary>
/// 获取webAPI 数据
/// </summary>
/// <param name="url"></param>
/// <returns></returns>
public static string GetWebClient(string url)
{
string str = string.Empty;
try
{
using (WebClient clinet = new WebClient())
{
var bytes = clinet.DownloadData(url);
str = GzipDecompress(bytes);
return str;
}
}
catch (Exception ex)
{
ex.WriteErrorLog();
}
return str;
}
/// <summary>
/// 获取webAPI 数据 异步
/// </summary>
/// <param name="url"></param>
/// <returns></returns>
public static async Task<string> GetWebClientAsync(string url)
{
string str = string.Empty;
try
{
using (WebClient clinet = new WebClient())
{
var bytes = await clinet.DownloadDataTaskAsync(url);
str = GzipDecompress(bytes);
return str;
}
}
catch (Exception ex)
{
ex.WriteErrorLog();
}
return str;
}
/// <summary>
/// GZip 解压
/// </summary>
/// <param name="bytes"></param>
/// <returns></returns>
private static string GzipDecompress(byte[] bytes)
{
string retValue = string.Empty;
using (MemoryStream stream = new MemoryStream(bytes))
{
byte[] byte1 = new byte[bytes.Length];
using (GZipStream gzip = new GZipStream(stream, CompressionMode.Decompress, true))
{
StreamReader streamR = new StreamReader(gzip, Encoding.UTF8);
retValue = streamR.ReadToEnd();
}
}
return retValue;
}
}
}

@ -53,6 +53,9 @@
<Reference Include="Microsoft.Bcl.AsyncInterfaces, Version=1.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Bcl.AsyncInterfaces.1.1.0\lib\net461\Microsoft.Bcl.AsyncInterfaces.dll</HintPath>
</Reference>
<Reference Include="Newtonsoft.Json, Version=13.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
<HintPath>..\packages\Newtonsoft.Json.13.0.2\lib\net45\Newtonsoft.Json.dll</HintPath>
</Reference>
<Reference Include="SQLite.CodeFirst, Version=1.7.0.34, Culture=neutral, PublicKeyToken=eb96ba0a78d831a7, processorArchitecture=MSIL">
<HintPath>..\packages\SQLite.CodeFirst.1.7.0.34\lib\net45\SQLite.CodeFirst.dll</HintPath>
</Reference>
@ -103,6 +106,7 @@
<Compile Include="Common\PLCPointConstants.cs" />
<Compile Include="Common\PLCResult.cs" />
<Compile Include="Common\SystemConfigKey.cs" />
<Compile Include="Common\WebClientHelper.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="Repositories\Entities\GSDBContext.cs" />
<Compile Include="Repositories\Entities\MenuEntity.cs" />
@ -116,14 +120,18 @@
<Compile Include="SDK\Monitoring\CHCNetSDK.cs" />
<Compile Include="Services\ILogService.cs" />
<Compile Include="Services\Impl\LogService.cs" />
<Compile Include="Services\Impl\PassengerFlowStatisticsDataService.cs" />
<Compile Include="Services\Impl\PassengerFlowStatisticsService.cs" />
<Compile Include="Services\Impl\PLCCommunicationService.cs" />
<Compile Include="Services\Impl\PLCControllerService.cs" />
<Compile Include="Services\Impl\SystemService.cs" />
<Compile Include="Services\Impl\WeatherService.cs" />
<Compile Include="Services\IPassengerFlowStatisticsDataService.cs" />
<Compile Include="Services\IPassengerFlowStatisticsService.cs" />
<Compile Include="Services\IPLCCommunicationService.cs" />
<Compile Include="Services\IPLCControllerService.cs" />
<Compile Include="Services\ISystemService.cs" />
<Compile Include="Services\IWeatherService.cs" />
<Compile Include="Services\Models\LogInfoModel.cs" />
<Compile Include="Services\Models\MainWindowModel.cs" />
<Compile Include="Services\Models\MenuModel.cs" />
@ -132,6 +140,9 @@
<Compile Include="Services\Models\PassengerFlowStatisticsModel.cs" />
<Compile Include="Services\Models\PassengerFlowStatisticsTotalModel.cs" />
<Compile Include="Services\Models\SystemConfigModel.cs" />
<Compile Include="Services\Models\WeatherAirModel.cs" />
<Compile Include="Services\Models\WeatherLevelModel.cs" />
<Compile Include="Services\Models\WeatherModel.cs" />
</ItemGroup>
<ItemGroup>
<Content Include="SDK\HslCommunication.dll" />
@ -166,6 +177,9 @@
<None Include="SDK\Monitoring\HCNetSDKCom\HCGeneralCfgMgr.lib" />
<None Include="SDK\Monitoring\HCNetSDKCom\HCPreview.lib" />
</ItemGroup>
<ItemGroup>
<WCFMetadata Include="Connected Services\" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
<PropertyGroup>

@ -95,14 +95,38 @@ namespace GuideScreen.Common.Repositories
//初始化系統参数
var plcIPAddress = new SystemConfigEntity { ConfigName = "PLC通信IP地址", ConfigKey = SystemConfigKeys.PLCAddress.ToString(), ConfigValue = "192.168.1.3", Enabled = true };
var plcPort = new SystemConfigEntity { ConfigName = "PLC通信端口", ConfigKey = SystemConfigKeys.PLCPort.ToString(), ConfigValue = "502", Enabled = true };
var adminPassword = new SystemConfigEntity { ConfigName = "管理员密码", ConfigKey = SystemConfigKeys.AdminPwd.ToString(), ConfigValue = "6543210", Enabled = true };
var logRetention = new SystemConfigEntity { ConfigName = "日志保留天数", ConfigKey = SystemConfigKeys.LogRetentionDays.ToString(), ConfigValue = "30", Enabled = true };
var weatherKey = new SystemConfigEntity { ConfigName = "气象信息key", ConfigKey = SystemConfigKeys.WeatherKey.ToString(), ConfigValue = "3ac6b1fdfcc74db7a1e9b94fc5647361", Enabled = true };
var weatherLocation = new SystemConfigEntity { ConfigName = "气象区域编号", ConfigKey = SystemConfigKeys.WeatherLocation.ToString(), ConfigValue = "101250301", Remarks = "株洲", Enabled = true };
var passengerFlowDeviceIP = new SystemConfigEntity { ConfigName = "客流统计设备IP地址", ConfigKey = SystemConfigKeys.PassengerFlowDeviceIP.ToString(), ConfigValue = "192.168.1.64", Enabled = true };
var passengerFlowDevicePort = new SystemConfigEntity { ConfigName = "客流统计设备端口", ConfigKey = SystemConfigKeys.PassengerFlowDevicePort.ToString(), ConfigValue = "8000", Enabled = true };
var passengerFlowDeviceLoginUser = new SystemConfigEntity { ConfigName = "客流统计设备登录用户名", ConfigKey = SystemConfigKeys.PassengerFlowDeviceLoginUser.ToString(), ConfigValue = "admin", Enabled = true };
var passengerFlowDeviceLoginPassword = new SystemConfigEntity { ConfigName = "客流统计设备登录用户密码", ConfigKey = SystemConfigKeys.PassengerFlowDeviceLoginPassword.ToString(), ConfigValue = "1q@w3e$r", Enabled = true };
var passengerFlowListenIP = new SystemConfigEntity { ConfigName = "客流统计监控IP地址", ConfigKey = SystemConfigKeys.PassengerFlowListenIP.ToString(), ConfigValue = "192.168.1.100", Remarks="本地IP地址与摄像头所在网络",Enabled = true };
var passengerFlowListenPort = new SystemConfigEntity { ConfigName = "客流统计监控端口号", ConfigKey = SystemConfigKeys.PassengerFlowListenPort.ToString(), ConfigValue = "7200", Enabled = true };
context.SystemConfigEntities.AddRange(new SystemConfigEntity[]
{
plcIPAddress,
plcPort,
adminPassword,
logRetention,
weatherKey,
weatherLocation,
passengerFlowDeviceIP,
passengerFlowDevicePort,
passengerFlowDeviceLoginUser,
passengerFlowDeviceLoginPassword,
passengerFlowListenIP,
passengerFlowListenPort,
});
context.SaveChanges();
}

@ -52,5 +52,11 @@ namespace GuideScreen.Common.Repositories
/// <param name="date"></param>
/// <returns></returns>
List<PassengerFlowStatisticsTotalModel> GetPassengerFlowStatisticsWeekTotal(DateTime date);
/// <summary>
/// 获取客流总统计 (只获取进入的数量)
/// </summary>
/// <returns></returns>
int GetPassengerFlowStatisticsTotal();
}
}

@ -193,6 +193,23 @@ namespace GuideScreen.Common.Repositories.Impl
}
}
/// <summary>
/// 获取客流总统计 (只获取进入的数量)
/// </summary>
/// <returns></returns>
public int GetPassengerFlowStatisticsTotal()
{
using (var context=GSDBContext.GetDbContext())
{
if (context.PassengerFlowStatisticsDayEntites.Count() == 0)
{
return 0;
}
var total = context.PassengerFlowStatisticsDayEntites.Select(f=>f.EnterNum).Sum();
return total;
}
}
private string ConvertDayOfWeek(DayOfWeek dayOfWeek)
{
var value = string.Empty;

@ -0,0 +1,64 @@
using GuideScreen.Common.Common;
using GuideScreen.Common.Services.Models;
using GuideScreen.SDK.Monitoring;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Runtime.InteropServices;
using System.Text;
using System.Threading.Tasks;
using static GuideScreen.SDK.Monitoring.CHCNetSDK;
namespace GuideScreen.Common.Services
{
/// <summary>
/// 客流统计服务 接口
/// </summary>
public interface IPassengerFlowStatisticsDataService : IDependency
{
/// <summary>
/// 获取每日客流信息
/// </summary>
/// <param name="begDate"></param>
/// <param name="endDate"></param>
/// <param name="pageSize"></param>
/// <param name="pageIndex"></param>
PageModel<List<PassengerFlowStatisticsDayModel>> GetPassengerFlowStatisticsDayList(DateTime begDate, DateTime endDate, int pageSize, int pageIndex);
/// <summary>
/// 获取客流明细信息
/// </summary>
/// <param name="begDate"></param>
/// <param name="endDate"></param>
/// <param name="pageSize"></param>
/// <param name="pageIndex"></param>
PageModel<List<PassengerFlowStatisticsModel>> GetPassengerFlowStatisticsList(DateTime begDate, DateTime endDate, int pageSize, int pageIndex);
/// <summary>
/// 添加客流信息
/// </summary>
/// <param name="entity"></param>
void AddPassengerFlowStatistics(PassengerFlowStatisticsModel entity);
/// <summary>
/// 获取当天客流量统计
/// </summary>
/// <param name="date"></param>
/// <returns></returns>
PassengerFlowStatisticsDayModel GetPassengerFlowStatisticsDayTotal(DateTime date);
/// <summary>
/// 获取周客流量统计
/// </summary>
/// <param name="date"></param>
/// <returns></returns>
List<PassengerFlowStatisticsTotalModel> GetPassengerFlowStatisticsWeekTotal(DateTime date);
/// <summary>
/// 获取客流量总统计 (只获取进入如数量)
/// </summary>
/// <returns></returns>
int GetPassengerFlowStatisticsTotal();
}
}

@ -19,8 +19,6 @@ namespace GuideScreen.Common.Services
{
event EventHandler<PassengerFlowStatisticsModel> ActionEvent;
event EventHandler<string> ExceptionEvent;
/// <summary>
/// 视频设备SDK初始化
@ -67,44 +65,7 @@ namespace GuideScreen.Common.Services
/// <summary>
/// 关闭监听
/// </summary>
void CloseListen(string ListenIpAddress);
void CloseListen();
/// <summary>
/// 获取每日客流信息
/// </summary>
/// <param name="begDate"></param>
/// <param name="endDate"></param>
/// <param name="pageSize"></param>
/// <param name="pageIndex"></param>
PageModel<List<PassengerFlowStatisticsDayModel>> GetPassengerFlowStatisticsDayList(DateTime begDate, DateTime endDate, int pageSize, int pageIndex);
/// <summary>
/// 获取客流明细信息
/// </summary>
/// <param name="begDate"></param>
/// <param name="endDate"></param>
/// <param name="pageSize"></param>
/// <param name="pageIndex"></param>
PageModel<List<PassengerFlowStatisticsModel>> GetPassengerFlowStatisticsList(DateTime begDate, DateTime endDate, int pageSize, int pageIndex);
/// <summary>
/// 添加客流信息
/// </summary>
/// <param name="entity"></param>
void AddPassengerFlowStatistics(PassengerFlowStatisticsModel entity);
/// <summary>
/// 获取当天客流量统计
/// </summary>
/// <param name="date"></param>
/// <returns></returns>
PassengerFlowStatisticsDayModel GetPassengerFlowStatisticsDayTotal(DateTime date);
/// <summary>
/// 获取周客流量统计
/// </summary>
/// <param name="date"></param>
/// <returns></returns>
List<PassengerFlowStatisticsTotalModel> GetPassengerFlowStatisticsWeekTotal(DateTime date);
}
}

@ -0,0 +1,41 @@
using GuideScreen.Common.Common;
using GuideScreen.Common.Models;
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace GuideScreen.Common.Services
{
/// <summary>
/// 气象服务
/// </summary>
public interface IWeatherService : IDependency
{
/// <summary>
/// 获取城市实时天气
/// </summary>
/// <param name="location">城市编号</param>
/// <param name="key"></param>
/// <returns></returns>
Task<WeatherModel> GetWeatherNowAsync(string location, string key);
/// <summary>
/// 获取城市天气质量
/// </summary>
/// <param name="location">城市编号</param>
/// <param name="key"></param>
/// <returns></returns>
Task<WeatherAirModel> GetWeatherAirAsync(string location, string key);
/// <summary>
/// 获取城市天气指数
/// </summary>
/// <param name="location">城市编号</param>
/// <param name="key"></param>
/// <returns></returns>
Task<WeatherLevelModel> GetWeatherIndicesAsync(string location, string key);
}
}

@ -0,0 +1,97 @@
using GuideScreen.Common.Common;
using GuideScreen.Common.Repositories;
using GuideScreen.Common.Repositories.Impl;
using GuideScreen.Common.Services.Models;
using GuideScreen.SDK.Monitoring;
using System;
using System.Collections.Generic;
using System.Diagnostics.Tracing;
using System.IO;
using System.Linq;
using System.Runtime.InteropServices;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Input;
using static GuideScreen.SDK.Monitoring.CHCNetSDK;
namespace GuideScreen.Common.Services.Impl
{
/// <summary>
/// 客流统计服务 实现
/// </summary>
internal class PassengerFlowStatisticsDataService : IPassengerFlowStatisticsDataService
{
private IPassengerFlowStatisticsRepository passengerFlowStatisticsRepository;
public PassengerFlowStatisticsDataService(IPassengerFlowStatisticsRepository repository)
{
passengerFlowStatisticsRepository = repository;
}
/// <summary>
/// 获取每日客流信息
/// </summary>
/// <param name="begDate"></param>
/// <param name="endDate"></param>
/// <param name="pageSize"></param>
/// <param name="pageIndex"></param>
public PageModel<List<PassengerFlowStatisticsDayModel>> GetPassengerFlowStatisticsDayList(DateTime begDate, DateTime endDate, int pageSize, int pageIndex)
{
var pageModel = passengerFlowStatisticsRepository.GetPassengerFlowStatisticsDayList(begDate, endDate, pageSize, pageIndex);
return pageModel;
}
/// <summary>
/// 获取客流明细信息
/// </summary>
/// <param name="begDate"></param>
/// <param name="endDate"></param>
/// <param name="pageSize"></param>
/// <param name="pageIndex"></param>
public PageModel<List<PassengerFlowStatisticsModel>> GetPassengerFlowStatisticsList(DateTime begDate, DateTime endDate, int pageSize, int pageIndex)
{
var pageModel = passengerFlowStatisticsRepository.GetPassengerFlowStatisticsList(begDate, endDate, pageSize, pageIndex);
return pageModel;
}
/// <summary>
/// 添加客流信息
/// </summary>
/// <param name="entity"></param>
public void AddPassengerFlowStatistics(PassengerFlowStatisticsModel entity)
{
passengerFlowStatisticsRepository.AddPassengerFlowStatistics(entity);
}
/// <summary>
/// 获取当天客流量统计
/// </summary>
/// <param name="date"></param>
/// <returns></returns>
public PassengerFlowStatisticsDayModel GetPassengerFlowStatisticsDayTotal(DateTime date)
{
var model = passengerFlowStatisticsRepository.GetPassengerFlowStatisticsDayTotal(date);
return model;
}
/// <summary>
/// 获取周客流量统计
/// </summary>
/// <param name="date"></param>
/// <returns></returns>
public List<PassengerFlowStatisticsTotalModel> GetPassengerFlowStatisticsWeekTotal(DateTime date)
{
var models = passengerFlowStatisticsRepository.GetPassengerFlowStatisticsWeekTotal(date);
return models;
}
/// <summary>
/// 获取客流量总统计 (只获取进入如数量)
/// </summary>
/// <returns></returns>
public int GetPassengerFlowStatisticsTotal()
{
var total = passengerFlowStatisticsRepository.GetPassengerFlowStatisticsTotal();
return total;
}
}
}

@ -21,11 +21,6 @@ namespace GuideScreen.Common.Services.Impl
/// </summary>
internal class PassengerFlowStatisticsServiceByHikvision : IPassengerFlowStatisticsService
{
private IPassengerFlowStatisticsRepository passengerFlowStatisticsRepository;
public PassengerFlowStatisticsServiceByHikvision(IPassengerFlowStatisticsRepository repository)
{
passengerFlowStatisticsRepository = repository;
}
private CHCNetSDK.UNION_STATTIME m_struStatTime = new CHCNetSDK.UNION_STATTIME();
private CHCNetSDK.UNION_STATFRAME m_struStatFrame = new CHCNetSDK.UNION_STATFRAME();
@ -36,7 +31,7 @@ namespace GuideScreen.Common.Services.Impl
private CHCNetSDK.MSGCallBack m_falarmData = null;
public event EventHandler<PassengerFlowStatisticsModel> ActionEvent;
public event EventHandler<string> ExceptionEvent;
private int lUserID;
private int lAlarmHandle;
@ -233,7 +228,6 @@ namespace GuideScreen.Common.Services.Impl
{
m_falarmData = new CHCNetSDK.MSGCallBack(MsgCallback);
}
iListenHandle = CHCNetSDK.NET_DVR_StartListen_V30(listenIpAddress, (ushort)port, m_falarmData, IntPtr.Zero);
if (iListenHandle < 0)
{
@ -250,7 +244,7 @@ namespace GuideScreen.Common.Services.Impl
/// <summary>
/// 关闭监听
/// </summary>
public void CloseListen(string ListenIpAddress)
public void CloseListen()
{
if (iListenHandle < 0)
{
@ -310,16 +304,16 @@ namespace GuideScreen.Common.Services.Impl
m_struStatTime = (CHCNetSDK.UNION_STATTIME)Marshal.PtrToStructure(ptrPDCUnion, typeof(CHCNetSDK.UNION_STATTIME));
//开始时间
strStartTime = string.Format("{0:D4}", m_struStatTime.tmStart.dwYear) +
string.Format("{0:D2}", m_struStatTime.tmStart.dwMonth) +
strStartTime = string.Format("{0:D4}-", m_struStatTime.tmStart.dwYear) +
string.Format("{0:D2}-", m_struStatTime.tmStart.dwMonth) +
string.Format("{0:D2}", m_struStatTime.tmStart.dwDay) + " "
+ string.Format("{0:D2}", m_struStatTime.tmStart.dwHour) + ":"
+ string.Format("{0:D2}", m_struStatTime.tmStart.dwMinute) + ":"
+ string.Format("{0:D2}", m_struStatTime.tmStart.dwSecond);
//结束时间
strEndTime = string.Format("{0:D4}", m_struStatTime.tmEnd.dwYear) +
string.Format("{0:D2}", m_struStatTime.tmEnd.dwMonth) +
strEndTime = string.Format("{0:D4}-", m_struStatTime.tmEnd.dwYear) +
string.Format("{0:D2}-", m_struStatTime.tmEnd.dwMonth) +
string.Format("{0:D2}", m_struStatTime.tmEnd.dwDay) + " "
+ string.Format("{0:D2}", m_struStatTime.tmEnd.dwHour) + ":"
+ string.Format("{0:D2}", m_struStatTime.tmEnd.dwMinute) + ":"
@ -335,75 +329,18 @@ namespace GuideScreen.Common.Services.Impl
//报警设备IP地址
string strIP = Encoding.UTF8.GetString(pAlarmer.sDeviceIP).TrimEnd('\0');
DateTime.TryParse(strStartTime,out var begDate);
DateTime.TryParse(strEndTime, out var endDate);
var model = new PassengerFlowStatisticsModel
{
EnterNum = (int)struPDCInfo.dwEnterNum,
LeaveNum = (int)struPDCInfo.dwLeaveNum,
StartTime = DateTime.Parse(strStartTime),
EndTime = DateTime.Parse(strEndTime),
StartTime = begDate,
EndTime = endDate,
};
ActionEvent?.Invoke(this, model);
passengerFlowStatisticsRepository.AddPassengerFlowStatistics(model);
return true;
}
/// <summary>
/// 获取每日客流信息
/// </summary>
/// <param name="begDate"></param>
/// <param name="endDate"></param>
/// <param name="pageSize"></param>
/// <param name="pageIndex"></param>
public PageModel<List<PassengerFlowStatisticsDayModel>> GetPassengerFlowStatisticsDayList(DateTime begDate, DateTime endDate, int pageSize, int pageIndex)
{
var pageModel = passengerFlowStatisticsRepository.GetPassengerFlowStatisticsDayList(begDate, endDate, pageSize, pageIndex);
return pageModel;
}
/// <summary>
/// 获取客流明细信息
/// </summary>
/// <param name="begDate"></param>
/// <param name="endDate"></param>
/// <param name="pageSize"></param>
/// <param name="pageIndex"></param>
public PageModel<List<PassengerFlowStatisticsModel>> GetPassengerFlowStatisticsList(DateTime begDate, DateTime endDate, int pageSize, int pageIndex)
{
var pageModel = passengerFlowStatisticsRepository.GetPassengerFlowStatisticsList(begDate, endDate, pageSize, pageIndex);
return pageModel;
}
/// <summary>
/// 添加客流信息
/// </summary>
/// <param name="entity"></param>
public void AddPassengerFlowStatistics(PassengerFlowStatisticsModel entity)
{
passengerFlowStatisticsRepository.AddPassengerFlowStatistics(entity);
}
/// <summary>
/// 获取当天客流量统计
/// </summary>
/// <param name="date"></param>
/// <returns></returns>
public PassengerFlowStatisticsDayModel GetPassengerFlowStatisticsDayTotal(DateTime date)
{
var model = passengerFlowStatisticsRepository.GetPassengerFlowStatisticsDayTotal(date);
return model;
}
/// <summary>
/// 获取周客流量统计
/// </summary>
/// <param name="date"></param>
/// <returns></returns>
public List<PassengerFlowStatisticsTotalModel> GetPassengerFlowStatisticsWeekTotal(DateTime date)
{
var models = passengerFlowStatisticsRepository.GetPassengerFlowStatisticsWeekTotal(date);
return models;
}
}
}

@ -0,0 +1,63 @@
using System;
using System.Collections.Generic;
using System.IO.Compression;
using System.IO;
using System.Linq;
using System.Net;
using System.Text;
using System.Threading.Tasks;
using GuideScreen.Common.Models;
using Newtonsoft.Json;
using GuideScreen.Common.Common;
namespace GuideScreen.Common.Services.Impl
{
/// <summary>
/// 获取气象信息 (基于和风天气开发服务)
/// </summary>
internal class WeatherServiceByQweather: IWeatherService
{
///和风天气开发服务
//获取城市信息 https://geoapi.qweather.com/v2/city/lookup?location=zhuzhou&adm=hunan&key=3ac6b1fdfcc74db7a1e9b94fc5647361
/// <summary>
/// 获取城市实时天气
/// </summary>
/// <param name="location">城市编号</param>
/// <param name="key"></param>
/// <returns></returns>
public async Task<WeatherModel> GetWeatherNowAsync(string location,string key)
{
var str = await WebClientHelper.GetWebClientAsync($"https://devapi.qweather.com/v7/weather/now?location={location}&lang=zh&key={key}");
var weatherModel = JsonConvert.DeserializeObject<WeatherModel>(str);
return weatherModel;
}
/// <summary>
/// 获取城市天气质量
/// </summary>
/// <param name="location">城市编号</param>
/// <param name="key"></param>
/// <returns></returns>
public async Task<WeatherAirModel> GetWeatherAirAsync(string location, string key)
{
var str = await WebClientHelper.GetWebClientAsync($"https://devapi.qweather.com/v7/air/now?location={location}&key={key}");
var airModel = JsonConvert.DeserializeObject<WeatherAirModel>(str);
return airModel;
}
/// <summary>
/// 获取城市天气指数
/// </summary>
/// <param name="location">城市编号</param>
/// <param name="key"></param>
/// <returns></returns>
public async Task<WeatherLevelModel> GetWeatherIndicesAsync(string location, string key)
{
var str = await WebClientHelper.GetWebClientAsync("https://devapi.qweather.com/v7/indices/1d?type=5,8&location=101250301&key=3ac6b1fdfcc74db7a1e9b94fc5647361");
var levelModel = JsonConvert.DeserializeObject<WeatherLevelModel>(str);
return levelModel;
}
}
}

@ -7,7 +7,7 @@ using System.Globalization;
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
namespace GuideScreen.UI.Models
namespace GuideScreen.Common.Models
{
public partial class WeatherAirModel
{

@ -7,7 +7,7 @@ using System.Globalization;
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
namespace GuideScreen.UI.Models
namespace GuideScreen.Common.Models
{
public partial class WeatherLevelModel
{

@ -1,13 +1,5 @@
// <auto-generated />
//
// To parse this JSON data, add NuGet 'Newtonsoft.Json' then do:
//
// using QuickType;
//
// var weatherModel = WeatherModel.FromJson(jsonString);
// generate by https://app.quicktype.io/
namespace GuideScreen.UI.Models

namespace GuideScreen.Common.Models
{
using System;
using System.Collections.Generic;

@ -14,6 +14,10 @@
<assemblyIdentity name="SQLitePCLRaw.core" publicKeyToken="1488e028ca7ab535" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-2.1.4.1835" newVersion="2.1.4.1835" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-13.0.0.0" newVersion="13.0.0.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
<entityFramework>

@ -4,6 +4,7 @@
<package id="EntityFramework" version="6.4.4" targetFramework="net481" />
<package id="Masuit.Tools.Net" version="2.5.7.5" targetFramework="net481" />
<package id="Microsoft.Bcl.AsyncInterfaces" version="1.1.0" targetFramework="net481" />
<package id="Newtonsoft.Json" version="13.0.2" targetFramework="net481" />
<package id="SQLite.CodeFirst" version="1.7.0.34" targetFramework="net481" />
<package id="Stub.System.Data.SQLite.Core.NetFramework" version="1.0.117.0" targetFramework="net481" />
<package id="System.Buffers" version="4.5.1" targetFramework="net481" />

@ -21,7 +21,7 @@
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<OutputPath>bin\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
@ -35,6 +35,26 @@
<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="EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL">
<HintPath>..\packages\EntityFramework.6.4.4\lib\net45\EntityFramework.dll</HintPath>

@ -15,13 +15,13 @@ namespace GuideScreen.Control
{
public partial class PassengerFlowStatistics : UIPage
{
private IPassengerFlowStatisticsService passengerFlowStatisticsService;
private IPassengerFlowStatisticsDataService passengerFlowStatisticsDataService;
public PassengerFlowStatistics()
{
InitializeComponent();
passengerFlowStatisticsService = DIManager.GetContainerObject<IPassengerFlowStatisticsService>();
passengerFlowStatisticsDataService = DIManager.GetContainerObject<IPassengerFlowStatisticsDataService>();
Load += PassengerFlowStatistics_Load;
}
@ -33,7 +33,7 @@ namespace GuideScreen.Control
public void Query()
{
var pageModel = passengerFlowStatisticsService.GetPassengerFlowStatisticsList(begDateTime.Value, endDateTime.Value, pagination.PageSize, pagination.ActivePage);
var pageModel = passengerFlowStatisticsDataService.GetPassengerFlowStatisticsList(begDateTime.Value, endDateTime.Value, pagination.PageSize, pagination.ActivePage);
pagination.PageSize = pageModel.PageSize;
pagination.TotalCount = pageModel.TotalRows;
dgv.DataSource = pageModel.Content;

@ -15,7 +15,7 @@ namespace GuideScreen.Control
{
public partial class PassengerFlowStatisticsDay : UIPage
{
private IPassengerFlowStatisticsService passengerFlowStatisticsService;
private IPassengerFlowStatisticsDataService passengerFlowStatisticsDataService;
public PassengerFlowStatisticsDay()
{
@ -23,13 +23,13 @@ namespace GuideScreen.Control
Load += PassengerFlowStatisticsDay_Load;
passengerFlowStatisticsService = DIManager.GetContainerObject<IPassengerFlowStatisticsService>();
passengerFlowStatisticsDataService = DIManager.GetContainerObject<IPassengerFlowStatisticsDataService>();
}
public void Query()
{
var pageModel = passengerFlowStatisticsService.GetPassengerFlowStatisticsDayList(begDate.Value, endDate.Value, pagination.PageSize, pagination.ActivePage);
var pageModel = passengerFlowStatisticsDataService.GetPassengerFlowStatisticsDayList(begDate.Value, endDate.Value, pagination.PageSize, pagination.ActivePage);
pagination.PageSize = pageModel.PageSize;
pagination.TotalCount = pageModel.TotalRows;
dgv.DataSource = pageModel.Content;

@ -0,0 +1,164 @@
using GuideScreen.Common.Common;
using GuideScreen.Common.Services;
using GuideScreen.Common.Services.Models;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
namespace GuideScreen.UI.Controller
{
/// <summary>
/// 客流统计
/// </summary>
public class PassengerFlowStatisticsController
{
private IPassengerFlowStatisticsService passengerFlowStatisticsService;
private IPassengerFlowStatisticsDataService passengerFlowStatisticsDataService;
private ISystemService systemService;
/// <summary>
/// 客流统计设备IP地址
/// </summary>
private string deviceIP;
/// <summary>
/// 客流统计设备端口
/// </summary>
private string devicePort;
/// <summary>
/// 客流统计设备登录用户名
/// </summary>
private string deviceLoginUser;
/// <summary>
/// 客流统计设备登录用户密码
/// </summary>
private string deviceLoginPassword;
/// <summary>
/// 客流统计监控IP地址
/// </summary>
private string listenIP;
/// <summary>
/// 客流统计监控端口号
/// </summary>
private string listenPort;
public event EventHandler<PassengerFlowStatisticsModel> Action;
public event EventHandler<string> ErrorMessage;
public PassengerFlowStatisticsController(
IPassengerFlowStatisticsService passengerFlowStatisticsService,
IPassengerFlowStatisticsDataService passengerFlowStatisticsDataService ,
ISystemService systemService)
{
this.passengerFlowStatisticsService = passengerFlowStatisticsService;
this.passengerFlowStatisticsDataService = passengerFlowStatisticsDataService;
this.systemService= systemService;
passengerFlowStatisticsService.ActionEvent += PassengerFlowStatisticsService_ActionEvent;
}
private void PassengerFlowStatisticsService_ActionEvent(object sender, PassengerFlowStatisticsModel e)
{
passengerFlowStatisticsDataService.AddPassengerFlowStatistics(e);
Action?.Invoke(this, e);
}
/// <summary>
/// 开始监控
/// </summary>
public void StartMonitoring()
{
GetSystemConfigVal();
Task.Run(() =>
{
while (true)
{
try
{
passengerFlowStatisticsService.Init();
int.TryParse(devicePort, out int port);
passengerFlowStatisticsService.Login(deviceIP, port, deviceLoginUser, deviceLoginPassword);
int.TryParse(listenPort, out int port1);
passengerFlowStatisticsService.StartListen(listenIP, port1);
passengerFlowStatisticsService.OpenAlarm();
return;
}
catch (Exception ex)
{
ErrorMessage?.Invoke(this, "人流服务错误:" + ex.Message);
}
Thread.Sleep(3000);
}
});
}
/// <summary>
/// 关闭监控
/// </summary>
public void StopMonitoring()
{
passengerFlowStatisticsService.CloseAlarm();
passengerFlowStatisticsService.CloseListen();
passengerFlowStatisticsService.Logout();
}
/// <summary>
/// 今日数量
/// </summary>
/// <param name="date"></param>
/// <returns></returns>
public int GetDayCount(DateTime date)
{
var model = passengerFlowStatisticsDataService.GetPassengerFlowStatisticsDayTotal(date);
return model.EnterNum;
}
/// <summary>
/// 本周数量
/// </summary>
/// <param name="date"></param>
/// <returns></returns>
public List<PassengerFlowStatisticsTotalModel> GetWeekCount(DateTime date)
{
var model = passengerFlowStatisticsDataService.GetPassengerFlowStatisticsWeekTotal(date);
return model;
}
/// <summary>
/// 总数量
/// </summary>
/// <returns></returns>
public int GetTotalCount()
{
var model = passengerFlowStatisticsDataService.GetPassengerFlowStatisticsTotal();
return model;
}
private void GetSystemConfigVal()
{
var passengerFlowModel = systemService.GetSystemConfig(SystemConfigKeys.PassengerFlowDeviceIP.ToString());
deviceIP = passengerFlowModel.ConfigValue;
passengerFlowModel = systemService.GetSystemConfig(SystemConfigKeys.PassengerFlowDevicePort.ToString());
devicePort = passengerFlowModel.ConfigValue;
passengerFlowModel = systemService.GetSystemConfig(SystemConfigKeys.PassengerFlowDeviceLoginUser.ToString());
deviceLoginUser = passengerFlowModel.ConfigValue;
passengerFlowModel = systemService.GetSystemConfig(SystemConfigKeys.PassengerFlowDeviceLoginPassword.ToString());
deviceLoginPassword = passengerFlowModel.ConfigValue;
passengerFlowModel = systemService.GetSystemConfig(SystemConfigKeys.PassengerFlowListenIP.ToString());
listenIP = passengerFlowModel.ConfigValue;
passengerFlowModel = systemService.GetSystemConfig(SystemConfigKeys.PassengerFlowListenPort.ToString());
listenPort = passengerFlowModel.ConfigValue;
}
}
}

@ -0,0 +1,68 @@
using GuideScreen.Common.Common;
using GuideScreen.Common.Models;
using GuideScreen.Common.Services;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace GuideScreen.UI.Controller
{
/// <summary>
/// 获取气象信息
/// </summary>
public class WeatherController
{
private IWeatherService weatherService;
private ISystemService systemService;
private string weatherKey;
private string weatherLocation;
public WeatherController(IWeatherService weatherService,ISystemService systemService)
{
this.weatherService = weatherService;
this.systemService = systemService;
}
/// <summary>
/// 获取城市实时天气
/// </summary>
/// <returns></returns>
public async Task<WeatherModel> GetWeatherNowAsync()
{
GetSystemConfigVal();
var retModel = await weatherService.GetWeatherNowAsync(weatherLocation, weatherKey);
return retModel;
}
/// <summary>
/// 获取城市天气质量
/// </summary>
/// <returns></returns>
public async Task<WeatherAirModel> GetWeatherAirAsync()
{
GetSystemConfigVal();
var retModel = await weatherService.GetWeatherAirAsync(weatherLocation, weatherKey);
return retModel;
}
/// <summary>
/// 获取城市天气指数
/// </summary>
/// <returns></returns>
public async Task<WeatherLevelModel> GetWeatherIndicesAsync()
{
GetSystemConfigVal();
var retModel = await weatherService.GetWeatherIndicesAsync(weatherLocation, weatherKey);
return retModel;
}
private void GetSystemConfigVal()
{
var weatherKeyModel = systemService.GetSystemConfig(SystemConfigKeys.WeatherKey.ToString());
weatherKey = weatherKeyModel.ConfigValue;
var weatherLocationModel = systemService.GetSystemConfig(SystemConfigKeys.WeatherLocation.ToString());
weatherLocation = weatherLocationModel.ConfigValue;
}
}
}

@ -107,7 +107,7 @@ namespace GuideScreen.UI
this.uiPanel7 = new Sunny.UI.UIPanel();
this.uiLabel17 = new Sunny.UI.UILabel();
this.lblPassengerFlowHistoryCount = new Sunny.UI.UILabel();
this.lblPassengerFlowWoman = new Sunny.UI.UILabel();
this.lblPassengerFlow = new Sunny.UI.UILabel();
this.uiLabel13 = new Sunny.UI.UILabel();
this.lblCurrentManNum = new Sunny.UI.UILabel();
this.lblCurrentWomanNum = new Sunny.UI.UILabel();
@ -127,6 +127,7 @@ namespace GuideScreen.UI
this.timer2 = new System.Windows.Forms.Timer(this.components);
this.contextMenuStrip = new System.Windows.Forms.ContextMenuStrip(this.components);
this.toolStripMenuIClose = new System.Windows.Forms.ToolStripMenuItem();
this.timer3 = new System.Windows.Forms.Timer(this.components);
this.uiPanel1.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.pictureBox10)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.pictureBox9)).BeginInit();
@ -198,13 +199,13 @@ namespace GuideScreen.UI
this.uiPanel1.Controls.Add(this.uiLabel4);
this.uiPanel1.FillColor = System.Drawing.Color.Empty;
this.uiPanel1.Font = new System.Drawing.Font("微软雅黑", 12F);
this.uiPanel1.Location = new System.Drawing.Point(9, 128);
this.uiPanel1.Location = new System.Drawing.Point(9, 93);
this.uiPanel1.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
this.uiPanel1.MinimumSize = new System.Drawing.Size(1, 1);
this.uiPanel1.Name = "uiPanel1";
this.uiPanel1.RectColor = System.Drawing.Color.Empty;
this.uiPanel1.RectSize = 2;
this.uiPanel1.Size = new System.Drawing.Size(358, 338);
this.uiPanel1.Size = new System.Drawing.Size(358, 373);
this.uiPanel1.Style = Sunny.UI.UIStyle.Custom;
this.uiPanel1.TabIndex = 5;
this.uiPanel1.Text = null;
@ -215,7 +216,7 @@ namespace GuideScreen.UI
//
this.lblWaterMeter.Font = new System.Drawing.Font("微软雅黑", 14.25F, System.Drawing.FontStyle.Bold);
this.lblWaterMeter.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(65)))), ((int)(((byte)(128)))), ((int)(((byte)(195)))));
this.lblWaterMeter.Location = new System.Drawing.Point(206, 277);
this.lblWaterMeter.Location = new System.Drawing.Point(206, 295);
this.lblWaterMeter.Name = "lblWaterMeter";
this.lblWaterMeter.Size = new System.Drawing.Size(79, 38);
this.lblWaterMeter.Style = Sunny.UI.UIStyle.Custom;
@ -229,7 +230,7 @@ namespace GuideScreen.UI
//
this.uiLabel21.Font = new System.Drawing.Font("微软雅黑", 14.25F, System.Drawing.FontStyle.Bold);
this.uiLabel21.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(65)))), ((int)(((byte)(128)))), ((int)(((byte)(195)))));
this.uiLabel21.Location = new System.Drawing.Point(216, 246);
this.uiLabel21.Location = new System.Drawing.Point(216, 264);
this.uiLabel21.Name = "uiLabel21";
this.uiLabel21.Size = new System.Drawing.Size(61, 38);
this.uiLabel21.Style = Sunny.UI.UIStyle.Custom;
@ -243,7 +244,7 @@ namespace GuideScreen.UI
//
this.lblElectricityMeter.Font = new System.Drawing.Font("微软雅黑", 14.25F, System.Drawing.FontStyle.Bold);
this.lblElectricityMeter.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(65)))), ((int)(((byte)(128)))), ((int)(((byte)(195)))));
this.lblElectricityMeter.Location = new System.Drawing.Point(65, 277);
this.lblElectricityMeter.Location = new System.Drawing.Point(65, 295);
this.lblElectricityMeter.Name = "lblElectricityMeter";
this.lblElectricityMeter.Size = new System.Drawing.Size(79, 38);
this.lblElectricityMeter.Style = Sunny.UI.UIStyle.Custom;
@ -257,7 +258,7 @@ namespace GuideScreen.UI
//
this.uiLabel18.Font = new System.Drawing.Font("微软雅黑", 14.25F, System.Drawing.FontStyle.Bold);
this.uiLabel18.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(65)))), ((int)(((byte)(128)))), ((int)(((byte)(195)))));
this.uiLabel18.Location = new System.Drawing.Point(75, 246);
this.uiLabel18.Location = new System.Drawing.Point(75, 264);
this.uiLabel18.Name = "uiLabel18";
this.uiLabel18.Size = new System.Drawing.Size(61, 38);
this.uiLabel18.Style = Sunny.UI.UIStyle.Custom;
@ -270,7 +271,7 @@ namespace GuideScreen.UI
// pictureBox10
//
this.pictureBox10.Image = ((System.Drawing.Image)(resources.GetObject("pictureBox10.Image")));
this.pictureBox10.Location = new System.Drawing.Point(215, 191);
this.pictureBox10.Location = new System.Drawing.Point(215, 209);
this.pictureBox10.Name = "pictureBox10";
this.pictureBox10.Size = new System.Drawing.Size(61, 52);
this.pictureBox10.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
@ -280,7 +281,7 @@ namespace GuideScreen.UI
// pictureBox9
//
this.pictureBox9.Image = ((System.Drawing.Image)(resources.GetObject("pictureBox9.Image")));
this.pictureBox9.Location = new System.Drawing.Point(75, 191);
this.pictureBox9.Location = new System.Drawing.Point(75, 209);
this.pictureBox9.Name = "pictureBox9";
this.pictureBox9.Size = new System.Drawing.Size(61, 52);
this.pictureBox9.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
@ -290,7 +291,7 @@ namespace GuideScreen.UI
// pictureBox8
//
this.pictureBox8.Image = ((System.Drawing.Image)(resources.GetObject("pictureBox8.Image")));
this.pictureBox8.Location = new System.Drawing.Point(31, 126);
this.pictureBox8.Location = new System.Drawing.Point(31, 144);
this.pictureBox8.Name = "pictureBox8";
this.pictureBox8.Size = new System.Drawing.Size(27, 34);
this.pictureBox8.SizeMode = System.Windows.Forms.PictureBoxSizeMode.AutoSize;
@ -300,7 +301,7 @@ namespace GuideScreen.UI
// pictureBox6
//
this.pictureBox6.Image = ((System.Drawing.Image)(resources.GetObject("pictureBox6.Image")));
this.pictureBox6.Location = new System.Drawing.Point(31, 60);
this.pictureBox6.Location = new System.Drawing.Point(31, 78);
this.pictureBox6.Name = "pictureBox6";
this.pictureBox6.Size = new System.Drawing.Size(27, 44);
this.pictureBox6.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
@ -311,7 +312,7 @@ namespace GuideScreen.UI
//
this.uiLabel6.Font = new System.Drawing.Font("微软雅黑", 14.25F, System.Drawing.FontStyle.Bold);
this.uiLabel6.ForeColor = System.Drawing.Color.DodgerBlue;
this.uiLabel6.Location = new System.Drawing.Point(63, 123);
this.uiLabel6.Location = new System.Drawing.Point(63, 141);
this.uiLabel6.Name = "uiLabel6";
this.uiLabel6.Size = new System.Drawing.Size(292, 41);
this.uiLabel6.Style = Sunny.UI.UIStyle.Custom;
@ -326,7 +327,7 @@ namespace GuideScreen.UI
this.lblElectricity.Font = new System.Drawing.Font("微软雅黑", 14.25F, System.Drawing.FontStyle.Bold);
this.lblElectricity.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(255)))), ((int)(((byte)(192)))));
this.lblElectricity.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft;
this.lblElectricity.Location = new System.Drawing.Point(63, 63);
this.lblElectricity.Location = new System.Drawing.Point(63, 81);
this.lblElectricity.Name = "lblElectricity";
this.lblElectricity.Size = new System.Drawing.Size(292, 41);
this.lblElectricity.Style = Sunny.UI.UIStyle.Custom;
@ -341,7 +342,7 @@ namespace GuideScreen.UI
this.uiLabel4.Font = new System.Drawing.Font("微软雅黑", 18F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.uiLabel4.ForeColor = System.Drawing.Color.White;
this.uiLabel4.Image = ((System.Drawing.Image)(resources.GetObject("uiLabel4.Image")));
this.uiLabel4.Location = new System.Drawing.Point(0, -2);
this.uiLabel4.Location = new System.Drawing.Point(0, 16);
this.uiLabel4.Name = "uiLabel4";
this.uiLabel4.Size = new System.Drawing.Size(360, 46);
this.uiLabel4.Style = Sunny.UI.UIStyle.Custom;
@ -383,7 +384,7 @@ namespace GuideScreen.UI
this.uiPanel3.Controls.Add(this.lblTime);
this.uiPanel3.FillColor = System.Drawing.Color.Empty;
this.uiPanel3.Font = new System.Drawing.Font("微软雅黑", 12F);
this.uiPanel3.Location = new System.Drawing.Point(9, 8);
this.uiPanel3.Location = new System.Drawing.Point(9, 0);
this.uiPanel3.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
this.uiPanel3.MinimumSize = new System.Drawing.Size(1, 1);
this.uiPanel3.Name = "uiPanel3";
@ -435,13 +436,13 @@ namespace GuideScreen.UI
this.uiPanel4.Controls.Add(this.uiLabel7);
this.uiPanel4.FillColor = System.Drawing.Color.Empty;
this.uiPanel4.Font = new System.Drawing.Font("微软雅黑", 12F);
this.uiPanel4.Location = new System.Drawing.Point(8, 485);
this.uiPanel4.Location = new System.Drawing.Point(8, 450);
this.uiPanel4.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
this.uiPanel4.MinimumSize = new System.Drawing.Size(1, 1);
this.uiPanel4.Name = "uiPanel4";
this.uiPanel4.RectColor = System.Drawing.Color.Empty;
this.uiPanel4.RectSize = 2;
this.uiPanel4.Size = new System.Drawing.Size(358, 192);
this.uiPanel4.Size = new System.Drawing.Size(358, 227);
this.uiPanel4.Style = Sunny.UI.UIStyle.Custom;
this.uiPanel4.TabIndex = 13;
this.uiPanel4.Text = null;
@ -538,13 +539,13 @@ namespace GuideScreen.UI
this.uiPanel5.Controls.Add(this.uiLabel8);
this.uiPanel5.FillColor = System.Drawing.Color.Empty;
this.uiPanel5.Font = new System.Drawing.Font("微软雅黑", 12F);
this.uiPanel5.Location = new System.Drawing.Point(9, 691);
this.uiPanel5.Location = new System.Drawing.Point(9, 656);
this.uiPanel5.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
this.uiPanel5.MinimumSize = new System.Drawing.Size(1, 1);
this.uiPanel5.Name = "uiPanel5";
this.uiPanel5.RectColor = System.Drawing.Color.Empty;
this.uiPanel5.RectSize = 2;
this.uiPanel5.Size = new System.Drawing.Size(358, 380);
this.uiPanel5.Size = new System.Drawing.Size(358, 415);
this.uiPanel5.Style = Sunny.UI.UIStyle.Custom;
this.uiPanel5.TabIndex = 14;
this.uiPanel5.Text = null;
@ -740,13 +741,13 @@ namespace GuideScreen.UI
this.uiPanel2.Controls.Add(this.uiLabel2);
this.uiPanel2.FillColor = System.Drawing.Color.Empty;
this.uiPanel2.Font = new System.Drawing.Font("微软雅黑", 12F);
this.uiPanel2.Location = new System.Drawing.Point(1551, 130);
this.uiPanel2.Location = new System.Drawing.Point(1551, 109);
this.uiPanel2.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
this.uiPanel2.MinimumSize = new System.Drawing.Size(1, 1);
this.uiPanel2.Name = "uiPanel2";
this.uiPanel2.RectColor = System.Drawing.Color.Empty;
this.uiPanel2.RectSize = 2;
this.uiPanel2.Size = new System.Drawing.Size(358, 276);
this.uiPanel2.Size = new System.Drawing.Size(358, 297);
this.uiPanel2.Style = Sunny.UI.UIStyle.Custom;
this.uiPanel2.TabIndex = 13;
this.uiPanel2.Text = null;
@ -757,7 +758,7 @@ namespace GuideScreen.UI
//
this.uiLabel45.Font = new System.Drawing.Font("微软雅黑", 10.5F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.uiLabel45.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(192)))), ((int)(((byte)(255)))), ((int)(((byte)(192)))));
this.uiLabel45.Location = new System.Drawing.Point(268, 231);
this.uiLabel45.Location = new System.Drawing.Point(268, 239);
this.uiLabel45.Name = "uiLabel45";
this.uiLabel45.Size = new System.Drawing.Size(82, 26);
this.uiLabel45.Style = Sunny.UI.UIStyle.Custom;
@ -771,7 +772,7 @@ namespace GuideScreen.UI
//
this.lblWeatherFeelsLike.Font = new System.Drawing.Font("微软雅黑", 10.5F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.lblWeatherFeelsLike.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(192)))), ((int)(((byte)(255)))), ((int)(((byte)(192)))));
this.lblWeatherFeelsLike.Location = new System.Drawing.Point(273, 205);
this.lblWeatherFeelsLike.Location = new System.Drawing.Point(273, 213);
this.lblWeatherFeelsLike.Name = "lblWeatherFeelsLike";
this.lblWeatherFeelsLike.Size = new System.Drawing.Size(73, 30);
this.lblWeatherFeelsLike.Style = Sunny.UI.UIStyle.Custom;
@ -785,7 +786,7 @@ namespace GuideScreen.UI
//
this.uiLabel43.Font = new System.Drawing.Font("微软雅黑", 10.5F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.uiLabel43.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(192)))), ((int)(((byte)(255)))), ((int)(((byte)(192)))));
this.uiLabel43.Location = new System.Drawing.Point(190, 231);
this.uiLabel43.Location = new System.Drawing.Point(190, 239);
this.uiLabel43.Name = "uiLabel43";
this.uiLabel43.Size = new System.Drawing.Size(82, 26);
this.uiLabel43.Style = Sunny.UI.UIStyle.Custom;
@ -799,7 +800,7 @@ namespace GuideScreen.UI
//
this.lblWeatherUltravioletRay.Font = new System.Drawing.Font("微软雅黑", 10.5F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.lblWeatherUltravioletRay.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(192)))), ((int)(((byte)(255)))), ((int)(((byte)(192)))));
this.lblWeatherUltravioletRay.Location = new System.Drawing.Point(195, 205);
this.lblWeatherUltravioletRay.Location = new System.Drawing.Point(195, 213);
this.lblWeatherUltravioletRay.Name = "lblWeatherUltravioletRay";
this.lblWeatherUltravioletRay.Size = new System.Drawing.Size(73, 30);
this.lblWeatherUltravioletRay.Style = Sunny.UI.UIStyle.Custom;
@ -813,7 +814,7 @@ namespace GuideScreen.UI
//
this.uiLabel41.Font = new System.Drawing.Font("微软雅黑", 10.5F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.uiLabel41.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(192)))), ((int)(((byte)(255)))), ((int)(((byte)(192)))));
this.uiLabel41.Location = new System.Drawing.Point(102, 231);
this.uiLabel41.Location = new System.Drawing.Point(102, 239);
this.uiLabel41.Name = "uiLabel41";
this.uiLabel41.Size = new System.Drawing.Size(82, 26);
this.uiLabel41.Style = Sunny.UI.UIStyle.Custom;
@ -827,7 +828,7 @@ namespace GuideScreen.UI
//
this.lblWeatherHumidity.Font = new System.Drawing.Font("微软雅黑", 10.5F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.lblWeatherHumidity.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(192)))), ((int)(((byte)(255)))), ((int)(((byte)(192)))));
this.lblWeatherHumidity.Location = new System.Drawing.Point(107, 205);
this.lblWeatherHumidity.Location = new System.Drawing.Point(107, 213);
this.lblWeatherHumidity.Name = "lblWeatherHumidity";
this.lblWeatherHumidity.Size = new System.Drawing.Size(73, 30);
this.lblWeatherHumidity.Style = Sunny.UI.UIStyle.Custom;
@ -841,7 +842,7 @@ namespace GuideScreen.UI
//
this.lblWeatherWindDir.Font = new System.Drawing.Font("微软雅黑", 10.5F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.lblWeatherWindDir.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(192)))), ((int)(((byte)(255)))), ((int)(((byte)(192)))));
this.lblWeatherWindDir.Location = new System.Drawing.Point(26, 231);
this.lblWeatherWindDir.Location = new System.Drawing.Point(26, 239);
this.lblWeatherWindDir.Name = "lblWeatherWindDir";
this.lblWeatherWindDir.Size = new System.Drawing.Size(70, 26);
this.lblWeatherWindDir.Style = Sunny.UI.UIStyle.Custom;
@ -855,7 +856,7 @@ namespace GuideScreen.UI
//
this.lblWeatherWindScale.Font = new System.Drawing.Font("微软雅黑", 10.5F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.lblWeatherWindScale.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(192)))), ((int)(((byte)(255)))), ((int)(((byte)(192)))));
this.lblWeatherWindScale.Location = new System.Drawing.Point(31, 205);
this.lblWeatherWindScale.Location = new System.Drawing.Point(31, 213);
this.lblWeatherWindScale.Name = "lblWeatherWindScale";
this.lblWeatherWindScale.Size = new System.Drawing.Size(61, 30);
this.lblWeatherWindScale.Style = Sunny.UI.UIStyle.Custom;
@ -870,7 +871,7 @@ namespace GuideScreen.UI
this.lblLevelText.Font = new System.Drawing.Font("微软雅黑", 10.5F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.lblLevelText.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(255)))), ((int)(((byte)(192)))));
this.lblLevelText.ImageAlign = System.Drawing.ContentAlignment.TopLeft;
this.lblLevelText.Location = new System.Drawing.Point(20, 138);
this.lblLevelText.Location = new System.Drawing.Point(20, 146);
this.lblLevelText.Name = "lblLevelText";
this.lblLevelText.Size = new System.Drawing.Size(323, 63);
this.lblLevelText.Style = Sunny.UI.UIStyle.Custom;
@ -884,7 +885,7 @@ namespace GuideScreen.UI
//
this.lblWeatherText.Font = new System.Drawing.Font("微软雅黑", 15F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.lblWeatherText.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(255)))), ((int)(((byte)(192)))));
this.lblWeatherText.Location = new System.Drawing.Point(146, 82);
this.lblWeatherText.Location = new System.Drawing.Point(127, 90);
this.lblWeatherText.Name = "lblWeatherText";
this.lblWeatherText.Size = new System.Drawing.Size(52, 39);
this.lblWeatherText.Style = Sunny.UI.UIStyle.Custom;
@ -898,7 +899,7 @@ namespace GuideScreen.UI
//
this.lblWeatherTemp.Font = new System.Drawing.Font("微软雅黑", 15F, System.Drawing.FontStyle.Bold);
this.lblWeatherTemp.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(255)))), ((int)(((byte)(192)))));
this.lblWeatherTemp.Location = new System.Drawing.Point(146, 44);
this.lblWeatherTemp.Location = new System.Drawing.Point(127, 52);
this.lblWeatherTemp.Name = "lblWeatherTemp";
this.lblWeatherTemp.Size = new System.Drawing.Size(83, 39);
this.lblWeatherTemp.Style = Sunny.UI.UIStyle.Custom;
@ -911,7 +912,7 @@ namespace GuideScreen.UI
// pBoxWeatherIcon
//
this.pBoxWeatherIcon.Image = ((System.Drawing.Image)(resources.GetObject("pBoxWeatherIcon.Image")));
this.pBoxWeatherIcon.Location = new System.Drawing.Point(72, 53);
this.pBoxWeatherIcon.Location = new System.Drawing.Point(53, 61);
this.pBoxWeatherIcon.Name = "pBoxWeatherIcon";
this.pBoxWeatherIcon.Size = new System.Drawing.Size(68, 68);
this.pBoxWeatherIcon.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
@ -924,7 +925,7 @@ namespace GuideScreen.UI
this.btnAQI.FillColor = System.Drawing.Color.DarkGoldenrod;
this.btnAQI.Font = new System.Drawing.Font("微软雅黑", 10.5F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btnAQI.ForeColor = System.Drawing.Color.WhiteSmoke;
this.btnAQI.Location = new System.Drawing.Point(251, 53);
this.btnAQI.Location = new System.Drawing.Point(232, 61);
this.btnAQI.MinimumSize = new System.Drawing.Size(1, 1);
this.btnAQI.Name = "btnAQI";
this.btnAQI.Radius = 23;
@ -942,7 +943,7 @@ namespace GuideScreen.UI
this.uiLabel2.Font = new System.Drawing.Font("微软雅黑", 18F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.uiLabel2.ForeColor = System.Drawing.Color.White;
this.uiLabel2.Image = ((System.Drawing.Image)(resources.GetObject("uiLabel2.Image")));
this.uiLabel2.Location = new System.Drawing.Point(-2, -1);
this.uiLabel2.Location = new System.Drawing.Point(-1, -1);
this.uiLabel2.Name = "uiLabel2";
this.uiLabel2.Size = new System.Drawing.Size(361, 46);
this.uiLabel2.Style = Sunny.UI.UIStyle.Custom;
@ -974,13 +975,13 @@ namespace GuideScreen.UI
this.uiPanel6.Controls.Add(this.uiLabel3);
this.uiPanel6.FillColor = System.Drawing.Color.Empty;
this.uiPanel6.Font = new System.Drawing.Font("微软雅黑", 12F);
this.uiPanel6.Location = new System.Drawing.Point(1551, 427);
this.uiPanel6.Location = new System.Drawing.Point(1551, 392);
this.uiPanel6.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
this.uiPanel6.MinimumSize = new System.Drawing.Size(1, 1);
this.uiPanel6.Name = "uiPanel6";
this.uiPanel6.RectColor = System.Drawing.Color.Empty;
this.uiPanel6.RectSize = 2;
this.uiPanel6.Size = new System.Drawing.Size(358, 644);
this.uiPanel6.Size = new System.Drawing.Size(358, 679);
this.uiPanel6.Style = Sunny.UI.UIStyle.Custom;
this.uiPanel6.TabIndex = 14;
this.uiPanel6.Text = null;
@ -1187,7 +1188,7 @@ namespace GuideScreen.UI
| System.Windows.Forms.AnchorStyles.Right)));
this.uiPanel7.Controls.Add(this.uiLabel17);
this.uiPanel7.Controls.Add(this.lblPassengerFlowHistoryCount);
this.uiPanel7.Controls.Add(this.lblPassengerFlowWoman);
this.uiPanel7.Controls.Add(this.lblPassengerFlow);
this.uiPanel7.Controls.Add(this.uiLabel13);
this.uiPanel7.Controls.Add(this.lblCurrentManNum);
this.uiPanel7.Controls.Add(this.lblCurrentWomanNum);
@ -1205,13 +1206,13 @@ namespace GuideScreen.UI
this.uiPanel7.Controls.Add(this.ChartPassengerFlow);
this.uiPanel7.FillColor = System.Drawing.Color.Empty;
this.uiPanel7.Font = new System.Drawing.Font("微软雅黑", 12F);
this.uiPanel7.Location = new System.Drawing.Point(375, 130);
this.uiPanel7.Location = new System.Drawing.Point(375, 120);
this.uiPanel7.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
this.uiPanel7.MinimumSize = new System.Drawing.Size(1, 1);
this.uiPanel7.Name = "uiPanel7";
this.uiPanel7.RectColor = System.Drawing.Color.Empty;
this.uiPanel7.RectSize = 2;
this.uiPanel7.Size = new System.Drawing.Size(1167, 940);
this.uiPanel7.Size = new System.Drawing.Size(1167, 950);
this.uiPanel7.Style = Sunny.UI.UIStyle.Custom;
this.uiPanel7.TabIndex = 15;
this.uiPanel7.Text = null;
@ -1222,7 +1223,7 @@ namespace GuideScreen.UI
//
this.uiLabel17.Font = new System.Drawing.Font("微软雅黑", 15.75F, System.Drawing.FontStyle.Bold);
this.uiLabel17.ForeColor = System.Drawing.Color.White;
this.uiLabel17.Location = new System.Drawing.Point(811, 892);
this.uiLabel17.Location = new System.Drawing.Point(811, 905);
this.uiLabel17.Name = "uiLabel17";
this.uiLabel17.Size = new System.Drawing.Size(133, 46);
this.uiLabel17.Style = Sunny.UI.UIStyle.Custom;
@ -1236,7 +1237,7 @@ namespace GuideScreen.UI
//
this.lblPassengerFlowHistoryCount.Font = new System.Drawing.Font("微软雅黑", 18F, System.Drawing.FontStyle.Bold);
this.lblPassengerFlowHistoryCount.ForeColor = System.Drawing.Color.Yellow;
this.lblPassengerFlowHistoryCount.Location = new System.Drawing.Point(943, 893);
this.lblPassengerFlowHistoryCount.Location = new System.Drawing.Point(943, 906);
this.lblPassengerFlowHistoryCount.Name = "lblPassengerFlowHistoryCount";
this.lblPassengerFlowHistoryCount.Size = new System.Drawing.Size(221, 45);
this.lblPassengerFlowHistoryCount.Style = Sunny.UI.UIStyle.Custom;
@ -1246,25 +1247,25 @@ namespace GuideScreen.UI
this.lblPassengerFlowHistoryCount.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
this.lblPassengerFlowHistoryCount.ZoomScaleRect = new System.Drawing.Rectangle(0, 0, 0, 0);
//
// lblPassengerFlowWoman
// lblPassengerFlow
//
this.lblPassengerFlowWoman.Font = new System.Drawing.Font("微软雅黑", 15F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.lblPassengerFlowWoman.ForeColor = System.Drawing.Color.PaleGreen;
this.lblPassengerFlowWoman.Location = new System.Drawing.Point(221, 45);
this.lblPassengerFlowWoman.Name = "lblPassengerFlowWoman";
this.lblPassengerFlowWoman.Size = new System.Drawing.Size(137, 41);
this.lblPassengerFlowWoman.Style = Sunny.UI.UIStyle.Custom;
this.lblPassengerFlowWoman.StyleCustomMode = true;
this.lblPassengerFlowWoman.TabIndex = 13;
this.lblPassengerFlowWoman.Text = " 0 0 0 1 3 2 ";
this.lblPassengerFlowWoman.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
this.lblPassengerFlowWoman.ZoomScaleRect = new System.Drawing.Rectangle(0, 0, 0, 0);
this.lblPassengerFlow.Font = new System.Drawing.Font("微软雅黑", 15F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.lblPassengerFlow.ForeColor = System.Drawing.Color.PaleGreen;
this.lblPassengerFlow.Location = new System.Drawing.Point(229, 23);
this.lblPassengerFlow.Name = "lblPassengerFlow";
this.lblPassengerFlow.Size = new System.Drawing.Size(137, 41);
this.lblPassengerFlow.Style = Sunny.UI.UIStyle.Custom;
this.lblPassengerFlow.StyleCustomMode = true;
this.lblPassengerFlow.TabIndex = 13;
this.lblPassengerFlow.Text = " 0 0 0 1 3 2 ";
this.lblPassengerFlow.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
this.lblPassengerFlow.ZoomScaleRect = new System.Drawing.Rectangle(0, 0, 0, 0);
//
// uiLabel13
//
this.uiLabel13.Font = new System.Drawing.Font("微软雅黑", 15F, System.Drawing.FontStyle.Bold);
this.uiLabel13.ForeColor = System.Drawing.Color.White;
this.uiLabel13.Location = new System.Drawing.Point(114, 40);
this.uiLabel13.Location = new System.Drawing.Point(122, 18);
this.uiLabel13.Name = "uiLabel13";
this.uiLabel13.Size = new System.Drawing.Size(101, 46);
this.uiLabel13.Style = Sunny.UI.UIStyle.Custom;
@ -1279,7 +1280,7 @@ namespace GuideScreen.UI
this.lblCurrentManNum.BackColor = System.Drawing.Color.Transparent;
this.lblCurrentManNum.Font = new System.Drawing.Font("微软雅黑", 14.25F, System.Drawing.FontStyle.Bold);
this.lblCurrentManNum.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(65)))), ((int)(((byte)(128)))), ((int)(((byte)(195)))));
this.lblCurrentManNum.Location = new System.Drawing.Point(57, 435);
this.lblCurrentManNum.Location = new System.Drawing.Point(65, 409);
this.lblCurrentManNum.Name = "lblCurrentManNum";
this.lblCurrentManNum.Size = new System.Drawing.Size(59, 46);
this.lblCurrentManNum.Style = Sunny.UI.UIStyle.Custom;
@ -1294,7 +1295,7 @@ namespace GuideScreen.UI
this.lblCurrentWomanNum.BackColor = System.Drawing.Color.Transparent;
this.lblCurrentWomanNum.Font = new System.Drawing.Font("微软雅黑", 14.25F, System.Drawing.FontStyle.Bold);
this.lblCurrentWomanNum.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(65)))), ((int)(((byte)(128)))), ((int)(((byte)(195)))));
this.lblCurrentWomanNum.Location = new System.Drawing.Point(1057, 435);
this.lblCurrentWomanNum.Location = new System.Drawing.Point(1065, 409);
this.lblCurrentWomanNum.Name = "lblCurrentWomanNum";
this.lblCurrentWomanNum.Size = new System.Drawing.Size(59, 46);
this.lblCurrentWomanNum.Style = Sunny.UI.UIStyle.Custom;
@ -1307,7 +1308,7 @@ namespace GuideScreen.UI
// pBoxUrinateMan3
//
this.pBoxUrinateMan3.Image = ((System.Drawing.Image)(resources.GetObject("pBoxUrinateMan3.Image")));
this.pBoxUrinateMan3.Location = new System.Drawing.Point(512, 601);
this.pBoxUrinateMan3.Location = new System.Drawing.Point(520, 575);
this.pBoxUrinateMan3.Name = "pBoxUrinateMan3";
this.pBoxUrinateMan3.Size = new System.Drawing.Size(36, 48);
this.pBoxUrinateMan3.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;
@ -1317,7 +1318,7 @@ namespace GuideScreen.UI
// pBoxUrinateMan2
//
this.pBoxUrinateMan2.Image = ((System.Drawing.Image)(resources.GetObject("pBoxUrinateMan2.Image")));
this.pBoxUrinateMan2.Location = new System.Drawing.Point(512, 504);
this.pBoxUrinateMan2.Location = new System.Drawing.Point(520, 478);
this.pBoxUrinateMan2.Name = "pBoxUrinateMan2";
this.pBoxUrinateMan2.Size = new System.Drawing.Size(36, 48);
this.pBoxUrinateMan2.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;
@ -1327,7 +1328,7 @@ namespace GuideScreen.UI
// pBoxUrinateMan1
//
this.pBoxUrinateMan1.Image = ((System.Drawing.Image)(resources.GetObject("pBoxUrinateMan1.Image")));
this.pBoxUrinateMan1.Location = new System.Drawing.Point(512, 409);
this.pBoxUrinateMan1.Location = new System.Drawing.Point(520, 383);
this.pBoxUrinateMan1.Name = "pBoxUrinateMan1";
this.pBoxUrinateMan1.Size = new System.Drawing.Size(36, 48);
this.pBoxUrinateMan1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;
@ -1337,7 +1338,7 @@ namespace GuideScreen.UI
// pBoxManPit2
//
this.pBoxManPit2.Image = ((System.Drawing.Image)(resources.GetObject("pBoxManPit2.Image")));
this.pBoxManPit2.Location = new System.Drawing.Point(449, 297);
this.pBoxManPit2.Location = new System.Drawing.Point(457, 271);
this.pBoxManPit2.Name = "pBoxManPit2";
this.pBoxManPit2.Size = new System.Drawing.Size(85, 59);
this.pBoxManPit2.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;
@ -1348,7 +1349,7 @@ namespace GuideScreen.UI
//
this.pictureBox2.BackColor = System.Drawing.Color.Transparent;
this.pictureBox2.Image = ((System.Drawing.Image)(resources.GetObject("pictureBox2.Image")));
this.pictureBox2.Location = new System.Drawing.Point(48, 295);
this.pictureBox2.Location = new System.Drawing.Point(56, 269);
this.pictureBox2.Name = "pictureBox2";
this.pictureBox2.Size = new System.Drawing.Size(68, 124);
this.pictureBox2.SizeMode = System.Windows.Forms.PictureBoxSizeMode.AutoSize;
@ -1358,7 +1359,7 @@ namespace GuideScreen.UI
// pBoxManPit1
//
this.pBoxManPit1.Image = ((System.Drawing.Image)(resources.GetObject("pBoxManPit1.Image")));
this.pBoxManPit1.Location = new System.Drawing.Point(449, 182);
this.pBoxManPit1.Location = new System.Drawing.Point(457, 156);
this.pBoxManPit1.Name = "pBoxManPit1";
this.pBoxManPit1.Size = new System.Drawing.Size(85, 59);
this.pBoxManPit1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;
@ -1368,7 +1369,7 @@ namespace GuideScreen.UI
// pBoxPitWoman3
//
this.pBoxPitWoman3.Image = ((System.Drawing.Image)(resources.GetObject("pBoxPitWoman3.Image")));
this.pBoxPitWoman3.Location = new System.Drawing.Point(633, 414);
this.pBoxPitWoman3.Location = new System.Drawing.Point(641, 388);
this.pBoxPitWoman3.Name = "pBoxPitWoman3";
this.pBoxPitWoman3.Size = new System.Drawing.Size(85, 59);
this.pBoxPitWoman3.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;
@ -1378,7 +1379,7 @@ namespace GuideScreen.UI
// pBoxPitWoman2
//
this.pBoxPitWoman2.Image = ((System.Drawing.Image)(resources.GetObject("pBoxPitWoman2.Image")));
this.pBoxPitWoman2.Location = new System.Drawing.Point(633, 297);
this.pBoxPitWoman2.Location = new System.Drawing.Point(641, 271);
this.pBoxPitWoman2.Name = "pBoxPitWoman2";
this.pBoxPitWoman2.Size = new System.Drawing.Size(85, 59);
this.pBoxPitWoman2.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;
@ -1388,7 +1389,7 @@ namespace GuideScreen.UI
// pBoxPitWoman1
//
this.pBoxPitWoman1.Image = ((System.Drawing.Image)(resources.GetObject("pBoxPitWoman1.Image")));
this.pBoxPitWoman1.Location = new System.Drawing.Point(633, 183);
this.pBoxPitWoman1.Location = new System.Drawing.Point(641, 157);
this.pBoxPitWoman1.Name = "pBoxPitWoman1";
this.pBoxPitWoman1.Size = new System.Drawing.Size(85, 59);
this.pBoxPitWoman1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;
@ -1399,7 +1400,7 @@ namespace GuideScreen.UI
//
this.pictureBox3.BackColor = System.Drawing.Color.Transparent;
this.pictureBox3.Image = ((System.Drawing.Image)(resources.GetObject("pictureBox3.Image")));
this.pictureBox3.Location = new System.Drawing.Point(1048, 297);
this.pictureBox3.Location = new System.Drawing.Point(1056, 271);
this.pictureBox3.Name = "pictureBox3";
this.pictureBox3.Size = new System.Drawing.Size(80, 125);
this.pictureBox3.SizeMode = System.Windows.Forms.PictureBoxSizeMode.AutoSize;
@ -1411,7 +1412,7 @@ namespace GuideScreen.UI
this.pictureBox1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right)));
this.pictureBox1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(13)))), ((int)(((byte)(24)))), ((int)(((byte)(80)))));
this.pictureBox1.Image = ((System.Drawing.Image)(resources.GetObject("pictureBox1.Image")));
this.pictureBox1.Location = new System.Drawing.Point(168, 122);
this.pictureBox1.Location = new System.Drawing.Point(176, 101);
this.pictureBox1.Name = "pictureBox1";
this.pictureBox1.Size = new System.Drawing.Size(835, 586);
this.pictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
@ -1423,7 +1424,7 @@ namespace GuideScreen.UI
this.ChartPassengerFlow.FillColor = System.Drawing.Color.Empty;
this.ChartPassengerFlow.Font = new System.Drawing.Font("微软雅黑", 12F);
this.ChartPassengerFlow.LegendFont = new System.Drawing.Font("微软雅黑", 9F);
this.ChartPassengerFlow.Location = new System.Drawing.Point(18, 648);
this.ChartPassengerFlow.Location = new System.Drawing.Point(22, 649);
this.ChartPassengerFlow.Margin = new System.Windows.Forms.Padding(0);
this.ChartPassengerFlow.MinimumSize = new System.Drawing.Size(1, 1);
this.ChartPassengerFlow.Name = "ChartPassengerFlow";
@ -1458,8 +1459,8 @@ namespace GuideScreen.UI
//
// FormScreen
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.AllowShowTitle = false;
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
this.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(7)))), ((int)(((byte)(43)))), ((int)(((byte)(82)))));
this.ClientSize = new System.Drawing.Size(1920, 1080);
this.ContextMenuStrip = this.contextMenuStrip;
@ -1470,14 +1471,17 @@ namespace GuideScreen.UI
this.Controls.Add(this.uiPanel4);
this.Controls.Add(this.uiPanel3);
this.Controls.Add(this.uiPanel1);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;
this.Margin = new System.Windows.Forms.Padding(1);
this.MaximizeBox = false;
this.MinimizeBox = false;
this.Name = "FormScreen";
this.Padding = new System.Windows.Forms.Padding(0);
this.ShowIcon = false;
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
this.ShowTitle = false;
this.Style = Sunny.UI.UIStyle.Custom;
this.Text = "引导屏";
this.ZoomScaleRect = new System.Drawing.Rectangle(15, 15, 1920, 1080);
this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.FormScreen_FormClosing);
this.uiPanel1.ResumeLayout(false);
this.uiPanel1.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.pictureBox10)).EndInit();
@ -1553,7 +1557,7 @@ namespace GuideScreen.UI
private Sunny.UI.UILabel uiLabel12;
private Sunny.UI.UIProcessBar processBarPage;
private Sunny.UI.UILabel uiLabel13;
private Sunny.UI.UILabel lblPassengerFlowWoman;
private Sunny.UI.UILabel lblPassengerFlow;
private Sunny.UI.UILabel uiLabel17;
private Sunny.UI.UILabel lblPassengerFlowHistoryCount;
private Sunny.UI.UIBarChart ChartPassengerFlow;
@ -1611,5 +1615,6 @@ namespace GuideScreen.UI
private Sunny.UI.UILabel uiLabel10;
private Sunny.UI.UILabel uiLabel5;
private Sunny.UI.UILabel uiLabel23;
private Timer timer3;
}
}

@ -11,7 +11,6 @@ using System.IO.Compression;
using System.IO;
using System.Text;
using Newtonsoft.Json;
using GuideScreen.UI.Models;
using GuideScreen.UI.Properties;
using System.Resources;
using System.Threading.Tasks;
@ -19,36 +18,55 @@ using Sunny.UI;
using GuideScreen.Common;
using GuideScreen.Common.Common;
using GuideScreen.Common.Services;
using GuideScreen.Common.Models;
using GuideScreen.UI.Controller;
using GuideScreen.Common.Services.Models;
namespace GuideScreen.UI
{
public partial class FormScreen : Form
public partial class FormScreen : UIForm
{
//客流服务
private PassengerFlowStatisticsController passengerFlowStatisticsController;
//气象服务
private WeatherController weatherController;
private int passengerFlowDayCount = 0;
public FormScreen()
{
InitializeComponent();
InitializeComponent();
pBoxManPit1.Image.RotateFlip(RotateFlipType.Rotate180FlipNone);
pBoxManPit2.Image.RotateFlip(RotateFlipType.Rotate180FlipNone);
weatherController = DIManager.GetContainerObject<WeatherController>();
passengerFlowStatisticsController = DIManager.GetContainerObject<PassengerFlowStatisticsController>();
passengerFlowStatisticsController.Action += PassengerFlowStatisticsController_Action;
passengerFlowStatisticsController.ErrorMessage += PassengerFlowStatisticsController_ErrorMessage;
Load += FormScreen_Load;
}
private void timer1_Tick(object sender, EventArgs e)
{
lblTime.Text = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
}
private void timer2_Tick(object sender, EventArgs e)
private async void FormScreen_Load(object sender, EventArgs e)
{
Task.Run(() =>
{
GetWeather();
}).ConfigureAwait(false);
}
//启动客流服务
passengerFlowStatisticsController.StartMonitoring();
private void FormScreen_Load(object sender, EventArgs e)
{
//获取今日客流数
passengerFlowDayCount = passengerFlowStatisticsController.GetDayCount(DateTime.Now);
//更新客流数据
PassengerFlowUpdate();
ToileUseChange(true, 1, true);
ToileUseChange(true, 4, true);
@ -57,22 +75,20 @@ namespace GuideScreen.UI
ToileUseChange(false, 2, true);
//获取天气信息
GetWeather();
//人流量
PassengerFlowChart();
//获取天气信息
await GetWeather();
//真空数据
VacuumData();
var system = DIManager.GetContainerObject<ISystemService>();
var menus = system.GetMenuList();
//System.Data.SQLite.SQLiteFactory
}
#region 厕所是否有人
private void ToileUseChange(bool isMan,int num,bool use)
private void ToileUseChange(bool isMan, int num, bool use)
{
if (isMan)
{
@ -120,31 +136,31 @@ namespace GuideScreen.UI
#region 气象相关
public void GetWeather()
//定时更新气象数据
private async void timer2_Tick(object sender, EventArgs e)
{
//和风天气开发服务
//获取城市信息 https://geoapi.qweather.com/v2/city/lookup?location=zhuzhou&adm=hunan&key=3ac6b1fdfcc74db7a1e9b94fc5647361
//获取城市(株洲)天气 实时天气 https://devapi.qweather.com/v7/weather/now?location=101250301&lang=zh&key=3ac6b1fdfcc74db7a1e9b94fc5647361
//天气指数 https://devapi.qweather.com/v7/indices/1d?type=0&location=101250301&key=3ac6b1fdfcc74db7a1e9b94fc5647361
//实时空气质量 https://devapi.qweather.com/v7/air/now?location=101250301&key=3ac6b1fdfcc74db7a1e9b94fc5647361
await GetWeather();
}
//101250301 (株洲)
/// <summary>
/// 获取气象信息
/// </summary>
/// <returns></returns>
private async Task GetWeather()
{
//获取城市实时天气
var str = GetWebClient("https://devapi.qweather.com/v7/weather/now?location=101250301&lang=zh&key=3ac6b1fdfcc74db7a1e9b94fc5647361");
var weatherModel = JsonConvert.DeserializeObject<WeatherModel>(str);
var weatherModel = await weatherController.GetWeatherNowAsync();
//获取城市天气质量
str = GetWebClient("https://devapi.qweather.com/v7/air/now?location=101250301&key=3ac6b1fdfcc74db7a1e9b94fc5647361");
var airModel = JsonConvert.DeserializeObject<WeatherAirModel>(str);
var airModel = await weatherController.GetWeatherAirAsync();
//获取城市天气指数
str = GetWebClient("https://devapi.qweather.com/v7/indices/1d?type=5,8&location=101250301&key=3ac6b1fdfcc74db7a1e9b94fc5647361");
var levelModel = JsonConvert.DeserializeObject<WeatherLevelModel>(str);
var levelModel = await weatherController.GetWeatherIndicesAsync();
this.Invoke(new Action(() =>
this.Invoke(new Action(() =>
{
//设置城市实时天气
if (weatherModel != null)
if (weatherModel != null)
{
DateTime.TryParse(weatherModel.UpdateTime, out DateTime dt);
//lblWeatherUpdateTime.Text = dt.ToString("yyyy-MM-dd HH:mm:ss");
@ -154,7 +170,12 @@ namespace GuideScreen.UI
lblWeatherHumidity.Text = weatherModel.Now.Humidity.ToString() + "%";
lblWeatherFeelsLike.Text = weatherModel.Now.FeelsLike.ToString() + "C°";
lblWeatherTemp.Text = weatherModel.Now.Temp.ToString() + "C°";
pBoxWeatherIcon.Image = (Image)(Resources.ResourceManager.GetObject($"_{weatherModel.Now.Icon}"));
var icon = weatherModel.Now.Icon;
if (icon == 151)
{
icon = 153;
}
pBoxWeatherIcon.Image = (Image)(Resources.ResourceManager.GetObject($"_{icon}"));
}
//设置城市天气质量
if (airModel != null)
@ -162,19 +183,20 @@ namespace GuideScreen.UI
WeatherAir(airModel);
}
//设置城市天气指数
if (levelModel!=null && levelModel.Daily.Length == 2)
if (levelModel != null && levelModel.Daily.Length == 2)
{
lblWeatherUltravioletRay.Text = levelModel.Daily[0].Category;
lblLevelText.Text = levelModel.Daily[1].Text;
}
}));
}
/// <summary>
/// 显示空气质量
/// </summary>
/// <param name="model"></param>
public void WeatherAir(WeatherAirModel model)
private void WeatherAir(WeatherAirModel model)
{
Color color = Color.White;
switch (model.Now.Level)
@ -201,7 +223,7 @@ namespace GuideScreen.UI
break;
}
btnAQI.FillColor = color;
btnAQI.Text = "AQI "+model.Now.Category;
btnAQI.Text = "AQI " + model.Now.Category;
}
/// <summary>
@ -209,7 +231,7 @@ namespace GuideScreen.UI
/// </summary>
/// <param name="url"></param>
/// <returns></returns>
public string GetWebClient(string url)
private string GetWebClient(string url)
{
string str = string.Empty;
try
@ -252,8 +274,83 @@ namespace GuideScreen.UI
#endregion
#region 人流统计
/// <summary>
/// 错误信息
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void PassengerFlowStatisticsController_ErrorMessage(object sender, string e)
{
ShowErrorNotifier(e);
}
/// <summary>
/// 人流经过
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void PassengerFlowStatisticsController_Action(object sender, Common.Services.Models.PassengerFlowStatisticsModel e)
{
passengerFlowDayCount++;
PassengerFlowUpdate();
}
private void PassengerFlowUpdate()
{
//日统计
var dayStr = passengerFlowDayCount.ToString("D6");
lblPassengerFlow.Text = dayStr.Aggregate(string.Empty, (c, i) => c + i + " ");
//周统计
var weekModel = passengerFlowStatisticsController.GetWeekCount(DateTime.Now);
PassengerFlowChart(weekModel);
//历史统计
var totalStr = passengerFlowStatisticsController.GetTotalCount().ToString("D8");
lblPassengerFlowHistoryCount.Text = totalStr.Aggregate(string.Empty, (c, i) => c + i + " ");
}
#endregion
#region 图表相关
/// <summary>
/// 人流量
/// </summary>
private void PassengerFlowChart(List<PassengerFlowStatisticsTotalModel> list)
{
UIBarOption option = new UIBarOption();
option.Title = new UITitle();
option.Title.Text = string.Empty;
option.Title.SubText = string.Empty;
var series = new UIBarSeries();
list.ForEach(item =>
{
series.AddData(item.EnterNum);
option.XAxis.Data.Add(item.XTypeName);
});
option.ToolTip.Visible = true;
option.YAxis.Scale = true;
option.XAxis.Name = "日期";
option.XAxis.AxisLabel.Angle = 60;//(0° ~ 90°)
option.YAxis.Name = "数值";
//数据显示小数位数
series.DecimalPlaces = 0;
option.Series.Add(series);
//坐标轴显示小数位数
option.YAxis.AxisLabel.DecimalPlaces = 0;
option.XAxis.AxisLabel.DecimalPlaces = 0;
option.ToolTip.AxisPointer.Type = UIAxisPointerType.Shadow;
option.ShowValue = true;
ChartPassengerFlow.SetOption(option);
}
/// <summary>
/// 人流量
/// </summary>
@ -313,7 +410,7 @@ namespace GuideScreen.UI
/// </summary>
private void VacuumData()
{
cartesianChart1.Series.Add(new LineSeries
{
Values = new ChartValues<double> { -42, -52, -48, -65, -38, -46, -41 },
@ -324,14 +421,14 @@ namespace GuideScreen.UI
{
Foreground = System.Windows.Media.Brushes.DarkOliveGreen,
//Title = "真空度",
Labels = new string[]
{
Labels = new string[]
{
DateTime.Now.AddDays(-6).ToString("yyyy-MM-dd"),
DateTime.Now.AddDays(-5).ToString("yyyy-MM-dd"),
DateTime.Now.AddDays(-4).ToString("yyyy-MM-dd"),
DateTime.Now.AddDays(-3).ToString("yyyy-MM-dd"),
DateTime.Now.AddDays(-2).ToString("yyyy-MM-dd"),
DateTime.Now.AddDays(-1).ToString("yyyy-MM-dd"),
DateTime.Now.AddDays(-5).ToString("yyyy-MM-dd"),
DateTime.Now.AddDays(-4).ToString("yyyy-MM-dd"),
DateTime.Now.AddDays(-3).ToString("yyyy-MM-dd"),
DateTime.Now.AddDays(-2).ToString("yyyy-MM-dd"),
DateTime.Now.AddDays(-1).ToString("yyyy-MM-dd"),
DateTime.Now.ToString("yyyy-MM-dd")
},
//Position = AxisPosition.LeftBottom
@ -347,5 +444,11 @@ namespace GuideScreen.UI
Close();
}
}
private void FormScreen_FormClosing(object sender, FormClosingEventArgs e)
{
passengerFlowStatisticsController.StopMonitoring();
}
}
}

@ -4713,7 +4713,7 @@
<data name="pBoxWeatherIcon.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAAQAAAAEACAYAAABccqhmAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAL
DQAACw0B7QfALAAA/7JJREFUeF7svXd01NYeLayxqen95qb3EBJ6772Y4g42YLDpGGPA3bRACiEhgZAQ
DAAACwwBP0AiyAAA/7JJREFUeF7svXd01NYeLayxqen95qb3EBJ6772Y4g42YLDpGGPA3bRACiEhgZAQ
Qmih9x5q6L33Xoy7PX3UpWm2vv3T2PfmvTXr+X3vvZvAjf/Y60hHGo3MYu/f3uccaRhN0ypRiUr8TeG3
sxKVqMTfA347K1GJSvw94LezEpWoxN8DfjsrUYlK/D3gt7MSlajE3wN+OytRiUr8PeC3sxKVqMTfA347
K1GJSvw94LezEpWoxN8DfjsrUYlK/D3gt7MSlajE3wN+OytRiUr8PeC3sxKVqMTfA347K1GJSvw94Lez
@ -9161,4 +9161,7 @@
<metadata name="contextMenuStrip.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>342, 17</value>
</metadata>
<metadata name="timer3.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>500, 17</value>
</metadata>
</root>

@ -21,7 +21,7 @@
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<OutputPath>bin\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
@ -80,7 +80,7 @@
</Reference>
<Reference Include="System.ComponentModel.DataAnnotations" />
<Reference Include="System.Core" />
<Reference Include="System.Data.SQLite, Version=1.0.117.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=MSIL">
<Reference Include="System.Data.SQLite, Version=1.0.117.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=MSIL">
<HintPath>..\packages\Stub.System.Data.SQLite.Core.NetFramework.1.0.117.0\lib\net46\System.Data.SQLite.dll</HintPath>
</Reference>
<Reference Include="System.Data.SQLite.EF6, Version=1.0.117.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=MSIL">
@ -116,17 +116,16 @@
<Reference Include="WindowsFormsIntegration" />
</ItemGroup>
<ItemGroup>
<Compile Include="Controller\PassengerFlowStatisticsController.cs" />
<Compile Include="Controller\WeatherController.cs" />
<Compile Include="FormScreen.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="FormScreen.Designer.cs">
<DependentUpon>FormScreen.cs</DependentUpon>
</Compile>
<Compile Include="Models\WeatherAirModel.cs" />
<Compile Include="Models\WeatherLevelModel.cs" />
<Compile Include="Program.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="Models\WeatherModel.cs" />
<EmbeddedResource Include="FormScreen.resx">
<DependentUpon>FormScreen.cs</DependentUpon>
</EmbeddedResource>

@ -12,21 +12,35 @@ EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Debug|x64 = Debug|x64
Release|Any CPU = Release|Any CPU
Release|x64 = Release|x64
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{503D3466-8CE8-466E-9F1E-FF596D3F3E36}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{503D3466-8CE8-466E-9F1E-FF596D3F3E36}.Debug|Any CPU.Build.0 = Debug|Any CPU
{503D3466-8CE8-466E-9F1E-FF596D3F3E36}.Debug|x64.ActiveCfg = Debug|Any CPU
{503D3466-8CE8-466E-9F1E-FF596D3F3E36}.Debug|x64.Build.0 = Debug|Any CPU
{503D3466-8CE8-466E-9F1E-FF596D3F3E36}.Release|Any CPU.ActiveCfg = Release|Any CPU
{503D3466-8CE8-466E-9F1E-FF596D3F3E36}.Release|Any CPU.Build.0 = Release|Any CPU
{503D3466-8CE8-466E-9F1E-FF596D3F3E36}.Release|x64.ActiveCfg = Release|Any CPU
{503D3466-8CE8-466E-9F1E-FF596D3F3E36}.Release|x64.Build.0 = Release|Any CPU
{16B36FF4-1295-49F0-9827-4507EB32035A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{16B36FF4-1295-49F0-9827-4507EB32035A}.Debug|Any CPU.Build.0 = Debug|Any CPU
{16B36FF4-1295-49F0-9827-4507EB32035A}.Debug|x64.ActiveCfg = Debug|Any CPU
{16B36FF4-1295-49F0-9827-4507EB32035A}.Debug|x64.Build.0 = Debug|Any CPU
{16B36FF4-1295-49F0-9827-4507EB32035A}.Release|Any CPU.ActiveCfg = Release|Any CPU
{16B36FF4-1295-49F0-9827-4507EB32035A}.Release|Any CPU.Build.0 = Release|Any CPU
{16B36FF4-1295-49F0-9827-4507EB32035A}.Release|x64.ActiveCfg = Release|Any CPU
{16B36FF4-1295-49F0-9827-4507EB32035A}.Release|x64.Build.0 = Release|Any CPU
{1E368B26-B584-4C1E-A159-608828A7A725}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{1E368B26-B584-4C1E-A159-608828A7A725}.Debug|Any CPU.Build.0 = Debug|Any CPU
{1E368B26-B584-4C1E-A159-608828A7A725}.Debug|x64.ActiveCfg = Debug|Any CPU
{1E368B26-B584-4C1E-A159-608828A7A725}.Debug|x64.Build.0 = Debug|Any CPU
{1E368B26-B584-4C1E-A159-608828A7A725}.Release|Any CPU.ActiveCfg = Release|Any CPU
{1E368B26-B584-4C1E-A159-608828A7A725}.Release|Any CPU.Build.0 = Release|Any CPU
{1E368B26-B584-4C1E-A159-608828A7A725}.Release|x64.ActiveCfg = Release|x64
{1E368B26-B584-4C1E-A159-608828A7A725}.Release|x64.Build.0 = Release|x64
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE

Loading…
Cancel
Save