/// <summary> /// Method to call the service /// </summary> private void CallWebservice() { string apiUrl = RxConstants.sendOrder; SendOrderRequest objInputParam = new SendOrderRequest { pharmacyid = App.LoginPharId.ToUpper(), mail = App.LoginEmailId, pin = App.HashPIN, prescriptions = App.prescriptionCollection.ToList(), system_version = "android", app_version = "1.6", branding_version = "MLP", drugs_hash = ((!string.IsNullOrWhiteSpace(App.DrugDBHash)) && (!string.IsNullOrEmpty(App.DrugDBHash))) ? App.DrugDBHash : string.Empty }; WebClient sendOrderWebserviceCall = new WebClient(); var uri = new Uri(apiUrl, UriKind.RelativeOrAbsolute); var json = JsonHelper.Serialize(objInputParam); sendOrderWebserviceCall.Headers["Content-type"] = "application/json"; sendOrderWebserviceCall.UploadStringCompleted += SendOrderwebservicecall_UploadStringCompleted; sendOrderWebserviceCall.UploadStringAsync(uri, "POST", json); }
public async Task <SendOrderResponse> SendExpress(SendOrderInfo info) { Logger.InfoFormat("正在向顺丰发起寄件,订单号:{0},收件人:{1},收货人联系手机:{2},收货地址:{3},寄件人:{4},寄件地址:{5}" , info.OrderId, info.DContact, info.DMobile, info.DAddress, info.JContact, info.JAddress); SendOrderRequest request = new SendOrderRequest(); request.OrderBody.Order = info; request.Head = await _settingManager.GetSettingValueAsync(Settings.ShunFeng.ClientCode); request.OrderBody.Order.CustId = await _settingManager.GetSettingValueAsync(Settings.ShunFeng.CustId); request.ServiceName = "OrderService"; request.Lang = "zh-CN"; var url = await _settingManager.GetSettingValueAsync(Settings.ShunFeng.Url); var checkword = await _settingManager.GetSettingValueAsync(Settings.ShunFeng.CheckWord); var result = await DoPostAsync( url, request.ToXml(), GetVerifyCode(request.ToXml(), checkword)); var response = SendOrderResponse.Parse(result); if (response.Head == "OK") { Logger.InfoFormat("订单号:{0}发起寄件成功!运单号:{1}。", response.Body.OrderResponse.OrderId, response.Body.OrderResponse.MailNo); } else { Logger.ErrorFormat("订单号:{0}发起寄件失败,失败原因:{1}", info.OrderId, response.Error); } return(response); }
public override async Task <SendOrderReply> SendOrder(SendOrderRequest request, ServerCallContext context) { _logger.LogInformation($"Product: {request.ProductId}, Quantity: {request.Quantity}"); return(new SendOrderReply { }); }
private static ICollection <SendOrderRequest> LoadMockData() { var mockFile = File.ReadAllText("products-mock.json"); var products = JsonConvert.DeserializeObject <List <ProductsMock> >(mockFile); ConcurrentBag <SendOrderRequest> requestBag = new ConcurrentBag <SendOrderRequest>(); products.AsParallel().ForAll((product) => { var request = new SendOrderRequest(); request.Products.AddRange(product.Products.Select(p => p.ConvertToGrpc()).ToList()); requestBag.Add(request); }); return(requestBag.ToList()); }
public SendOrderReply SaveOrder(SendOrderRequest request) { SendOrderReply response = new SendOrderReply(); try { var mapper = OrderDomainMapper.Instance.Mapper.CreateMapper(); var order = mapper.Map <Order>(request); order.Ref = Guid.NewGuid().ToString().ToUpper(); order.Created = order.Updated = DateTime.Now; var products = new List <Context.OrderProduct>(); request.Products.ToList().ForEach(product => { var productValue = Decimal.Parse(product.Value); order.TotalValue += productValue; products.Add(new Context.OrderProduct { OrderRef = order.Ref, Ref = Guid.NewGuid().ToString().ToUpper(), ProductName = product.ProductName, Value = productValue }); }); var orderDal = new OrderDomainDAL(Program.Services); orderDal.SaveOrder(order, products); response.Message = $"Message {order.Ref} has been processed!"; response.Status = SendOrderStatus.Created; }catch (Exception ex) { response.Message = $"Error {ex.Message}!"; response.Status = SendOrderStatus.InternalServerError; } return(response); }
public override Task <SendOrderReply> SendOrder(SendOrderRequest request, ServerCallContext context) { this._logger.LogInformation($"Received order with productId={request.ProductId}, quantity={request.Quantity}, address={request.Address}"); return(Task.FromResult(new SendOrderReply())); }
public async Task <SendOrderResponse> SendOrder(SendOrderRequest request) => await Client.Post <SendOrderRequest, SendOrderResponse>($"transactions/sendOrder", request);