namespace BLL
{
    using System;
    using System.Collections.Generic;
    using System.Linq;

    public static class DataForJTApiService
    {
        public static Model.SGGLDB db = Funs.DB;

        /// <summary>
        /// 获取接口设置信息
        /// </summary>
        /// <param name="InterFaceSetId">设置Id</param>
        /// <returns>接口设置信息</returns>
        public static Model.InterFaceSet GetFaceSetById(string InterFaceSetId)
        {
            return Funs.DB.InterFaceSet.FirstOrDefault(e => e.InterFaceSetId == InterFaceSetId);
        }

        /// <summary>
        /// 增加接口设置信息
        /// </summary>
        /// <param name="faceset">接口设置</param>
        public static void AddFaceSet(Model.InterFaceSet faceset)
        {
            Model.SGGLDB db = Funs.DB;
            string newKeyID = SQLHelper.GetNewID(typeof(Model.InterFaceSet));
            Model.InterFaceSet newSet = new Model.InterFaceSet
            {
                InterFaceSetId = newKeyID,
                InterFaceName = faceset.InterFaceName,
                AuthUnitIds = faceset.AuthUnitIds,
                AuthUnitName = faceset.AuthUnitName,
                InterFaceUrl = faceset.InterFaceUrl,
                ValidPeriod = faceset.ValidPeriod,
                UnitId = faceset.UnitId,
                TxtRemarks = faceset.TxtRemarks,
                IsOpen = faceset.IsOpen,
            };
            db.InterFaceSet.InsertOnSubmit(newSet);
            db.SubmitChanges();
        }

        /// <summary>
        /// 修改接口设置信息
        /// </summary>
        /// <param name="user">接口设置实体</param>
        public static void UpdateFaceSet(Model.InterFaceSet user)
        {
            Model.SGGLDB db = Funs.DB;
            Model.InterFaceSet newSet = db.InterFaceSet.FirstOrDefault(e => e.InterFaceSetId == user.InterFaceSetId);
            if (newSet != null)
            {
                newSet.InterFaceName = user.InterFaceName;
                newSet.AuthUnitIds = user.AuthUnitIds;
                newSet.AuthUnitName = user.AuthUnitName;
                newSet.InterFaceUrl = user.InterFaceUrl;
                newSet.UnitId = user.UnitId;
                newSet.ValidPeriod = user.ValidPeriod;
                newSet.UnitId = user.UnitId;
                newSet.TxtRemarks = user.TxtRemarks;
                newSet.IsOpen = user.IsOpen;
                db.SubmitChanges();
            }
        }

      
        /// <summary>
        /// 根据Id删除信息
        /// </summary>
        /// <param name="SetId"></param>
        public static void DeleteFaceSet(string SetId)
        {
            Model.SGGLDB db = Funs.DB;
            Model.InterFaceSet FaceSet = db.InterFaceSet.FirstOrDefault(e => e.InterFaceSetId == SetId);
            if (FaceSet != null)
            {
                var logs = from x in db.Sys_Log where x.UserId == SetId select x;
                if (logs.Count() > 0)
                {
                    db.Sys_Log.DeleteAllOnSubmit(logs);
                }
                db.InterFaceSet.DeleteOnSubmit(FaceSet);
                db.SubmitChanges();
            }
        }

        ///// <summary>
        ///// 保存上报数据记录
        ///// </summary>
        ///// <param name="newItem">上报数据</param>
        ///// <returns></returns>
        //public static string SaveUpData(Model.InterFaceItem newItem)
        //{
        //    if (newItem.FaceLogDate.Count() == 0)
        //        return "数据不可为空!";
        //    using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
        //    {
        //        List<string> InterFaceLogIdList=new List<string> ();
        //        List<Model.InterFaceLog> logList = new List<Model.InterFaceLog>();
        //        string message = string.Empty;
        //        var InterFaceSetList = db.InterFaceSet.Where(x => x.InterFaceName != "");
        //        foreach (var item in newItem.FaceLogDate)
        //        {
        //            //如果配置接口名称存在 进行数据保存
        //            var faceset = InterFaceSetList.FirstOrDefault(p => p.InterFaceName == item.InterFaceName);
        //            if (faceset != null)
        //            {
        //                Model.InterFaceLog FaceLog = new Model.InterFaceLog();
        //                FaceLog.InterFaceLogId = Guid.NewGuid().ToString();
        //                FaceLog.TxtContent = item.TxtContent;
        //                FaceLog.InterFaceLogDate = Convert.ToDateTime(item.InterFaceLogDate);
        //                FaceLog.LogSate = false;
        //                FaceLog.CollCropCode = item.CollCropCode;
        //                FaceLog.IP = item.IP;
        //                FaceLog.UnitId = item.UnitId;
        //                FaceLog.InterFaceDetailId ="";
        //                logList.Add(FaceLog);
        //            }
        //            else //配置接口名称不存在 记录反馈给前端提示
        //            {
        //                InterFaceLogIdList.Add(item.InterFaceName);
        //            }
        //        }
        //        db.InterFaceLog.InsertAllOnSubmit(logList);
        //        db.SubmitChanges();
        //    }
        //    return "数据同步成功";
        //}
    }
}