namespace BLL { using Model; using System; using System.Collections.Generic; using System.Linq; using System.Web.UI.WebControls; public static class InterFaceService { public static Model.SGGLDB db = Funs.DB; /// /// 获取接口设置信息 /// /// 设置Id /// 接口设置信息 public static Model.InterFaceSet GetFaceSetById(string InterFaceSetId) { return Funs.DB.InterFaceSet.FirstOrDefault(e => e.InterFaceSetId == InterFaceSetId); } /// /// 增加接口设置信息 /// /// 接口设置 public static void AddFaceSet(Model.InterFaceSet faceset) { Model.SGGLDB db = Funs.DB; string newKeyID = SQLHelper.GetNewID(typeof(Model.InterFaceSet)); List detailList = new List(); Model.InterFaceSet newSet = new Model.InterFaceSet { InterFaceSetId = newKeyID, InterFaceName = faceset.InterFaceName, AuthUnitIds = faceset.AuthUnitIds, AuthUnitName = faceset.AuthUnitName, InterFaceUrl = faceset.InterFaceUrl, InterFaceForUrl = faceset.InterFaceForUrl, ValidPeriod = faceset.ValidPeriod, UnitId = faceset.UnitId, TxtRemarks = faceset.TxtRemarks, IsOpen = faceset.IsOpen, IsReqPost = faceset.IsReqPost, IsCallBack= faceset.IsCallBack, InterFaceCallBackUrl= faceset.InterFaceCallBackUrl, }; //明细表 foreach (var AuthUnitId in newSet.AuthUnitIds.Split(',')) { Model.InterFaceDetail deteil = new Model.InterFaceDetail { InterFaceDetailId = SQLHelper.GetNewID(typeof(Model.InterFaceDetail)), InterFaceName = newSet.InterFaceName, UnitId = newSet.UnitId, AuthUnitIds = AuthUnitId, InterFaceSetlId = newSet.InterFaceSetId, ReportState = false, GainState = false, }; detailList.Add(deteil); } db.InterFaceDetail.InsertAllOnSubmit(detailList); db.InterFaceSet.InsertOnSubmit(newSet); db.SubmitChanges(); } /// /// 修改接口设置信息 /// /// 接口设置实体 public static void UpdateFaceSet(Model.InterFaceSet user) { Model.SGGLDB db = Funs.DB; List detailList = new List(); 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.InterFaceForUrl = user.InterFaceForUrl; newSet.UnitId = user.UnitId; newSet.ValidPeriod = user.ValidPeriod; newSet.UnitId = user.UnitId; newSet.TxtRemarks = user.TxtRemarks; newSet.IsOpen = user.IsOpen; newSet.IsReqPost = user.IsReqPost; newSet.IsCallBack = user.IsCallBack; newSet.InterFaceCallBackUrl= user.InterFaceCallBackUrl; var AuthUnitIds = newSet.AuthUnitIds.Split(','); //明细表 List FaceDetailList = db.InterFaceDetail.Where(e => e.InterFaceSetlId == user.InterFaceSetId).ToList(); //删除无效明细 var oldDetails = FaceDetailList.Where(p=> !AuthUnitIds.Equals(p.AuthUnitIds)) ; if (oldDetails.Count() > 0) { db.InterFaceDetail.DeleteAllOnSubmit(oldDetails); } foreach (var AuthUnitId in AuthUnitIds) { Model.InterFaceDetail deteil = new Model.InterFaceDetail { InterFaceDetailId = SQLHelper.GetNewID(typeof(Model.InterFaceDetail)), InterFaceName = newSet.InterFaceName, UnitId = newSet.UnitId, AuthUnitIds = AuthUnitId, InterFaceSetlId = newSet.InterFaceSetId, }; var FaceDetail = FaceDetailList.FirstOrDefault(p => p.AuthUnitIds == AuthUnitId); if (FaceDetail == null) { detailList.Add(deteil); } } db.InterFaceDetail.InsertAllOnSubmit(detailList); db.SubmitChanges(); } } /// /// 根据Id删除信息 /// /// 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(); } } /// /// 保存上报数据记录 /// /// 上报数据 /// public static string SaveUpData(Model.InterFaceItem newItem) { if (newItem.FaceLogDate.Count() == 0) return "数据不可为空!"; using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString)) { List InterFaceLogIdList = new List(); List logList = new List(); string message = string.Empty; var FaceDetailList = db.InterFaceDetail.Where(x => newItem.FaceLogDate.Select(p=>p.UnitId).Equals(x.UnitId)); foreach (var item in newItem.FaceLogDate) { //如果配置接口名称存在 进行数据保存 var faceDetail = FaceDetailList.FirstOrDefault(p => p.InterFaceName == item.InterFaceName); if (faceDetail != null) { faceDetail.ReportDate = DateTime.Now; faceDetail.ReportState = true; Model.InterFaceLog FaceLog = new Model.InterFaceLog(); FaceLog.InterFaceLogId = SQLHelper.GetNewID(typeof(Model.InterFaceLog)); 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 = faceDetail.InterFaceDetailId; logList.Add(FaceLog); } else //配置接口名称不存在 记录反馈给前端提示 { InterFaceLogIdList.Add(item.InterFaceName); } } db.InterFaceLog.InsertAllOnSubmit(logList); db.SubmitChanges(); } return "数据同步成功"; } } }