using IStation.Common;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Threading.Tasks;
using System.Web;
using System.Web.Http;
namespace IStation.WebApi.Controllers
{
///
/// 长江Tide (对外开放)
///
[RoutePrefix("OpenApi/Tide")]
public class OpenTideController : ApiController
{
///
/// 获取
///
///
///
[Route("GetByRange")]
[HttpGet]
public IStation.Dto.ApiResult GetByRange(string start, string end)
{
string error;
DateTime startTime, endTime;
if (!DateTime.TryParse(start, out startTime))
{
return new IStation.Dto.ApiResult("start 参数不合理", Dto.ApiResultCode.Error);
}
if (!DateTime.TryParse(end, out endTime))
{
return new IStation.Dto.ApiResult("end 参数不合理", Dto.ApiResultCode.Error);
}
var list = TideFromBookHelper.GetByTimeRange(startTime, endTime, out error);
if (list == null || list.Count() == 0)
{
return new IStation.Dto.ApiResult("获取失败", Dto.ApiResultCode.Error);
}
List list2 = new List();
foreach (var m in list)
{
list2.Add(new TideValue(m));
}
return new IStation.Dto.ApiResult>(list2);
}
///
/// 获取某日
///
///
///
[Route("GetByDay")]
[HttpGet]
public IStation.Dto.ApiResult GetByDay(string day)
{
string error;
DateTime startTime;
if (!DateTime.TryParse(day, out startTime))
{
return new IStation.Dto.ApiResult("day 参数不合理", Dto.ApiResultCode.Error);
}
var list = TideFromBookHelper.GetByDay2(startTime, out error);
if(list == null || list.Count()==0)
{
return new IStation.Dto.ApiResult("获取失败", Dto.ApiResultCode.Error);
}
List list2 = new List();
foreach(var m in list)
{
list2.Add(new TideValue(m));
}
return new IStation.Dto.ApiResult>(list2);
}
public class TideValue
{
public TideValue() { }
public TideValue(Model.TimeWaterLevel rhs)
{
this.Time = rhs.Time;
this.Value = rhs.Level;
}
public TideValue(DateTime time, double level) { this.Time = time; this.Value = level; }
public DateTime Time { get; set; }
public double Value { get; set; }
}
}
}