public EtowerResponseModel CreateShipment(List <ETowerRequestModel> request, int DirectShipmentDraftId) { EtowerResponseModel response = new EtowerResponseModel(); var logisticIntegration = UtilityRepository.getLogisticIntegration(UtilityRepository.GetOperationZone().OperationZoneId, AppSettings.ApplicationMode, FrayteIntegration.ETOWER); string url = logisticIntegration.ServiceUrl + "/services/shipper/orders"; var shipmentRequestjson = JsonConvert.SerializeObject(request); var result = ETowerApiCalling(url, shipmentRequestjson, "Shipment"); response = Newtonsoft.Json.JsonConvert.DeserializeObject <EtowerResponseModel>(result); response.Request = shipmentRequestjson; response.Response = result; if (response.status == "Success") { LabelResponseModel label = new LabelResponseModel(); #region Label Dwonload var eTowerLableRequest = new EtowerLableRequest() { labelFormat = "PDF", labelType = 1, merged = false, packinglist = true, }; eTowerLableRequest.orderIds = new List <string>(); eTowerLableRequest.orderIds.Add(response.data[0].orderId); var labeljson = JsonConvert.SerializeObject(eTowerLableRequest); string Labelurl = logisticIntegration.ServiceUrl + "/services/shipper/labels"; var lableResponse = ETowerApiCalling(Labelurl, labeljson, "Label"); label = JsonConvert.DeserializeObject <LabelResponseModel>(lableResponse); if (label.status == "Success") { response.data[0].labelContent = label.data[0].labelContent; } else { //Label Error } #endregion } else { var EtowerError = JsonConvert.DeserializeObject <EtowerError>(result); } return(response); }
public IntegrtaionResult MapCanadaPostIntegrationResponse(EtowerResponseModel eTowerResponse, List <OrderItem> orderItems) { IntegrtaionResult integrtaionResult = new IntegrtaionResult(); if (eTowerResponse.status == "Success") { integrtaionResult.Status = true; integrtaionResult.CourierName = FrayteCourierCompany.CANADAPOST; integrtaionResult.TrackingNumber = eTowerResponse.data[0].trackingNo; integrtaionResult.PickupRef = null; integrtaionResult.PieceTrackingDetails = new List <CourierPieceDetail>(); int counter = 1; for (int i = 0; i < orderItems.Count; i++) { CourierPieceDetail obj = new CourierPieceDetail(); obj.DirectShipmentDetailId = 0; obj.PieceTrackingNumber = string.Concat(eTowerResponse.data[0].trackingNo, counter); obj.ImageByte = eTowerResponse.data[0].labelContent; integrtaionResult.PieceTrackingDetails.Add(obj); counter++; } } else { integrtaionResult.Error = new FratyteError(); integrtaionResult.Error.Service = new List <string>(); foreach (var item in eTowerResponse.errors) { string error = string.Empty; error = item.code + "-" + "" + item.message; integrtaionResult.Error.Service.Add(error); } integrtaionResult.Status = false; } return(integrtaionResult); }