Beispiel #1
0
        public IntegrtaionResult MapBringIntegrationResponse(BringResponseModel bringResponse)
        {
            IntegrtaionResult integrtaionResult = new IntegrtaionResult();

            if (bringResponse.errors == null)
            {
                integrtaionResult.Status               = true;
                integrtaionResult.CourierName          = FrayteCourierCompany.BRING;
                integrtaionResult.TrackingNumber       = bringResponse.consignments[0].confirmation.consignmentNumber;
                integrtaionResult.PickupRef            = null;
                integrtaionResult.PieceTrackingDetails = new List <CourierPieceDetail>();
                foreach (var data in bringResponse.consignments[0].confirmation.packages)
                {
                    CourierPieceDetail obj = new CourierPieceDetail();
                    obj.DirectShipmentDetailId = 0;
                    obj.PieceTrackingNumber    = data.packageNumber;
                    obj.ImageUrl = bringResponse.consignments[0].confirmation.links.labels;
                    integrtaionResult.PieceTrackingDetails.Add(obj);
                }
            }
            else
            {
                integrtaionResult.Error         = new FratyteError();
                integrtaionResult.Error.Service = new List <string>();
                foreach (var item in bringResponse.errors)
                {
                    string error = string.Empty;
                    error = item.code + "-" + "" + item.messages;
                    integrtaionResult.Error.Service.Add(error);
                }
                integrtaionResult.Status = false;
            }
            return(integrtaionResult);
        }
Beispiel #2
0
        public BringResponseModel CreateShipment(BringRequestModel bringRequest, int DraftShipmentId, string ShipmentType)
        {
            BringResponseModel response = new BringResponseModel();
            var logisticIntegration     = UtilityRepository.getLogisticIntegration(UtilityRepository.GetOperationZone().OperationZoneId, AppSettings.ApplicationMode, FrayteIntegration.BRING);
            //API Login
            var    shipmentRequestjson = JsonConvert.SerializeObject(bringRequest);
            string result = string.Empty;

            try
            {
                result = CallBringApi(logisticIntegration, shipmentRequestjson);

                if (!string.IsNullOrWhiteSpace(result))
                {
                    response = Newtonsoft.Json.JsonConvert.DeserializeObject <BringResponseModel>(result);
                }
                else
                {
                    var error = new Models.Bring.Error();
                    error.code      = "There is something is error please contact to admin";
                    response.errors = new List <Models.Bring.Error>();
                    response.errors.Add(error);
                    if (ShipmentType == FrayteShipmentServiceType.DirectBooking)
                    {
                        new DirectShipmentRepository().SaveEasyPostErrorObject("Bring-result:-" + @result, "Bring-ShipJSON:-" + shipmentRequestjson, DraftShipmentId);
                    }
                }
                response.request  = shipmentRequestjson;
                response.response = result;
            }
            catch (Exception ex)
            {
                var error = new Models.Bring.Error();
                error.code = ex.InnerException.ToString();
                response.errors.Add(error);
                if (ShipmentType == FrayteShipmentServiceType.DirectBooking)
                {
                    new DirectShipmentRepository().SaveEasyPostErrorObject("Bring-result:-" + @result, "Bring-ShipJSON:-" + shipmentRequestjson, DraftShipmentId);
                }
            }
            return(response);
        }