コード例 #1
0
        /// <summary>
        /// Function returns the Efile status of Form 941
        /// </summary>
        /// <param name="submissionId">SubmissionId is passed to get the efile status</param>
        /// <returns>Form941StatusResponse</returns>
        public ActionResult _GetEfileStatusResponse(Guid submissionId, Guid RecordId)
        {
            Form941StatusResponse efileStatusResponse = new Form941StatusResponse();

            if (submissionId != null && submissionId != Guid.Empty)
            {
                var efileRequest = new EfileStatusGetRequest {
                    SubmissionId = submissionId
                };
                var GetEfileStatusForm941ResponseJSON = string.Empty;
                // Request JSON
                var requestJson = JsonConvert.SerializeObject(efileRequest, Formatting.Indented);
                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();
                    //Access token is valid for one hour. After that call OAuth API again & get new Access token.

                    if (!string.IsNullOrWhiteSpace(GeneratedAccessToken))
                    {
                        using (var apiClient = new HttpClient())
                        {
                            //GET
                            var requestUri = "Form941/Status?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, GeneratedAccessToken);
                            //Read Response
                            var _response = apiClient.GetAsync(requestUri).Result;
                            if (_response != null && _response.IsSuccessStatusCode)
                            {
                                var createResponse = _response.Content.ReadAsAsync <Form941StatusResponse>().Result;
                                if (createResponse != null)
                                {
                                    GetEfileStatusForm941ResponseJSON = JsonConvert.SerializeObject(createResponse, Formatting.Indented);
                                    efileStatusResponse = new JavaScriptSerializer().Deserialize <Form941StatusResponse>(GetEfileStatusForm941ResponseJSON);
                                }
                            }
                            else
                            {
                                var createResponse = _response.Content.ReadAsAsync <Object>().Result;
                                GetEfileStatusForm941ResponseJSON = JsonConvert.SerializeObject(createResponse, Formatting.Indented);
                                efileStatusResponse = new JavaScriptSerializer().Deserialize <Form941StatusResponse>(GetEfileStatusForm941ResponseJSON);
                            }
                        }
                    }
                }
            }
            return(PartialView(efileStatusResponse));
        }
コード例 #2
0
        /// <summary>
        /// Function returns the Efile status of Form W-2
        /// </summary>
        /// <param name="submissionId">SubmissionId is passed to get the efile status</param>
        /// <returns>EfileStatusResponse</returns>
        public ActionResult _GetEfileStatusResponse(Guid submissionId)
        {
            EfileStatusResponse efileStatusResponse = new EfileStatusResponse();

            if (submissionId != null && submissionId != Guid.Empty)
            {
                var efileRequest = new EfileStatusGetRequest {
                    SubmissionId = submissionId
                };
                var recordIds       = APISession.GetRecordIdsBySubmissionId(submissionId);
                var recordIdsString = string.Empty;
                if (recordIds != null && recordIds.RecordIds != null && recordIds.RecordIds.Count > 0)
                {
                    efileRequest.RecordIds = recordIds.RecordIds;
                    recordIdsString        = string.Join(",", recordIds.RecordIds);
                }
                var transmitFormW2ResponseJSON = string.Empty;

                // Request JSON
                var requestJson = JsonConvert.SerializeObject(efileRequest, Formatting.Indented);

                if (submissionId != null && submissionId != Guid.Empty)
                {
                    using (var client = new PublicAPIClient())
                    {
                        //GET
                        string requestUri = "FormW2/Status?SubmissionId=" + submissionId + "&RecordIds=" + recordIdsString;

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

                        //Read Response
                        var _response = client.GetAsync(requestUri).Result;
                        if (_response != null && _response.IsSuccessStatusCode)
                        {
                            var createResponse = _response.Content.ReadAsAsync <EfileStatusResponse>().Result;
                            if (createResponse != null)
                            {
                                transmitFormW2ResponseJSON = JsonConvert.SerializeObject(createResponse, Formatting.Indented);
                                efileStatusResponse        = new JavaScriptSerializer().Deserialize <EfileStatusResponse>(transmitFormW2ResponseJSON);
                            }
                        }
                        else
                        {
                            var createResponse = _response.Content.ReadAsAsync <Object>().Result;
                            transmitFormW2ResponseJSON = JsonConvert.SerializeObject(createResponse, Formatting.Indented);
                            efileStatusResponse        = new JavaScriptSerializer().Deserialize <EfileStatusResponse>(transmitFormW2ResponseJSON);
                        }
                    }
                }
            }
            return(PartialView(efileStatusResponse));
        }
コード例 #3
0
        /// <summary>
        /// Function returns the Efile status of Form 941
        /// </summary>
        /// <param name="submissionId">SubmissionId is passed to get the efile status</param>
        /// <returns>Form941StatusResponse</returns>
        public ActionResult _GetEfileStatusResponse(Guid submissionId)
        {
            Form941StatusResponse efileStatusResponse = new Form941StatusResponse();

            if (submissionId != null && submissionId != Guid.Empty)
            {
                var efileRequest = new EfileStatusGetRequest {
                    SubmissionId = submissionId
                };
                var recordIds = APISession.GetForm941RecordIdsBySubmissionId(submissionId);
                if (recordIds != null && recordIds.RecordIds != null && recordIds.RecordIds.Count > 0)
                {
                    efileRequest.RecordIds = recordIds.RecordIds;
                }
                var transmitFormW2ResponseJSON = string.Empty;

                // Request JSON
                var requestJson = JsonConvert.SerializeObject(efileRequest, Formatting.Indented);

                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())
                                        {
                                            //POST
                                            string requestUri = "Form941/Status";

                                            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);

                                            //Read Response
                                            var _response = apiClient.PostAsJsonAsync(requestUri, efileRequest).Result;
                                            if (_response != null && _response.IsSuccessStatusCode)
                                            {
                                                var createResponse = _response.Content.ReadAsAsync <Form941StatusResponse>().Result;
                                                if (createResponse != null)
                                                {
                                                    transmitFormW2ResponseJSON = JsonConvert.SerializeObject(createResponse, Formatting.Indented);
                                                    efileStatusResponse        = new JavaScriptSerializer().Deserialize <Form941StatusResponse>(transmitFormW2ResponseJSON);
                                                }
                                            }
                                            else
                                            {
                                                var createResponse = _response.Content.ReadAsAsync <Object>().Result;
                                                transmitFormW2ResponseJSON = JsonConvert.SerializeObject(createResponse, Formatting.Indented);
                                                efileStatusResponse        = new JavaScriptSerializer().Deserialize <Form941StatusResponse>(transmitFormW2ResponseJSON);
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                    else
                    {
                        using (var client = new PublicAPIClient())
                        {
                            //POST
                            string requestUri = "Form941/Status";

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

                            //Read Response
                            var _response = client.PostAsJsonAsync(requestUri, efileRequest).Result;
                            if (_response != null && _response.IsSuccessStatusCode)
                            {
                                var createResponse = _response.Content.ReadAsAsync <Form941StatusResponse>().Result;
                                if (createResponse != null)
                                {
                                    transmitFormW2ResponseJSON = JsonConvert.SerializeObject(createResponse, Formatting.Indented);
                                    efileStatusResponse        = new JavaScriptSerializer().Deserialize <Form941StatusResponse>(transmitFormW2ResponseJSON);
                                }
                            }
                            else
                            {
                                var createResponse = _response.Content.ReadAsAsync <Object>().Result;
                                transmitFormW2ResponseJSON = JsonConvert.SerializeObject(createResponse, Formatting.Indented);
                                efileStatusResponse        = new JavaScriptSerializer().Deserialize <Form941StatusResponse>(transmitFormW2ResponseJSON);
                            }
                        }
                    }
                }
            }
            return(PartialView(efileStatusResponse));
        }