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); }
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); }