299 lines
9.2 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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; }
}
}