private async Task <bool> GetIsOrderRegistered(OrderDetailJson order) { var req = new gRPC.Client.ShippingClientProto.GrpcString() { Value = order.id.ToString() }; var resp = await ShippingClient.GetIsMarketplaceSaleIdRegistered(req); return(resp.Value); }
public static GrpcOrder Present(OrderDetailJson json) { return(new GrpcOrder() { Id = json.id, ShippingId = json.shipping.id, ShippingStatus = json.shipping.substatus, Status = json.status, TotalAmount = json.total_amount, PackId = json.pack_id ?? default(long) }); }
private async Task CreateShipment(OrderDetailJson order) { var isOrderRegistered = await GetIsOrderRegistered(order); var shipmentDetails = await GetShipmentDetails(order); var trackingCode = shipmentDetails.tracking_number; if (!isOrderRegistered && trackingCode != null) { var req = new gRPC.Client.ShippingClientProto.GrpcNewShipmentRequest() { MarketplaceAccountId = Account.MercadoLivreId.ToString(), TrackingCode = trackingCode, SetAutoUpdate = true, BoundMarketplace = "mercado livre", MarketplaceSaleId = order.id.ToString(), PackageData = new gRPC.Client.ShippingClientProto.GrpcNewPackageRequest(), SetCreatedManually = false, ShippingImplementation = GetShippingImplementation(shipmentDetails) }; await ShippingClient.CreateShipment(req); } }
private long?GetPackId(OrderDetailJson details) { return(details.pack_id); }
private async Task SetOrder(long id) => Order = await OrderUseCases.GetDetails.Execute(Account.MercadoLivreId, id);
private async Task HanldeOrder(OrderDetailJson order) { await CreateShipment(order); }
private async Task <ShipmentJson> GetShipmentDetails(OrderDetailJson order) { return(await ShipmentUseCases.GetDetails.Execute(Account.MercadoLivreId, order.shipping.id)); }