Esempio n. 1
0
        public IActionResult GetRdsDetails([FromBodyAttribute] RDSRequest request)
        {
            try
            {
                if (!ModelState.IsValid || request.request == null || string.IsNullOrEmpty(request.request.masterUserId))
                {
                    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/rdsaccdetailsenq";

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

                var rdsEnquiryResponse = JsonConvert.DeserializeObject <RDSEnquiryResponse>(response.ToString());
                if (rdsEnquiryResponse.balanceLeft == 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 = rdsEnquiryResponse
                }));
            }
            catch (Exception ex)
            {
                return(Ok(new Application_ResponseWrapper()
                {
                    ResponseCode = "1005", ResponseMessage = "Api_Error", Status = "Error", ResponseResult = ex
                }));
            }
        }