using IStation.Common;
using IStation.Dto;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Security.Permissions;
using System.Text;
using System.Threading.Tasks;
using System.Web;
using System.Web.Http;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
namespace IStation.WebApi.Controllers
{
///
/// 计算配置
///
[RoutePrefix("AnaPrj")]
public class AnaPrjController : ApiController
{
///
///
///
///
///
[Route("Debug")]
[HttpGet]
public IStation.Dto.ApiResult Debug(string info)
{
IStation.LogHelper.Info("debug:"+ info);
return new IStation.Dto.ApiResult("ok");
}
///
///
///
///
///
[Route("GetPrj")]
[HttpGet]
public IStation.Dto.ApiResult GetPrj(string day)
{
if (day == null)
{
return new IStation.Dto.ApiResult() { Code = ApiResultCode.Error, Message = "day null" };
}
DateTime d;
if (!DateTime.TryParse(day, out d))
{
return new IStation.Dto.ApiResult() { Code = ApiResultCode.Error, Message = "day 格式不正确" };
}
var prj = Common.HistoryAnaPrjFileHelper.GetPrj(d);
return new IStation.Dto.ApiResult(prj);
}
///
///
///
///
///
[Route("GetExistStatus")]
[HttpGet]
public IStation.Dto.ApiResult GetExistStatus(int year, int month)
{
var list = HistoryAnaPrjFileHelper.GetExistStatus(year, month);
if (list == null)
{
list = new List();
}
return new IStation.Dto.ApiResult>(list);
}
///
///
///
///
///
[Route("GetLastTimeOpenPumpCount")]
[HttpGet]
public IStation.Dto.ApiResult GetLastTimeOpenPumpCount(DateTime day)
{
int dict = HistoryAnaPrjFileHelper.GetLastTime_OpenPumpCount(day);
return new IStation.Dto.ApiResult(dict);
}
public class SavePrjRequest
{
public string day { get; set; }
public Model.AnaSetting settting { get; set; }
public Model.AnaRequestBase requestBase { get; set; }
public IStation.CalcModel.AnaPrj prj { get; set; }
public bool isSubmit { get; set; }
}
///
///
///
///
///
[Route("SavePrj")]
[HttpPost]
public async Task SavePrj([FromBody] SavePrjRequest request)
{
if (request == null || request.day == null)
{
return new IStation.Dto.ApiResult() { Code = ApiResultCode.Error, Message = "day null" };
}
if (request.prj == null)
{
return new IStation.Dto.ApiResult() { Code = ApiResultCode.Error, Message = "prj null" };
}
DateTime d;
if (!DateTime.TryParse(request.day, out d))
{
return new IStation.Dto.ApiResult() { Code = ApiResultCode.Error, Message = "day 格式不正确" };
}
var ret = Common.HistoryAnaPrjFileHelper.SavePrj(d, request.settting, request.requestBase, request.prj);
if (request.isSubmit)
{
string error = await ZyConnectHelper.SubmitPrj(request.prj);//, (id) => { IStation.LogHelper.Info("SavePrj success id=" + id); }, (info) => { IStation.LogHelper.Info("SavePrj failse info:" + info); });//.Result;
if(!string.IsNullOrEmpty(error))
{
IStation.LogHelper.Info("Submit prj finish (fail) day:" + request.day+ ",error:" + error);
return new IStation.Dto.ApiResult(error) { Code = ApiResultCode.Error};
}
else
{
IStation.LogHelper.Info("Submit prj finish (success) day:" + request.day);
}
}
return new IStation.Dto.ApiResult(ret) { Code = ApiResultCode.Success };
}
}
}