299 lines
9.2 KiB
C#
299 lines
9.2 KiB
C#
using Foresight;
|
||
using Foresight.Fleet.Services.Asset;
|
||
using IronIntel.Services.Common;
|
||
using IronIntel.Services.MapView;
|
||
using System;
|
||
using System.Collections.Generic;
|
||
using System.Linq;
|
||
using System.Text;
|
||
using System.Threading.Tasks;
|
||
|
||
namespace IronIntel.Contractor.MapView
|
||
{
|
||
public class MachineViewItem
|
||
{
|
||
public string VIN { get; set; }
|
||
public long ID { get; set; }
|
||
public string Name { get; set; }
|
||
public string Name2 { get; set; }
|
||
public string IconUrl { get; set; }
|
||
public string EmptyIconUrl { get; set; }//不包含机器图标
|
||
public string MachineType { get; set; }
|
||
public string Make { get; set; }
|
||
public string Model { get; set; }
|
||
public int MakeYear { get; set; }
|
||
|
||
private double _EngineHours;
|
||
public double EngineHours
|
||
{
|
||
get
|
||
{
|
||
return _EngineHours;
|
||
}
|
||
set
|
||
{
|
||
value = value > 0 ? value : 0;
|
||
_EngineHours = Math.Round(value, 2);
|
||
}
|
||
}
|
||
public DateTime EngineHoursDate { get; set; }
|
||
public int TypeID { get; set; }
|
||
public string AlertTip { get; set; }
|
||
public bool OnSite { get; set; }
|
||
public string JobSiteName { get; set; }//当前所在的JobSiteName
|
||
public double DistanceFromSite { get; set; }//机器与Jobsite之间的距离
|
||
public bool WithinSite { get; set; }//机器是否在JobSite多边形范围内
|
||
public LocationViewItem Location { get; set; }
|
||
|
||
private double _Odometer;
|
||
public double Odometer
|
||
{
|
||
get
|
||
{
|
||
return _Odometer;
|
||
}
|
||
set
|
||
{
|
||
value = value > 0 ? value : 0;
|
||
_Odometer = Math.Round(value, 2);
|
||
}
|
||
}
|
||
public string OdometerUOM { get; set; }
|
||
public int Onroad { get; set; }
|
||
public string IconFileName { get; set; }
|
||
public string MoveStatus { get; set; }
|
||
public int Directionalheading { get; set; }
|
||
public int MapAlertLayerPriority { get; set; }
|
||
public Int64 GpsDeviceID { get; set; } //空 -1
|
||
public string AssetGroupNames { get; set; }
|
||
public string ShowName
|
||
{
|
||
get
|
||
{
|
||
//Name取值顺序为Name2,Name,VIN,ID用于前端显示
|
||
string name = Name2;
|
||
if (string.IsNullOrWhiteSpace(name))
|
||
name = Name;
|
||
if (string.IsNullOrWhiteSpace(name))
|
||
name = VIN;
|
||
if (string.IsNullOrWhiteSpace(name))
|
||
name = ID.ToString();
|
||
return name;
|
||
}
|
||
}//由于地图显示及排序的名称
|
||
|
||
public string EngineHoursDateText
|
||
{
|
||
get
|
||
{
|
||
if (EngineHoursDate != DateTime.MinValue)
|
||
{
|
||
return EngineHoursDate.ToString();
|
||
}
|
||
return "";
|
||
}
|
||
}
|
||
}
|
||
|
||
public class JobSiteViewItem
|
||
{
|
||
public Int64 ID { get; set; }
|
||
public string Name { get; set; }
|
||
public string[] Types { get; set; }
|
||
public double Latitude { get; set; }
|
||
public double Longitude { get; set; }
|
||
public double Radius { get; set; }
|
||
public string Radius_UOM { get; set; }
|
||
public string ContractorID { get; set; }
|
||
public string ColorString { get; set; }
|
||
public IIColor Color { get; set; }
|
||
public string Notes { get; set; }
|
||
public DateTime StartDate { get; set; }
|
||
public DateTime EndDate { get; set; }
|
||
public PostionItem[] Polygon { get; set; }
|
||
public Int64 BaseOnMachineID { get; set; }
|
||
public string Code { get; set; }
|
||
public long[] Assets { get; set; }
|
||
public bool IsDeleted { get; set; }
|
||
|
||
public string strStartDate
|
||
{
|
||
get
|
||
{
|
||
if (StartDate == DateTime.MinValue)
|
||
{
|
||
return "";
|
||
}
|
||
else
|
||
{
|
||
return StartDate.ToShortDateString();
|
||
}
|
||
}
|
||
}
|
||
|
||
|
||
|
||
public string strEndDate
|
||
{
|
||
get
|
||
{
|
||
if (EndDate == DateTime.MinValue)
|
||
{
|
||
return "";
|
||
}
|
||
else
|
||
{
|
||
return EndDate.ToShortDateString();
|
||
}
|
||
}
|
||
}
|
||
|
||
public MachineViewItem[] Machines { get; set; }
|
||
}
|
||
|
||
public class AssetGroupViewItem
|
||
{
|
||
public string ID { get; set; }
|
||
public string Name { get; set; }
|
||
public long[] Assets { get; set; }
|
||
}
|
||
|
||
public class CompanyLocationViewItem
|
||
{
|
||
public int ID { get; set; }
|
||
public string CompanyID { get; set; }
|
||
public double Latitude { get; set; }
|
||
public double Longitude { get; set; }
|
||
public string LocationName { get; set; }
|
||
public string Notes { get; set; }
|
||
public string IconUrl { get; set; }
|
||
}
|
||
|
||
public class MapAlertViewDefinitionItem
|
||
{
|
||
public string ID { get; set; }
|
||
public string Name { get; set; }
|
||
public MapAlertLayerDefinitionItem[] Layers { get; set; }
|
||
public List<LookupDataSourceDataItem> LookupDataSources { get; set; }
|
||
}
|
||
|
||
public class LookupDataSourceDataItem
|
||
{
|
||
public string ID { get; set; }
|
||
|
||
private List<KeyValuePair<string, string>> _Items = new List<KeyValuePair<string, string>>();
|
||
public List<KeyValuePair<string, string>> Items
|
||
{
|
||
get
|
||
{
|
||
return _Items;
|
||
}
|
||
}
|
||
public string Name { get; set; }
|
||
}
|
||
|
||
public class MapAlertLayerDefinitionItem
|
||
{
|
||
public string ID { get; set; }
|
||
public string Title { get; set; }
|
||
public string Description { get; set; }
|
||
public string IconColor { get; set; }
|
||
public string AlertLayerType { get; set; }//Primary/Secondary
|
||
public string LegendUrl { get; set; }
|
||
public DbQueryParameterItem[] CriteriaSQLParameters { get; set; }
|
||
public DbQueryParameterItem[] AlertSQLParameters { get; set; }
|
||
public AlertLayerPivotViewItem[] Pivots { get; set; }
|
||
|
||
}
|
||
|
||
public class DbQueryParameterItem
|
||
{
|
||
public string ID { get; set; }
|
||
public string Name { get; set; }
|
||
public string Caption { get; set; }
|
||
public string Description { get; set; }
|
||
public DataTypes DataType { get; set; }
|
||
public string DefaultValue { get; set; }
|
||
public string ParameterValue { get; set; }
|
||
public QueryParameterDisplayStyles DisplayStyle { get; set; }
|
||
public string LookupDatasourceID { get; set; }
|
||
public bool DisplayCaptionField { get; set; }//当参数显示为dropdown时,指示显示Key或者text
|
||
public bool IsField { get; set; }//表明该参数名是一个数据库参数或是结果集的字段,如果是结果集的字段,则该定义必须要与lookupdatasource关联。
|
||
public bool IsAllAllowed { get; set; }
|
||
public bool MutipleSelect { get; set; }
|
||
}
|
||
|
||
public class QueryParameterSource
|
||
{
|
||
public string ID { get; set; }
|
||
public string Name { get; set; }
|
||
}
|
||
|
||
public class LocationViewItem
|
||
{
|
||
public double Latitude { get; set; }
|
||
public double Longitude { get; set; }
|
||
public DateTime LocationTime { get; set; }
|
||
public string LocationTimeText
|
||
{
|
||
get
|
||
{
|
||
if (LocationTime != DateTime.MinValue)
|
||
{
|
||
return LocationTime.ToString();
|
||
}
|
||
return "";
|
||
}
|
||
}
|
||
public double Speed { get; set; } = -1;
|
||
public string SpeedUnit { get; set; }
|
||
public double PostedSpeed { get; set; } = -1;
|
||
public string PostedSpeedUnit { get; set; }
|
||
public string Street { get; set; } = string.Empty;
|
||
public string IconURL { get; set; } = string.Empty;
|
||
public List<KeyValuePair<string, string>> SmartWitnessVideoUrl { get; set; }
|
||
public SpeedingBehaviors SpeedingBehavior { get; set; }
|
||
public HarshDrivingEvents HarshDringEvent { get; set; }
|
||
}
|
||
|
||
public class MachineLocationHistoryViewItem
|
||
{
|
||
public MachineViewItem Machine { get; set; }
|
||
public LocationViewItem[] Locations { get; set; }
|
||
}
|
||
|
||
|
||
public class MachineTypeItem
|
||
{
|
||
public int ID { get; set; }
|
||
public string Name { get; set; }
|
||
}
|
||
|
||
/// <summary>
|
||
/// 供JobSite选中的Mahcine
|
||
/// </summary>
|
||
public class AvailableMachines
|
||
{
|
||
public MachineViewItem[] Assigned { get; set; }
|
||
public MachineViewItem[] Unassigned { get; set; }
|
||
}
|
||
public struct PostionItem
|
||
{
|
||
public double Latitude;
|
||
public double Longitude;
|
||
|
||
public PostionItem(double latitude, double longitude)
|
||
{
|
||
Latitude = latitude;
|
||
Longitude = longitude;
|
||
}
|
||
}
|
||
|
||
public class ShapeFileItem
|
||
{
|
||
public long ID { get; set; }
|
||
public string Name { get; set; }
|
||
public string Notes { get; set; }
|
||
}
|
||
}
|