Пример #1
0
        public static QuincusTokenDataResponse GetToken(QuincusParams quincusParams)
        {
            QuincusTokenDataResponse quincusTokenDataResponse = new QuincusTokenDataResponse();

            try
            {
                var httpWebRequest = (HttpWebRequest)WebRequest.Create(quincusParams.endpoint);
                if (string.Equals(MapProxy.WebProxyEnable, true.ToString(), StringComparison.OrdinalIgnoreCase))
                {
                    WebProxy myProxy = new WebProxy(MapProxy.webProxyURI, false, null, new NetworkCredential(MapProxy.webProxyUsername, MapProxy.webProxyPassword));
                    httpWebRequest.Proxy = myProxy;
                }
                httpWebRequest.ContentType = "application/json";
                httpWebRequest.Method      = "POST";
                using (var streamWriter = new StreamWriter(httpWebRequest.GetRequestStream()))
                {
                    var input = "{\"username\":\"" + quincusParams.username + "\"," +
                                "\"password\":\"" + quincusParams.password + "\"}";

                    streamWriter.Write(input);
                    streamWriter.Flush();
                    streamWriter.Close();
                }
                httpWebRequest.KeepAlive = false;
                var    httpResponse = (HttpWebResponse)httpWebRequest.GetResponse();
                string response;

                using (var streamReader = new StreamReader(httpResponse.GetResponseStream()))
                {
                    response = streamReader.ReadToEnd();
                    streamReader.Close();
                }

                if (!string.IsNullOrWhiteSpace(response))
                {
                    quincusTokenDataResponse.quincusTokenData = JsonConvert.DeserializeObject <QuincusTokenData>(response);
                    quincusTokenDataResponse.ResponseStatus   = true;
                }

                httpResponse.Close();
            }
            catch (Exception exception)
            {
                quincusTokenDataResponse.exception = exception;
            }

            return(quincusTokenDataResponse);
        }
Пример #2
0
        public static QuincusTranslatedAddressResponse GetTranslationAddress(IQuincusAddressTranslationRequest quincusAddressTranslationRequest, QuincusParams quincusParams)
        {
            QuincusTranslatedAddressResponse quincusTranslatedAddressResponse = QuincusProxy.GetTranslatedAddressResponse(quincusAddressTranslationRequest, quincusParams);

            return(quincusTranslatedAddressResponse);
        }
Пример #3
0
        public static QuincusTokenDataResponse GetToken(QuincusParams quincusParams)
        {
            QuincusTokenDataResponse quincusTokenDataResponse = QuincusProxy.GetToken(quincusParams);

            return(quincusTokenDataResponse);
        }
        public static QuincusTokenDataResponse GetToken(QuincusParams quincusParams)
        {
            QuincusTokenDataResponse quincusTokenDataResponse = new QuincusTokenDataResponse();
            var input = string.Empty;

            try
            {
                var httpWebRequest = (HttpWebRequest)WebRequest.Create(quincusParams.endpoint);
                if (string.Equals(MapProxy.WebProxyEnable, true.ToString(), StringComparison.OrdinalIgnoreCase))
                {
                    WebProxy myProxy = new WebProxy(MapProxy.webProxyURI, false, null, new NetworkCredential(MapProxy.webProxyUsername, MapProxy.webProxyPassword));
                    httpWebRequest.Proxy = myProxy;
                }
                httpWebRequest.ContentType = "application/json";
                httpWebRequest.Method      = "POST";
                using (var streamWriter = new StreamWriter(httpWebRequest.GetRequestStream()))
                {
                    input = "{\"username\":\"" + quincusParams.username + "\"," +
                            "\"password\":\"" + quincusParams.password + "\"}";

                    streamWriter.Write(input);
                    streamWriter.Flush();
                    streamWriter.Close();
                }
                httpWebRequest.KeepAlive = false;
                var    httpResponse = (HttpWebResponse)httpWebRequest.GetResponse();
                string response;

                using (var streamReader = new StreamReader(httpResponse.GetResponseStream()))
                {
                    response = streamReader.ReadToEnd();
                    streamReader.Close();
                }

                if (!string.IsNullOrWhiteSpace(response))
                {
                    quincusTokenDataResponse.quincusTokenData = JsonConvert.DeserializeObject <QuincusTokenData>(response);
                    quincusTokenDataResponse.ResponseStatus   = true;
                }

                httpResponse.Close();

                Task.Run(() => AuditEventEntry.LogEntry(new DataObjects.LogData.LogDataModel()
                {
                    dateTime       = DateTime.Now,
                    apiTypes       = DataObjects.LogData.APITypes.QuincusAPI_Token,
                    apiType        = "QuincusAPI_Token",
                    LogInformation = new DataObjects.LogData.LogInformation()
                    {
                        LogResponse  = response,
                        LogRequest   = string.Format("Senstive Information Identified {0}", System.Convert.ToBase64String(System.Text.Encoding.UTF8.GetBytes(input))),
                        LogException = null
                    }
                }));
            }
            catch (Exception exception)
            {
                quincusTokenDataResponse.exception = exception;
                Task.Run(() => AuditEventEntry.LogEntry(new DataObjects.LogData.LogDataModel()
                {
                    dateTime       = DateTime.Now,
                    apiTypes       = DataObjects.LogData.APITypes.QuincusAPI_Token,
                    apiType        = "QuincusAPI_Token",
                    LogInformation = new DataObjects.LogData.LogInformation()
                    {
                        LogResponse  = null,
                        LogRequest   = string.Format("Senstive Information Identified {0}", System.Convert.ToBase64String(System.Text.Encoding.UTF8.GetBytes(input))),
                        LogException = exception.InnerException.ToString()
                    }
                }));
            }

            return(quincusTokenDataResponse);
        }
        public static QuincusTranslatedAddressResponse GetTranslatedAddressResponse(IQuincusAddressTranslationRequest quincusAddressTranslationRequest, QuincusParams quincusParams)
        {
            string response = string.Empty;
            var    input    = string.Empty;
            QuincusTranslatedAddressResponse quincusTranslatedAddressResponse = new QuincusTranslatedAddressResponse();

            quincusTranslatedAddressResponse.ResponseData = new List <GetBatchResponseForAddressTranslation>();

            try
            {
                quincusTranslatedAddressResponse.RequestDataCount = quincusAddressTranslationRequest.shipmentWorkFlowRequests.Count;

                List <string> content = GetRequestContextForAddress.GetAddressStringFromRequest(quincusAddressTranslationRequest.shipmentWorkFlowRequests, quincusParams);
                quincusTranslatedAddressResponse.QuincusContentRequest = JsonConvert.SerializeObject(content);

                content.ForEach(requestdata =>
                {
                    var httpWebRequest = (HttpWebRequest)WebRequest.Create(
                        quincusAddressTranslationRequest.endpoint);
                    if (string.Equals(MapProxy.WebProxyEnable, true.ToString(), StringComparison.OrdinalIgnoreCase))
                    {
                        WebProxy myProxy = new WebProxy(MapProxy.webProxyURI, false, null, new NetworkCredential(MapProxy.webProxyUsername, MapProxy.webProxyPassword));

                        httpWebRequest.Proxy = myProxy;
                    }

                    httpWebRequest.ContentType = "application/json";
                    httpWebRequest.Headers.Add("AUTHORIZATION", "JWT " + quincusAddressTranslationRequest.token);
                    httpWebRequest.Method = "POST";

                    using (var streamWriter = new StreamWriter(httpWebRequest.GetRequestStream()))
                    {
                        input = requestdata;

                        streamWriter.Write(input);
                        streamWriter.Flush();
                        streamWriter.Close();
                    }

                    var httpResponse = (HttpWebResponse)httpWebRequest.GetResponse();

                    using (var streamReader = new StreamReader(httpResponse.GetResponseStream()))
                    {
                        response = streamReader.ReadToEnd();

                        streamReader.Close();
                    }

                    httpResponse.Close();

                    quincusTranslatedAddressResponse.ResponseData.Add(JsonConvert.DeserializeObject <GetBatchResponseForAddressTranslation>(response));
                    quincusTranslatedAddressResponse.Response = true;
                    quincusTranslatedAddressResponse.ResponseData.ForEach(record =>
                    {
                        record.addresses.ForEach(address =>
                        {
                            address.rcV_CPY_TE =
                                Convert.ToString(
                                    quincusAddressTranslationRequest.shipmentWorkFlowRequests
                                    .FirstOrDefault(_ =>
                                                    Convert.ToString(_.pkG_NR_TE) == address.id)
                                    .rcV_CPY_TE);
                        });
                    });


                    Task.Run(() => AuditEventEntry.LogEntry(new DataObjects.LogData.LogDataModel()
                    {
                        dateTime       = DateTime.Now,
                        apiTypes       = DataObjects.LogData.APITypes.QuincusAPI_Translation,
                        apiType        = Enum.GetName(typeof(UPS.DataObjects.LogData.APITypes), 4),
                        LogInformation = new DataObjects.LogData.LogInformation()
                        {
                            LogResponse  = response,
                            LogRequest   = JsonConvert.SerializeObject(quincusAddressTranslationRequest.shipmentWorkFlowRequests),
                            LogException = null
                        }
                    }));
                });
            }
            catch (Exception exception)
            {
                quincusTranslatedAddressResponse.exception = exception;
                Task.Run(() => AuditEventEntry.LogEntry(new DataObjects.LogData.LogDataModel()
                {
                    dateTime       = DateTime.Now,
                    apiTypes       = DataObjects.LogData.APITypes.QuincusAPI_Translation,
                    apiType        = Enum.GetName(typeof(UPS.DataObjects.LogData.APITypes), 4),
                    LogInformation = new DataObjects.LogData.LogInformation()
                    {
                        LogResponse  = null,
                        LogRequest   = JsonConvert.SerializeObject(quincusAddressTranslationRequest.shipmentWorkFlowRequests),
                        LogException = exception.InnerException.ToString()
                    }
                }));
            }

            return(quincusTranslatedAddressResponse);
        }
        public static List <string> GetAddressStringFromRequest(List <ShipmentWorkFlowRequest> shipmentWorkFlowRequests, QuincusParams quincusParams)
        {
            List <string> addressesSearlizationList = new List <string>();

            if (shipmentWorkFlowRequests.Count > 0)
            {
                QuincusAddressRequestData.ListQuincusAddressRequestData quincusAddressRequestData = new QuincusAddressRequestData.ListQuincusAddressRequestData();
                quincusAddressRequestData.addresses = new List <QuincusAddressRequestData.QuincusAddressRequestDataObject>();

                shipmentWorkFlowRequests.ForEach(Quinc =>
                {
                    QuincusAddressRequestDataObject quincusAddressRequestDataObject = new QuincusAddressRequestDataObject();
                    quincusAddressRequestDataObject.id                = Quinc.pkG_NR_TE.ToString();
                    quincusAddressRequestDataObject.recipient         = string.Empty;
                    quincusAddressRequestDataObject.address           = Quinc.rcV_ADR_TE;
                    quincusAddressRequestDataObject.addressline1      = string.Empty;
                    quincusAddressRequestDataObject.addressline2      = string.Empty;
                    quincusAddressRequestDataObject.addressline3      = string.Empty;
                    quincusAddressRequestDataObject.addressline4      = Quinc.dsT_PSL_TE.ToString();
                    quincusAddressRequestDataObject.address_type_flag = bool.TrueString;
                    quincusAddressRequestDataObject.city              = Quinc.dsT_CTY_TE;
                    quincusAddressRequestDataObject.region            = string.Empty;
                    quincusAddressRequestDataObject.country           = "China";
                    quincusAddressRequestDataObject.lang              = "CN";

                    quincusAddressRequestData.addresses.Add(quincusAddressRequestDataObject);
                });



                var getBatchList = quincusAddressRequestData.addresses.ChunkBy <QuincusAddressRequestDataObject>(quincusParams.chunkSize);


                getBatchList.ForEach(trans =>
                {
                    ListQuincusAddressRequestData listQuincusAddressRequestData = new ListQuincusAddressRequestData();
                    listQuincusAddressRequestData.addresses = trans;
                    addressesSearlizationList.Add(Newtonsoft.Json.JsonConvert.SerializeObject(listQuincusAddressRequestData));
                });
            }

            return(addressesSearlizationList);
        }