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
{
    /// <summary>
    /// 上报环保数据接口
    /// </summary>
    public class EnvironmentalController : ApiController
    {
        #region 推送环境监测数据

        /// <summary>
        /// 推送环境监测数据
        /// </summary>
        /// <returns></returns> 
        [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

        /// <summary>
        /// 保存环境监测数据
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        [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<string> AddMonitoring([FromBody] EnvironmentalMonitoringItem environmental)
        {
            ResponseData<string> res = new ResponseData<string>();
            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;

        }
    }
}