Beispiel #1
0
        /// <summary>
        /// Function get the Form 941 Return to Efile
        /// </summary>
        /// <param name="submissionId">SubmissionId passed to get the 941 return</param>
        /// <returns>Form941GetReturnResponse</returns>
        public ActionResult GetForm941(Guid submissionId)
        {
            var getReturnResponse     = new Form941GetReturnResponse();
            var getReturnResponseJSON = string.Empty;

            if (submissionId != null && submissionId != Guid.Empty)
            {
                //Get URLs from App.Config
                string ApiUrl = Utility.GetAppSettings(Constants.PublicAPIUrlWithJWT);

                //Get Access token from GetAccessToken Class
                GetAccessToken AccessToken = new GetAccessToken(HttpContext);
                //Get Access token from OAuth API response
                var GeneratedAccessToken = AccessToken.GetGeneratedAccessToken();
                if (!string.IsNullOrWhiteSpace(GeneratedAccessToken))
                {
                    using (var apiClient = new HttpClient())
                    {
                        //API URL to Get Form 941 Return
                        string requestUri = "Form941/Get?submissionId=" + submissionId;

                        apiClient.BaseAddress = new Uri(ApiUrl);
                        //Construct HTTP headers
                        OAuthGenerator.ConstructHeadersWithAccessToken(apiClient, GeneratedAccessToken);
                        //Get Response
                        var _response = apiClient.GetAsync(requestUri).Result;
                        if (_response != null && _response.IsSuccessStatusCode)
                        {
                            //Read Response
                            var createResponse = _response.Content.ReadAsAsync <Form941GetReturnResponse>().Result;
                            if (createResponse != null)
                            {
                                getReturnResponseJSON = JsonConvert.SerializeObject(createResponse, Formatting.Indented);
                                getReturnResponse     = new JavaScriptSerializer().Deserialize <Form941GetReturnResponse>(getReturnResponseJSON);
                                if (getReturnResponse != null && getReturnResponse.StatusCode == (int)StatusCodeList.Success)
                                {
                                    ViewData["GetResponseJSON"] = getReturnResponseJSON;
                                    return(PartialView());
                                }
                            }
                        }
                        else
                        {
                            var createResponse = _response.Content.ReadAsAsync <Object>().Result;
                            getReturnResponseJSON = JsonConvert.SerializeObject(createResponse, Formatting.Indented);
                            getReturnResponse     = new JavaScriptSerializer().Deserialize <Form941GetReturnResponse>(getReturnResponseJSON);
                        }
                    }
                }
            }
            return(PartialView(getReturnResponse));
        }
        /// <summary>
        /// Function get the Form 941 Return to Efile
        /// </summary>
        /// <param name="submissionId">SubmissionId passed to get the 941 return</param>
        /// <returns>Form941GetReturnResponse</returns>
        public ActionResult GetForm941(Guid submissionId)
        {
            var getReturnResponse     = new Form941GetReturnResponse();
            var getReturnResponseJSON = string.Empty;

            if (submissionId != null && submissionId != Guid.Empty)
            {
                using (var client = new PublicAPIClient())
                {
                    //API URL to Get Form 941 Return
                    string requestUri = "Form941/Get?submissionId=" + submissionId;

                    //Get
                    APIGenerateAuthHeader.GenerateAuthHeader(client, requestUri, "GET");

                    //Get Response
                    var _response = client.GetAsync(requestUri).Result;
                    if (_response != null && _response.IsSuccessStatusCode)
                    {
                        //Read Response
                        var createResponse = _response.Content.ReadAsAsync <Form941GetReturnResponse>().Result;
                        if (createResponse != null)
                        {
                            getReturnResponseJSON = JsonConvert.SerializeObject(createResponse, Formatting.Indented);
                            getReturnResponse     = new JavaScriptSerializer().Deserialize <Form941GetReturnResponse>(getReturnResponseJSON);
                            if (getReturnResponse != null && getReturnResponse.StatusCode == (int)StatusCode.Success)
                            {
                                ViewData["GetResponseJSON"] = getReturnResponseJSON;
                                return(PartialView());
                            }
                        }
                    }
                    else
                    {
                        var createResponse = _response.Content.ReadAsAsync <Object>().Result;
                        getReturnResponseJSON = JsonConvert.SerializeObject(createResponse, Formatting.Indented);
                        getReturnResponse     = new JavaScriptSerializer().Deserialize <Form941GetReturnResponse>(getReturnResponseJSON);
                    }
                }
            }
            return(PartialView(getReturnResponse));
        }
        /// <summary>
        /// Function get the Form 941 Return to Efile
        /// </summary>
        /// <param name="submissionId">SubmissionId passed to get the 941 return</param>
        /// <returns>Form941GetReturnResponse</returns>
        public ActionResult GetForm941(Guid submissionId)
        {
            var getReturnResponse     = new Form941GetReturnResponse();
            var getReturnResponseJSON = string.Empty;

            if (submissionId != null && submissionId != Guid.Empty)
            {
                string authType = Utility.GetAppSettings("AuthenticationType");
                if (!string.IsNullOrWhiteSpace(authType) && authType.ToUpper() == "JWT")
                {
                    //Get URLs from App.Config
                    string oAuthApiUrl = Utility.GetAppSettings("OAuthApiUrl");
                    string apiUrl      = Utility.GetAppSettings("PublicAPIUrlWithJWT");

                    //Call OAuth API
                    using (var oAuthClient = new HttpClient())
                    {
                        string oAuthRequestUri = Utility.GetAppSettings("OAuthApiMethodRoute");
                        oAuthClient.BaseAddress = new Uri(oAuthApiUrl);

                        //Generate JWS and get access token (JWT)
                        OAuthGenerator.GenerateJWSAndGetAccessToken(oAuthClient);

                        //Read OAuth API response
                        var response = oAuthClient.GetAsync(oAuthRequestUri).Result;
                        if (response != null && response.IsSuccessStatusCode)
                        {
                            var oauthApiResponse = response.Content.ReadAsAsync <AccessTokenResponse>().Result;
                            if (oauthApiResponse != null && oauthApiResponse.StatusCode == 200)
                            {
                                //Get Access token from OAuth API response
                                string accessToken = oauthApiResponse.AccessToken;
                                //Access token is valid for one hour. After that call OAuth API again & get new Access token.

                                if (!string.IsNullOrWhiteSpace(accessToken))
                                {
                                    //Call TaxBandits API using the Access token
                                    //Access token is valid for one hour. After that call OAuth API again & get new Access token.
                                    using (var apiClient = new HttpClient())
                                    {
                                        //API URL to Get Form 941 Return
                                        string requestUri = "Form941/Get?submissionId=" + submissionId;

                                        apiClient.BaseAddress = new Uri(apiUrl);
                                        //Construct HTTP headers
                                        //If Access token got expired, call OAuth API again & get new Access token.
                                        OAuthGenerator.ConstructHeadersWithAccessToken(apiClient, accessToken);

                                        //Get Response
                                        var _response = apiClient.GetAsync(requestUri).Result;
                                        if (_response != null && _response.IsSuccessStatusCode)
                                        {
                                            //Read Response
                                            var createResponse = _response.Content.ReadAsAsync <Form941GetReturnResponse>().Result;
                                            if (createResponse != null)
                                            {
                                                getReturnResponseJSON = JsonConvert.SerializeObject(createResponse, Formatting.Indented);
                                                getReturnResponse     = new JavaScriptSerializer().Deserialize <Form941GetReturnResponse>(getReturnResponseJSON);
                                                if (getReturnResponse != null && getReturnResponse.StatusCode == (int)StatusCode.Success)
                                                {
                                                    ViewData["GetResponseJSON"] = getReturnResponseJSON;
                                                    return(PartialView());
                                                }
                                            }
                                        }
                                        else
                                        {
                                            var createResponse = _response.Content.ReadAsAsync <Object>().Result;
                                            getReturnResponseJSON = JsonConvert.SerializeObject(createResponse, Formatting.Indented);
                                            getReturnResponse     = new JavaScriptSerializer().Deserialize <Form941GetReturnResponse>(getReturnResponseJSON);
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
                else
                {
                    using (var client = new PublicAPIClient())
                    {
                        //API URL to Get Form 941 Return
                        string requestUri = "Form941/Get?submissionId=" + submissionId;

                        //Get
                        APIGenerateAuthHeader.GenerateAuthHeader(client, requestUri, "GET");

                        //Get Response
                        var _response = client.GetAsync(requestUri).Result;
                        if (_response != null && _response.IsSuccessStatusCode)
                        {
                            //Read Response
                            var createResponse = _response.Content.ReadAsAsync <Form941GetReturnResponse>().Result;
                            if (createResponse != null)
                            {
                                getReturnResponseJSON = JsonConvert.SerializeObject(createResponse, Formatting.Indented);
                                getReturnResponse     = new JavaScriptSerializer().Deserialize <Form941GetReturnResponse>(getReturnResponseJSON);
                                if (getReturnResponse != null && getReturnResponse.StatusCode == (int)StatusCode.Success)
                                {
                                    ViewData["GetResponseJSON"] = getReturnResponseJSON;
                                    return(PartialView());
                                }
                            }
                        }
                        else
                        {
                            var createResponse = _response.Content.ReadAsAsync <Object>().Result;
                            getReturnResponseJSON = JsonConvert.SerializeObject(createResponse, Formatting.Indented);
                            getReturnResponse     = new JavaScriptSerializer().Deserialize <Form941GetReturnResponse>(getReturnResponseJSON);
                        }
                    }
                }
            }
            return(PartialView(getReturnResponse));
        }