|
@@ -53,7 +53,7 @@ namespace EVCB_OCPP.WEBAPI.Controllers.Version1
|
|
|
var _innerResponse = new { Stations = _service.GetStationsbyCustomerId(_customerId) };
|
|
|
result.Data = JsonConvert.SerializeObject(_innerResponse, EVCBConfiguration.JSONSERIALIZER_FORMAT);
|
|
|
result.StatusCode = (int)CPO_StatusCode.Success;
|
|
|
- result.StatusMessage = CPO_StatusMessage.SUCCESS;
|
|
|
+ result.StatusMessage = CPO_StatusMessage.Success;
|
|
|
statusCode = HttpStatusCode.OK;
|
|
|
}
|
|
|
return Request.CreateResponse(statusCode, result);
|
|
@@ -85,7 +85,7 @@ namespace EVCB_OCPP.WEBAPI.Controllers.Version1
|
|
|
{
|
|
|
var _customerId = Request.Headers.GetValues(EVCBConfiguration.Header_PartnerId).First();
|
|
|
|
|
|
- var _innerResponse = new { EVSEs =new List<EVSE>() };
|
|
|
+ var _innerResponse = new { EVSEs = new List<EVSE>() };
|
|
|
ChargingStationService _stationService = new ChargingStationService();
|
|
|
|
|
|
if (_stationService.ContainsStation(_customerId, StationId))
|
|
@@ -94,20 +94,20 @@ namespace EVCB_OCPP.WEBAPI.Controllers.Version1
|
|
|
{
|
|
|
if (!DateFrom.HasValue)
|
|
|
{
|
|
|
-
|
|
|
+
|
|
|
result.StatusMessage = CPO_StatusMessage.ERROR_MSG_PARAMETER_OUTOFRANGE_INCORRECT;
|
|
|
- result.StatusCode = (int)CPO_StatusCode.PARAMETER_OUTOFRANGE_INCORRECT;
|
|
|
+ result.StatusCode = (int)CPO_StatusCode.PARAMETER_OUTOFRANGE_INCORRECT;
|
|
|
statusCode = HttpStatusCode.BadRequest;
|
|
|
return Request.CreateResponse(statusCode, result);
|
|
|
}
|
|
|
}
|
|
|
_innerResponse = new { EVSEs = _stationService.GetEVSEsbyStationId(StationId, DateFrom, DateTo, Offset.Value, Limit.Value) };
|
|
|
-
|
|
|
+
|
|
|
|
|
|
}
|
|
|
result.Data = JsonConvert.SerializeObject(_innerResponse, EVCBConfiguration.JSONSERIALIZER_FORMAT);
|
|
|
result.StatusCode = (int)CPO_StatusCode.Success;
|
|
|
- result.StatusMessage = CPO_StatusMessage.SUCCESS;
|
|
|
+ result.StatusMessage = CPO_StatusMessage.Success;
|
|
|
statusCode = HttpStatusCode.OK;
|
|
|
|
|
|
}
|
|
@@ -183,7 +183,7 @@ namespace EVCB_OCPP.WEBAPI.Controllers.Version1
|
|
|
{
|
|
|
result.SerialNo = _innerResult.SerialNo;
|
|
|
result.StatusCode = (int)CPO_StatusCode.Success;
|
|
|
- result.StatusMessage = CPO_StatusMessage.SUCCESS;
|
|
|
+ result.StatusMessage = CPO_StatusMessage.Success;
|
|
|
statusCode = HttpStatusCode.OK;
|
|
|
|
|
|
}
|
|
@@ -264,7 +264,7 @@ namespace EVCB_OCPP.WEBAPI.Controllers.Version1
|
|
|
{
|
|
|
result.SerialNo = _innerResult.SerialNo;
|
|
|
result.StatusCode = (int)CPO_StatusCode.Success;
|
|
|
- result.StatusMessage = CPO_StatusMessage.SUCCESS;
|
|
|
+ result.StatusMessage = CPO_StatusMessage.Success;
|
|
|
statusCode = HttpStatusCode.OK;
|
|
|
}
|
|
|
else
|
|
@@ -338,7 +338,7 @@ namespace EVCB_OCPP.WEBAPI.Controllers.Version1
|
|
|
{
|
|
|
result.SerialNo = _innerResult.SerialNo;
|
|
|
result.StatusCode = (int)CPO_StatusCode.Success;
|
|
|
- result.StatusMessage = CPO_StatusMessage.SUCCESS;
|
|
|
+ result.StatusMessage = CPO_StatusMessage.Success;
|
|
|
statusCode = HttpStatusCode.OK;
|
|
|
}
|
|
|
else
|
|
@@ -404,7 +404,7 @@ namespace EVCB_OCPP.WEBAPI.Controllers.Version1
|
|
|
{
|
|
|
result.SerialNo = _innerResult.SerialNo;
|
|
|
result.StatusCode = (int)CPO_StatusCode.Success;
|
|
|
- result.StatusMessage = CPO_StatusMessage.SUCCESS;
|
|
|
+ result.StatusMessage = CPO_StatusMessage.Success;
|
|
|
statusCode = HttpStatusCode.OK;
|
|
|
}
|
|
|
else
|
|
@@ -470,7 +470,7 @@ namespace EVCB_OCPP.WEBAPI.Controllers.Version1
|
|
|
{
|
|
|
result.SerialNo = _innerResult.SerialNo;
|
|
|
result.StatusCode = (int)CPO_StatusCode.Success;
|
|
|
- result.StatusMessage = CPO_StatusMessage.SUCCESS;
|
|
|
+ result.StatusMessage = CPO_StatusMessage.Success;
|
|
|
statusCode = HttpStatusCode.OK;
|
|
|
}
|
|
|
else
|
|
@@ -538,7 +538,7 @@ namespace EVCB_OCPP.WEBAPI.Controllers.Version1
|
|
|
{
|
|
|
result.SerialNo = _innerResult.SerialNo;
|
|
|
result.StatusCode = (int)CPO_StatusCode.Success;
|
|
|
- result.StatusMessage = CPO_StatusMessage.SUCCESS;
|
|
|
+ result.StatusMessage = CPO_StatusMessage.Success;
|
|
|
statusCode = HttpStatusCode.OK;
|
|
|
}
|
|
|
else
|
|
@@ -603,7 +603,7 @@ namespace EVCB_OCPP.WEBAPI.Controllers.Version1
|
|
|
{
|
|
|
result.SerialNo = _innerResult.SerialNo;
|
|
|
result.StatusCode = (int)CPO_StatusCode.Success;
|
|
|
- result.StatusMessage = CPO_StatusMessage.SUCCESS;
|
|
|
+ result.StatusMessage = CPO_StatusMessage.Success;
|
|
|
statusCode = HttpStatusCode.OK;
|
|
|
}
|
|
|
else
|
|
@@ -671,7 +671,7 @@ namespace EVCB_OCPP.WEBAPI.Controllers.Version1
|
|
|
{
|
|
|
result.SerialNo = _innerResult.SerialNo;
|
|
|
result.StatusCode = (int)CPO_StatusCode.Success;
|
|
|
- result.StatusMessage = CPO_StatusMessage.SUCCESS;
|
|
|
+ result.StatusMessage = CPO_StatusMessage.Success;
|
|
|
statusCode = HttpStatusCode.OK;
|
|
|
}
|
|
|
else
|
|
@@ -740,7 +740,7 @@ namespace EVCB_OCPP.WEBAPI.Controllers.Version1
|
|
|
{
|
|
|
result.SerialNo = _innerResult.SerialNo;
|
|
|
result.StatusCode = (int)CPO_StatusCode.Success;
|
|
|
- result.StatusMessage = CPO_StatusMessage.SUCCESS;
|
|
|
+ result.StatusMessage = CPO_StatusMessage.Success;
|
|
|
statusCode = HttpStatusCode.OK;
|
|
|
}
|
|
|
else
|
|
@@ -903,8 +903,8 @@ namespace EVCB_OCPP.WEBAPI.Controllers.Version1
|
|
|
break;
|
|
|
default:
|
|
|
{
|
|
|
- if (_execution.IsTimeout.HasValue && _execution.IsTimeout.Value) _cmdResult = CommandResultType.Timeout;
|
|
|
- if (_execution.IsWaited.HasValue && _execution.IsWaited.Value) _cmdResult = CommandResultType.Waited;
|
|
|
+ if (_execution.Detail == "Timeout") _cmdResult = CommandResultType.Timeout;
|
|
|
+ if (_execution.Detail == "Waited") _cmdResult = CommandResultType.Waited;
|
|
|
|
|
|
}
|
|
|
break;
|
|
@@ -925,7 +925,7 @@ namespace EVCB_OCPP.WEBAPI.Controllers.Version1
|
|
|
result.Data = JsonConvert.SerializeObject(_innerData, EVCBConfiguration.JSONSERIALIZER_FORMAT);
|
|
|
result.SerialNo = _innerResult.SerialNo;
|
|
|
result.StatusCode = (int)CPO_StatusCode.Success;
|
|
|
- result.StatusMessage = CPO_StatusMessage.SUCCESS;
|
|
|
+ result.StatusMessage = CPO_StatusMessage.Success;
|
|
|
statusCode = HttpStatusCode.OK;
|
|
|
}
|
|
|
|
|
@@ -1000,7 +1000,7 @@ namespace EVCB_OCPP.WEBAPI.Controllers.Version1
|
|
|
|
|
|
result.Data = JsonConvert.SerializeObject(_innerData, EVCBConfiguration.JSONSERIALIZER_FORMAT);
|
|
|
result.StatusCode = (int)CPO_StatusCode.Success;
|
|
|
- result.StatusMessage = CPO_StatusMessage.SUCCESS;
|
|
|
+ result.StatusMessage = CPO_StatusMessage.Success;
|
|
|
statusCode = HttpStatusCode.OK;
|
|
|
|
|
|
}
|
|
@@ -1053,7 +1053,7 @@ namespace EVCB_OCPP.WEBAPI.Controllers.Version1
|
|
|
|
|
|
result.Data = JsonConvert.SerializeObject(_innerData, EVCBConfiguration.JSONSERIALIZER_FORMAT);
|
|
|
result.StatusCode = (int)CPO_StatusCode.Success;
|
|
|
- result.StatusMessage = CPO_StatusMessage.SUCCESS;
|
|
|
+ result.StatusMessage = CPO_StatusMessage.Success;
|
|
|
statusCode = HttpStatusCode.OK;
|
|
|
return Request.CreateResponse(statusCode, result);
|
|
|
}
|
|
@@ -1067,6 +1067,359 @@ namespace EVCB_OCPP.WEBAPI.Controllers.Version1
|
|
|
|
|
|
}
|
|
|
|
|
|
+
|
|
|
+ [Route("statistics/charging_sessions")]
|
|
|
+ [ResponseType(typeof(CPOOuterResponse))]
|
|
|
+ [HttpPost]
|
|
|
+ async public Task<HttpResponseMessage> ChargingSessionsStatistics([FromBody]StatisticsRequest request)
|
|
|
+ {
|
|
|
+ var result = new CPOOuterResponse();
|
|
|
+ HttpStatusCode statusCode = HttpStatusCode.InternalServerError;
|
|
|
+ var _innerData = new { Result = CommandResponseType.Rejected.ToString(), Timeout = 60 };
|
|
|
+ try
|
|
|
+ {
|
|
|
+
|
|
|
+ InternalHttpClient _client = new InternalHttpClient();
|
|
|
+ CustomerService _customer = new CustomerService();
|
|
|
+
|
|
|
+ string url = System.Web.Configuration.WebConfigurationManager.AppSettings["StatisticsAPI"] + 1;
|
|
|
+ string chargeBoxIds = GetStatisticChargeBoxIds(request.ChargeBoxIds);
|
|
|
+
|
|
|
+ HttpClientService service = new HttpClientService();
|
|
|
+
|
|
|
+ Dictionary<string, string> postData = new Dictionary<string, string>()
|
|
|
+ {
|
|
|
+ { "ChargeBoxId", chargeBoxIds },
|
|
|
+ { "Type", request.Type.ToString() },
|
|
|
+ { "StartDate",request.DateFrom.ToString(EVCBConfiguration.DATETIMEFORMAT)},
|
|
|
+ { "EndDate",request.DateTo.ToString(EVCBConfiguration.DATETIMEFORMAT)}
|
|
|
+
|
|
|
+ };
|
|
|
+ var _innerresult = await service.PostFormDataAsync(url, postData, null);
|
|
|
+
|
|
|
+
|
|
|
+ if (_innerresult.StatusCode == HttpStatusCode.OK)
|
|
|
+ {
|
|
|
+ _innerresult.Response = _innerresult.Response.Replace("item", "Title");
|
|
|
+ _innerresult.Response = _innerresult.Response.Replace("Data", "Count");
|
|
|
+ result.Data = _innerresult.Response;
|
|
|
+ result.StatusCode = (int)CPO_StatusCode.Success;
|
|
|
+ result.StatusMessage = CPO_StatusMessage.Success;
|
|
|
+ statusCode = HttpStatusCode.OK;
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ result.StatusCode = (int)CPO_StatusCode.CANT_FOUND_DATA;
|
|
|
+ result.StatusMessage = CPO_StatusMessage.ERROR_MSG_INNERSERVICE_ERROR;
|
|
|
+ statusCode = HttpStatusCode.BadRequest;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ catch (Exception ex)
|
|
|
+ {
|
|
|
+ result.ErrorDetail = ex.ToString();
|
|
|
+ result.StatusMessage = CPO_StatusMessage.ERROR_MSG_UNEXPECTEDERROR;
|
|
|
+ result.StatusCode = (int)CPO_StatusCode.UnexpectedError;
|
|
|
+ return Request.CreateResponse(statusCode, result);
|
|
|
+ }
|
|
|
+
|
|
|
+ return Request.CreateResponse(statusCode, result);
|
|
|
+ }
|
|
|
+
|
|
|
+ [Route("statistics/energy_delivered")]
|
|
|
+ [ResponseType(typeof(CPOOuterResponse))]
|
|
|
+ [HttpPost]
|
|
|
+ async public Task<HttpResponseMessage> Energy_Delivered([FromBody]StatisticsRequest request)
|
|
|
+ {
|
|
|
+ var result = new CPOOuterResponse();
|
|
|
+ HttpStatusCode statusCode = HttpStatusCode.InternalServerError;
|
|
|
+ var _innerData = new { Result = CommandResponseType.Rejected.ToString(), Timeout = 60 };
|
|
|
+ try
|
|
|
+ {
|
|
|
+
|
|
|
+ InternalHttpClient _client = new InternalHttpClient();
|
|
|
+ CustomerService _customer = new CustomerService();
|
|
|
+
|
|
|
+ string url = System.Web.Configuration.WebConfigurationManager.AppSettings["StatisticsAPI"] + 2;
|
|
|
+ string chargeBoxIds = GetStatisticChargeBoxIds(request.ChargeBoxIds);
|
|
|
+
|
|
|
+ HttpClientService service = new HttpClientService();
|
|
|
+
|
|
|
+ Dictionary<string, string> postData = new Dictionary<string, string>()
|
|
|
+ {
|
|
|
+ { "ChargeBoxId",chargeBoxIds },
|
|
|
+ { "Type", request.Type.ToString() },
|
|
|
+ { "StartDate",request.DateFrom.ToString(EVCBConfiguration.DATETIMEFORMAT)},
|
|
|
+ { "EndDate",request.DateTo.ToString(EVCBConfiguration.DATETIMEFORMAT)}
|
|
|
+
|
|
|
+ };
|
|
|
+ var _innerresult = await service.PostFormDataAsync(url, postData, null);
|
|
|
+
|
|
|
+
|
|
|
+ if (_innerresult.StatusCode == HttpStatusCode.OK)
|
|
|
+ {
|
|
|
+ _innerresult.Response = _innerresult.Response.Replace("item", "Title");
|
|
|
+ _innerresult.Response = _innerresult.Response.Replace("Data", "DeliveredEnergy");
|
|
|
+ result.Data = _innerresult.Response;
|
|
|
+ result.StatusCode = (int)CPO_StatusCode.Success;
|
|
|
+ result.StatusMessage = CPO_StatusMessage.Success;
|
|
|
+ statusCode = HttpStatusCode.OK;
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ result.StatusCode = (int)CPO_StatusCode.CANT_FOUND_DATA;
|
|
|
+ result.StatusMessage = CPO_StatusMessage.ERROR_MSG_INNERSERVICE_ERROR;
|
|
|
+ statusCode = HttpStatusCode.BadRequest;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ catch (Exception ex)
|
|
|
+ {
|
|
|
+ result.ErrorDetail = ex.ToString();
|
|
|
+ result.StatusMessage = CPO_StatusMessage.ERROR_MSG_UNEXPECTEDERROR;
|
|
|
+ result.StatusCode = (int)CPO_StatusCode.UnexpectedError;
|
|
|
+ return Request.CreateResponse(statusCode, result);
|
|
|
+ }
|
|
|
+
|
|
|
+ return Request.CreateResponse(statusCode, result);
|
|
|
+ }
|
|
|
+
|
|
|
+ [Route("statistics/time_of_use")]
|
|
|
+ [ResponseType(typeof(CPOOuterResponse))]
|
|
|
+ [HttpPost]
|
|
|
+ async public Task<HttpResponseMessage> Time_of_Use([FromBody]StatisticsRequest request)
|
|
|
+ {
|
|
|
+ var result = new CPOOuterResponse();
|
|
|
+ HttpStatusCode statusCode = HttpStatusCode.InternalServerError;
|
|
|
+ var _innerData = new { Result = CommandResponseType.Rejected.ToString(), Timeout = 60 };
|
|
|
+ try
|
|
|
+ {
|
|
|
+
|
|
|
+ InternalHttpClient _client = new InternalHttpClient();
|
|
|
+ CustomerService _customer = new CustomerService();
|
|
|
+
|
|
|
+ string url = System.Web.Configuration.WebConfigurationManager.AppSettings["StatisticsAPI"] + 3;
|
|
|
+ string chargeBoxIds = GetStatisticChargeBoxIds(request.ChargeBoxIds);
|
|
|
+
|
|
|
+ HttpClientService service = new HttpClientService();
|
|
|
+
|
|
|
+ Dictionary<string, string> postData = new Dictionary<string, string>()
|
|
|
+ {
|
|
|
+ { "ChargeBoxId",chargeBoxIds },
|
|
|
+ { "StartDate",request.DateFrom.ToString(EVCBConfiguration.DATETIMEFORMAT)},
|
|
|
+ { "EndDate",request.DateTo.ToString(EVCBConfiguration.DATETIMEFORMAT)}
|
|
|
+
|
|
|
+ };
|
|
|
+ var _innerresult = await service.PostFormDataAsync(url, postData, null);
|
|
|
+
|
|
|
+
|
|
|
+ if (_innerresult.StatusCode == HttpStatusCode.OK)
|
|
|
+ {
|
|
|
+ _innerresult.Response = _innerresult.Response.Replace("item", "Title");
|
|
|
+ _innerresult.Response = _innerresult.Response.Replace("data", "Count");
|
|
|
+ _innerresult.Response = _innerresult.Response.Replace("data2", "DeliveredEnergy");
|
|
|
+ result.Data = _innerresult.Response;
|
|
|
+ result.StatusCode = (int)CPO_StatusCode.Success;
|
|
|
+ result.StatusMessage = CPO_StatusMessage.Success;
|
|
|
+ statusCode = HttpStatusCode.OK;
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ result.StatusCode = (int)CPO_StatusCode.CANT_FOUND_DATA;
|
|
|
+ result.StatusMessage = CPO_StatusMessage.ERROR_MSG_INNERSERVICE_ERROR;
|
|
|
+ statusCode = HttpStatusCode.BadRequest;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ catch (Exception ex)
|
|
|
+ {
|
|
|
+ result.ErrorDetail = ex.ToString();
|
|
|
+ result.StatusMessage = CPO_StatusMessage.ERROR_MSG_UNEXPECTEDERROR;
|
|
|
+ result.StatusCode = (int)CPO_StatusCode.UnexpectedError;
|
|
|
+ return Request.CreateResponse(statusCode, result);
|
|
|
+ }
|
|
|
+
|
|
|
+ return Request.CreateResponse(statusCode, result);
|
|
|
+ }
|
|
|
+
|
|
|
+ [Route("statistics/peak_load")]
|
|
|
+ [ResponseType(typeof(CPOOuterResponse))]
|
|
|
+ [HttpPost]
|
|
|
+ async public Task<HttpResponseMessage> Peak_Load([FromBody]StatisticsRequest request)
|
|
|
+ {
|
|
|
+ var result = new CPOOuterResponse();
|
|
|
+ HttpStatusCode statusCode = HttpStatusCode.InternalServerError;
|
|
|
+ var _innerData = new { Result = CommandResponseType.Rejected.ToString(), Timeout = 60 };
|
|
|
+ try
|
|
|
+ {
|
|
|
+
|
|
|
+ InternalHttpClient _client = new InternalHttpClient();
|
|
|
+ CustomerService _customer = new CustomerService();
|
|
|
+
|
|
|
+ string url = System.Web.Configuration.WebConfigurationManager.AppSettings["StatisticsAPI"] + 4;
|
|
|
+ string chargeBoxIds = GetStatisticChargeBoxIds(request.ChargeBoxIds);
|
|
|
+
|
|
|
+ HttpClientService service = new HttpClientService();
|
|
|
+
|
|
|
+ Dictionary<string, string> postData = new Dictionary<string, string>()
|
|
|
+ {
|
|
|
+ { "ChargeBoxId", chargeBoxIds },
|
|
|
+ { "StartDate",request.DateFrom.ToString(EVCBConfiguration.DATETIMEFORMAT)},
|
|
|
+ { "EndDate",request.DateTo.ToString(EVCBConfiguration.DATETIMEFORMAT)}
|
|
|
+
|
|
|
+ };
|
|
|
+ var _innerresult = await service.PostFormDataAsync(url, postData, null);
|
|
|
+
|
|
|
+
|
|
|
+ if (_innerresult.StatusCode == HttpStatusCode.OK)
|
|
|
+ {
|
|
|
+ _innerresult.Response = _innerresult.Response.Replace("item", "Title");
|
|
|
+ _innerresult.Response = _innerresult.Response.Replace("data", "DeliveredEnergy");
|
|
|
+ result.Data = _innerresult.Response;
|
|
|
+ result.StatusCode = (int)CPO_StatusCode.Success;
|
|
|
+ result.StatusMessage = CPO_StatusMessage.Success;
|
|
|
+ statusCode = HttpStatusCode.OK;
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ result.StatusCode = (int)CPO_StatusCode.CANT_FOUND_DATA;
|
|
|
+ result.StatusMessage = CPO_StatusMessage.ERROR_MSG_INNERSERVICE_ERROR;
|
|
|
+ statusCode = HttpStatusCode.BadRequest;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ catch (Exception ex)
|
|
|
+ {
|
|
|
+ result.ErrorDetail = ex.ToString();
|
|
|
+ result.StatusMessage = CPO_StatusMessage.ERROR_MSG_UNEXPECTEDERROR;
|
|
|
+ result.StatusCode = (int)CPO_StatusCode.UnexpectedError;
|
|
|
+ return Request.CreateResponse(statusCode, result);
|
|
|
+ }
|
|
|
+
|
|
|
+ return Request.CreateResponse(statusCode, result);
|
|
|
+ }
|
|
|
+
|
|
|
+ [Route("statistics/sessions")]
|
|
|
+ [ResponseType(typeof(CPOOuterResponse))]
|
|
|
+ [HttpPost]
|
|
|
+ async public Task<HttpResponseMessage> Sessions([FromBody]StatisticsRequest request)
|
|
|
+ {
|
|
|
+ var result = new CPOOuterResponse();
|
|
|
+ HttpStatusCode statusCode = HttpStatusCode.InternalServerError;
|
|
|
+ var _innerData = new { Result = CommandResponseType.Rejected.ToString(), Timeout = 60 };
|
|
|
+ try
|
|
|
+ {
|
|
|
+
|
|
|
+ InternalHttpClient _client = new InternalHttpClient();
|
|
|
+ CustomerService _customer = new CustomerService();
|
|
|
+
|
|
|
+ string url = System.Web.Configuration.WebConfigurationManager.AppSettings["StatisticsAPI"] + 6;
|
|
|
+ string chargeBoxIds = GetStatisticChargeBoxIds(request.ChargeBoxIds);
|
|
|
+
|
|
|
+ HttpClientService service = new HttpClientService();
|
|
|
+
|
|
|
+ Dictionary<string, string> postData = new Dictionary<string, string>()
|
|
|
+ {
|
|
|
+ { "ChargeBoxId", chargeBoxIds },
|
|
|
+ { "StartDate",request.DateFrom.ToString(EVCBConfiguration.DATETIMEFORMAT)},
|
|
|
+ { "EndDate",request.DateTo.ToString(EVCBConfiguration.DATETIMEFORMAT)}
|
|
|
+
|
|
|
+ };
|
|
|
+ var _innerresult = await service.PostFormDataAsync(url, postData, null);
|
|
|
+
|
|
|
+
|
|
|
+ if (_innerresult.StatusCode == HttpStatusCode.OK)
|
|
|
+ {
|
|
|
+ string titles = "\"Title\":[\"ChargeBox Id\",\"Connector Id\",\"Session Id\",\"DateFrom\",\"DateTo\",\"Duration(sec)\",\"Energy(kWh)\",\"Stop Reason\"],";
|
|
|
+
|
|
|
+ _innerresult.Response = _innerresult.Response.Replace("data", "Session");
|
|
|
+ _innerresult.Response= _innerresult.Response.Insert(1, titles);
|
|
|
+ result.Data = _innerresult.Response;
|
|
|
+ result.StatusCode = (int)CPO_StatusCode.Success;
|
|
|
+ result.StatusMessage = CPO_StatusMessage.Success;
|
|
|
+ statusCode = HttpStatusCode.OK;
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ result.StatusCode = (int)CPO_StatusCode.CANT_FOUND_DATA;
|
|
|
+ result.StatusMessage = CPO_StatusMessage.ERROR_MSG_INNERSERVICE_ERROR;
|
|
|
+ statusCode = HttpStatusCode.BadRequest;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ catch (Exception ex)
|
|
|
+ {
|
|
|
+ result.ErrorDetail = ex.ToString();
|
|
|
+ result.StatusMessage = CPO_StatusMessage.ERROR_MSG_UNEXPECTEDERROR;
|
|
|
+ result.StatusCode = (int)CPO_StatusCode.UnexpectedError;
|
|
|
+ return Request.CreateResponse(statusCode, result);
|
|
|
+ }
|
|
|
+
|
|
|
+ return Request.CreateResponse(statusCode, result);
|
|
|
+ }
|
|
|
+
|
|
|
+ [Route("statistics/fault")]
|
|
|
+ [ResponseType(typeof(CPOOuterResponse))]
|
|
|
+ [HttpPost]
|
|
|
+ async public Task<HttpResponseMessage> Fault([FromBody]StatisticsRequest request)
|
|
|
+ {
|
|
|
+ var result = new CPOOuterResponse();
|
|
|
+ HttpStatusCode statusCode = HttpStatusCode.InternalServerError;
|
|
|
+ var _innerData = new { Result = CommandResponseType.Rejected.ToString(), Timeout = 60 };
|
|
|
+ try
|
|
|
+ {
|
|
|
+
|
|
|
+ InternalHttpClient _client = new InternalHttpClient();
|
|
|
+ CustomerService _customer = new CustomerService();
|
|
|
+
|
|
|
+ string url = System.Web.Configuration.WebConfigurationManager.AppSettings["StatisticsAPI"] + 5;
|
|
|
+ string chargeBoxIds = GetStatisticChargeBoxIds(request.ChargeBoxIds);
|
|
|
+
|
|
|
+ HttpClientService service = new HttpClientService();
|
|
|
+
|
|
|
+ Dictionary<string, string> postData = new Dictionary<string, string>()
|
|
|
+ {
|
|
|
+ { "ChargeBoxId", chargeBoxIds},
|
|
|
+ { "StartDate",request.DateFrom.ToString(EVCBConfiguration.DATETIMEFORMAT)},
|
|
|
+ { "EndDate",request.DateTo.ToString(EVCBConfiguration.DATETIMEFORMAT)}
|
|
|
+
|
|
|
+ };
|
|
|
+ var _innerresult = await service.PostFormDataAsync(url, postData, null);
|
|
|
+
|
|
|
+
|
|
|
+ if (_innerresult.StatusCode == HttpStatusCode.OK)
|
|
|
+ {
|
|
|
+ _innerresult.Response = _innerresult.Response.Replace("item", "Title");
|
|
|
+ _innerresult.Response = _innerresult.Response.Replace("data", "Count");
|
|
|
+ _innerresult.Response = _innerresult.Response.Replace("data2", "CumulativePercentage");
|
|
|
+ result.Data = _innerresult.Response;
|
|
|
+ result.StatusCode = (int)CPO_StatusCode.Success;
|
|
|
+ result.StatusMessage = CPO_StatusMessage.Success;
|
|
|
+ statusCode = HttpStatusCode.OK;
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ result.StatusCode = (int)CPO_StatusCode.CANT_FOUND_DATA;
|
|
|
+ result.StatusMessage = CPO_StatusMessage.ERROR_MSG_INNERSERVICE_ERROR;
|
|
|
+ statusCode = HttpStatusCode.BadRequest;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ catch (Exception ex)
|
|
|
+ {
|
|
|
+ result.ErrorDetail = ex.ToString();
|
|
|
+ result.StatusMessage = CPO_StatusMessage.ERROR_MSG_UNEXPECTEDERROR;
|
|
|
+ result.StatusCode = (int)CPO_StatusCode.UnexpectedError;
|
|
|
+ return Request.CreateResponse(statusCode, result);
|
|
|
+ }
|
|
|
+
|
|
|
+ return Request.CreateResponse(statusCode, result);
|
|
|
+ }
|
|
|
+
|
|
|
+ private string GetStatisticChargeBoxIds(List<string> chargeBoxIds)
|
|
|
+ {
|
|
|
+ string result = JsonConvert.SerializeObject(chargeBoxIds, Formatting.None).Replace("\"", "'");
|
|
|
+ result = result.Replace("[", "");
|
|
|
+ result = result.Replace("]", "");
|
|
|
+
|
|
|
+ return result;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
private CPOOuterResponse GetErrorDescription(InternalHttpResult innerResponse)
|
|
|
{
|
|
|
CPOOuterResponse result = new CPOOuterResponse();
|