Example #1
0
        /// <summary>
        ///  Telkom Inquriy
        /// </summary>

        //GET: api/Telkom
        public TelkomModels.TelkomInquiryResponse Get(string billingNumber)
        {
            TelkomModels.TelkomInquiryResponse result  = new TelkomModels.TelkomInquiryResponse();
            TelkomModels.TelkomInquiryRequest  request = new TelkomModels.TelkomInquiryRequest();
            TelkomHelper     telkomHelper     = new TelkomHelper();
            TelkomValidation telkomValidation = new TelkomValidation();

            var context           = new ValidationContext(Request, serviceProvider: null, items: null);
            var validationResults = new List <ValidationResult>();

            var authHeader = Request.Headers.Authorization;

            billingNumber = (billingNumber is null ? "" : billingNumber);

            request.institutionCode = InstitutionCredentials.InstitutionCode(authHeader);
            request.institutionKey  = InstitutionCredentials.InstitutionKey(authHeader);
            request.billingNumber   = billingNumber;

            string IP = InstitutionCredentials.IP();

            var isValid = Validator.TryValidateObject(Request, context, validationResults);

            if (!isValid)
            {
                foreach (var validationResult in validationResults)
                {
                    result.responseCode         = "01";
                    result.responseDescription += validationResult.ErrorMessage;
                }
                return(result);
            }

            string rc = telkomValidation.ValidateInputInquiryTelkom(ref request);

            if (rc.Equals("0005"))
            {
                result = telkomHelper.InquiryTelkom(ref request, IP);
            }
            else
            {
                result.responseCode        = rc;
                result.responseDescription = ResponseCodeModels.GetResponseDescription(rc);
            }

            return(result);
        }