Esempio n. 1
0
        public IActionResult GetPNRStatus([FromBodyAttribute] PNREnquiryRequest request)
        {
            try
            {
                if (!ModelState.IsValid || request.pnrNo <= 0)
                {
                    return(Ok(new Application_ResponseWrapper()
                    {
                        ResponseCode = "1000", ResponseMessage = "Invalid model", Status = "failed"
                    }));
                }
                if (string.IsNullOrEmpty(_irctcUrl) || string.IsNullOrEmpty(_irctc_userName) || string.IsNullOrEmpty(_irctc_password))
                {
                    return(Ok(new Application_ResponseWrapper()
                    {
                        ResponseCode = "1001", ResponseMessage = "No IRCTC configuration found", Status = "failed"
                    }));
                }
                string uri = _irctcUrl + "taenqservices/pnrenquiry/" + request.pnrNo;

                CommunicationLog("OxiRail", "PNREnquiry IN->>:" + uri + ":" + JsonConvert.SerializeObject(request).ToString(), Convert.ToInt64(request.userSession));
                var response = _enquiry.GetPNRStatus(uri, request.userSession, _authInfo);
                CommunicationLog("OxiRail", "PNREnquiry OUT->>:" + uri + ":" + JsonConvert.SerializeObject(response).ToString(), Convert.ToInt64(request.userSession));

                var pnrEnquiryResponse = JsonConvert.DeserializeObject <PNREnquiryResponse>(response.ToString());
                if (pnrEnquiryResponse.passengerList == null)
                {
                    var errorResponse = JsonConvert.DeserializeObject <ErrorResponse>(response.ToString());
                    return(Ok(new Application_ResponseWrapper()
                    {
                        ResponseCode = "0", ResponseMessage = errorResponse.errorMessage, Status = "Error", ResponseResult = ""
                    }));
                }
                return(Ok(new Application_ResponseWrapper()
                {
                    ResponseCode = "0", ResponseMessage = "success", Status = "success", ResponseResult = pnrEnquiryResponse
                }));
            }
            catch (Exception ex)
            {
                return(Ok(new Application_ResponseWrapper()
                {
                    ResponseCode = "1005", ResponseMessage = "Api_Error", Status = "Error", ResponseResult = ex
                }));
            }
        }