Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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);
        }