using Newtonsoft.Json; using Newtonsoft.Json.Serialization; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using WIDESEA_Common.APIEnum; using WIDESEA_Core.Helper; using WIDESEA_DTO.PLS; using WIDESEA_External.IPLSService; using WIDESEA_External.Model; using WIDESEA_IBasicRepository; using WIDESEA_Model.Models; namespace WIDESEA_External.PLSService { public class InvokePLSService : IInvokePLSService { private readonly IApiInfoRepository _apiInfoRepository; public InvokePLSService(IApiInfoRepository apiInfoRepository) { _apiInfoRepository = apiInfoRepository; } JsonSerializerSettings settings = new JsonSerializerSettings { ContractResolver = new CamelCasePropertyNamesContractResolver() }; public string InvokeMoInboundStatuApi(ReturnMoInboundStatuModel moInboundStatuModel) { Dt_ApiInfo apiInfo = _apiInfoRepository.QueryFirst(x => x.ApiCode == APIEnum.InvokePLSApi.ToString()); PLSBaseModel model = new PLSBaseModel() { Data = moInboundStatuModel, TimeStamp = DateTimeOffset.UtcNow.ToUnixTimeMilliseconds(), Sign = "RWMS001" }; string request = JsonConvert.SerializeObject(model, settings); string response = HttpHelper.Post(apiInfo.ApiAddress, request); return response; } } }