using Confluent.Kafka; using Newtonsoft.Json; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Xml.Linq; using WIDESEA_Comm.LogInfo; using WIDESEA_Comm.MES_Info; using WIDESEA_Core.EFDbContext; using WIDESEA_WMS.IRepositories; using WIDESEA_WMS.Repositories; namespace WIDESEA_WMS.Common { public class ToMes { public static void InfoToMes() { try { VOLContext context = new VOLContext(); Idt_info_to_mesRepository mesRepository = new dt_info_to_mesRepository(context); var infos = mesRepository.Find(x => !x.State).OrderBy(x => x.Createtime).ToList(); foreach (var info in infos) { try { var mesData = Request.RequestData(info.Info, MESAPIAddress.IPAddress_MES + info.ActionName); if (mesData.Contains("连接尝试失败")) throw new Exception(mesData); if (mesData.Contains("向一个无法连接的网络尝试了一个套接字操作")) throw new Exception(mesData); var requestMes = JsonConvert.DeserializeObject(mesData); if (requestMes.code == "200" && requestMes.Type == "success") { info.State = true; info.Successtime = DateTime.Now; info.Message = requestMes.message; } else throw new Exception(requestMes.message); } catch (Exception ex) { info.Message = ex.Message; } mesRepository.Update(info, x => new { x.State, x.Successtime, x.Message }, true); } } catch (Exception ex) { throw; } } } }