using BLL;
using Model;
using Model.APIItem;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Http; 
namespace WebAPI.Controllers
{
    /// 
    /// 上报环保数据接口
    /// 
    public class EnvironmentalController : ApiController
    {
        #region 推送环境监测数据
        /// 
        /// 推送环境监测数据
        /// 
        ///  
        [HttpPost]
        public Model.ResponeData PushEnvironmentalCheckData()
        {
            var responeData = new Model.ResponeData();
            try
            {
                var returndata = EnvironmentalCheckService.PushEnvironmentalCheckData();
                responeData.code = returndata.code;
                responeData.message = returndata.message;
            }
            catch (Exception ex)
            {
                responeData.code = 0;
                responeData.message = ex.Message;
            }
            return responeData;
        }
        #endregion
        /// 
        /// 保存环境监测数据
        /// 
        /// 
        /// 
        [HttpPost]
        public Model.ResponeData SaveEnvironmentData(Model.EnvironmentalCheckInput input)
        {
            var responeData = new Model.ResponeData();
            try
            {
                if (BLL.APIProjectService.getProjectByProjectId(input.ProjectId) != null)
                {
                    responeData.data = LotAPIService.saveEnvironmentCheck(input);
                }
                else
                {
                    responeData.code = 0;
                    responeData.message = "此项目不存在!";
                }
            }
            catch (Exception ex)
            {
                responeData.code = 0;
                responeData.message = ex.Message;
            }
            return responeData;
        }
        [HttpPost]
        public ResponseData AddMonitoring([FromBody] EnvironmentalMonitoringItem environmental)
        {
            ResponseData res = new ResponseData();
            try
            {
                using (var db = new Model.SGGLDB(Funs.ConnString))
                {
                    Environmental_EnvironmentalMonitoring environment = new Environmental_EnvironmentalMonitoring();
                    environment.FileId = Guid.NewGuid().ToString();
                    environment.CompileDate = DateTime.Now;
                    environment.FileName = "平台同步";
                    environment.States = "2";
                    environment.UpdateDate = environmental.UpdateDate;
                    environment.Pm25 = environmental.Pm25;
                    environment.Pm10 = environmental.Pm10;
                    environment.Noise = environmental.Noise;
                    environment.Tem = environmental.Tem;
                    environment.Hum = environmental.Hum;
                    environment.Wp = environmental.Wp;
                    environment.Ws = environmental.Ws;
                    environment.Wd8 = environmental.Wd8;
                    environment.Wd360 = environmental.Wd360;
                    environment.Tsp = environmental.Tsp;
                    environment.Atm = environmental.Atm;
                    environment.Lux = environmental.Lux;
                    environment.Co = environmental.Co;
                    environment.So2 = environmental.So2;
                    environment.No2 = environmental.No2;
                    environment.O3 = environmental.O3;
                    environment.DeviceId = environmental.DeviceId;
                    environment.ProjectId = environmental.ProjectId;
                    db.Environmental_EnvironmentalMonitoring.InsertOnSubmit(environment);
                    db.SubmitChanges();
                }
            }
            catch (Exception e)
            {
                res.resultHint = e.StackTrace;
                res.successful = false;
            }
            return res;
        }
    }
}