using System;
|
using System.Collections.Generic;
|
using System.ServiceModel.Activation;
|
using GTech.Solution.Api.Contract;
|
using GTech.Solution.Api.Domain.Model;
|
using GTech.Solution.Api.Domain.Option;
|
|
namespace GTech.Solution.Api.WebSite
|
{
|
[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
|
public class TruckAlarm : ApiServicesBase, ITruckAlarm
|
{
|
public ApiData<TruckAlarmResult> POSTAlarm(TruckAlarmData dto)
|
{
|
ApiData<TruckAlarmResult> data = new ApiData<TruckAlarmResult>();
|
string message = string.Empty;
|
if (doCheck(dto, out message))
|
{
|
var result = AlarmHandler(dto, out message);
|
if (result != null)
|
{
|
data.Code = (int)ApiDataStatus.SUCCESS;
|
data.Status = ApiDataStatus.SUCCESS.ToString();
|
data.Message = "Operation is successful!";
|
data.Data = result;
|
}
|
else
|
{
|
data.Code = (int)ApiDataStatus.FAILED;
|
data.Status = ApiDataStatus.FAILED.ToString();
|
data.Message = message;
|
data.Data = null;
|
}
|
}
|
else
|
{
|
data.Code = (int)ApiDataStatus.FAILED;
|
data.Status = ApiDataStatus.FAILED.ToString();
|
data.Message = message;
|
data.Data = null;
|
}
|
|
return data;
|
}
|
|
private bool doCheck(TruckAlarmData dto, out string message)
|
{
|
message = string.Empty;
|
|
return true;
|
}
|
|
private TruckAlarmResult AlarmHandler(TruckAlarmData dto, out string message)
|
{
|
TruckAlarmResult result = new TruckAlarmResult();
|
message = string.Empty;
|
try
|
{
|
result.name = dto.name;
|
result.cam_ip = dto.cam_ip;
|
result.distance = dto.distance;
|
|
//TODO: handle alarm logic
|
|
}
|
catch (Exception e)
|
{
|
Console.WriteLine(e);
|
message = "服务器内部错误,请稍后重试或联系服务器管理员!错误信息:" + e.StackTrace;
|
return null;
|
}
|
|
return result;
|
}
|
|
}
|
}
|