public ActionResult APIResponseStatus(Form941Data form941) { //Hardcoded values for Sequence var responseJson = string.Empty; form941.Sequence = "Record1"; form941.RecordId = null; form941.ReturnHeader.ReturnType = null; form941.ReturnHeader.Business.IsEIN = true; form941.ReturnHeader.Business.IsForeign = false; if (form941?.ReturnHeader?.ThirdPartyDesignee != null && (!string.IsNullOrEmpty(form941.ReturnHeader.ThirdPartyDesignee.Name) || !string.IsNullOrEmpty(form941.ReturnHeader.ThirdPartyDesignee.Phone) || !string.IsNullOrEmpty(form941.ReturnHeader.ThirdPartyDesignee.PIN))) { form941.ReturnHeader.IsThirdPartyDesignee = true; } if (form941?.ReturnHeader?.BusinessStatusDetails != null) { if (form941.ReturnHeader.BusinessStatusDetails.IsBusinessClosed == false) { form941.ReturnHeader.BusinessStatusDetails.BusinessClosedDetails = new BusinessClosedDetails(); } if (form941.ReturnHeader.BusinessStatusDetails.IsBusinessTransferred == false) { form941.ReturnHeader.BusinessStatusDetails.BusinessTransferredDetails = new BusinessTransferredDetails(); } } var form941Response = new Form941CreateReturnResponse(); var form941ReturnList = new Form941CreateReturnRequest { Form941Records = new List <Form941Data>() }; form941ReturnList.Form941Records.Add(form941); // Generate JSON for Form 941 var requestJson = JsonConvert.SerializeObject(form941ReturnList, Formatting.Indented); 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 Create Form 941 Return string requestUri = "Form941/Create"; 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 apiResponse = apiClient.PostAsJsonAsync(requestUri, form941ReturnList).Result; if (apiResponse != null && response.IsSuccessStatusCode) { //Read Response var createResponse = apiResponse.Content.ReadAsAsync <Form941CreateReturnResponse>().Result; if (createResponse != null) { responseJson = JsonConvert.SerializeObject(createResponse, Formatting.Indented); //Deserializing JSON (Success Response) to Form941CreateReturnResponse object form941Response = new JavaScriptSerializer().Deserialize <Form941CreateReturnResponse>(responseJson); if (form941Response.SubmissionId != null && form941Response.SubmissionId != Guid.Empty) { //Adding Form941CreateReturnResponse Response to Session APISession.AddForm941APIResponse(form941Response); } } } else { var createResponse = apiResponse.Content.ReadAsAsync <Object>().Result; responseJson = JsonConvert.SerializeObject(createResponse, Formatting.Indented); //Deserializing JSON (Error Response) to Form941CreateReturnResponse object form941Response = new JavaScriptSerializer().Deserialize <Form941CreateReturnResponse>(responseJson); } } } } } } } else { using (var client = new PublicAPIClient()) { //API URL to Create Form 941 Return string requestUri = "Form941/Create"; //POST APIGenerateAuthHeader.GenerateAuthHeader(client, requestUri, HttpMethod.Post.ToString()); //Get Response var response = client.PostAsJsonAsync(requestUri, form941ReturnList).Result; if (response != null && response.IsSuccessStatusCode) { //Read Response var createResponse = response.Content.ReadAsAsync <Form941CreateReturnResponse>().Result; if (createResponse != null) { responseJson = JsonConvert.SerializeObject(createResponse, Formatting.Indented); //Deserializing JSON (Success Response) to Form941CreateReturnResponse object form941Response = new JavaScriptSerializer().Deserialize <Form941CreateReturnResponse>(responseJson); if (form941Response.SubmissionId != null && form941Response.SubmissionId != Guid.Empty) { //Adding Form941CreateReturnResponse Response to Session APISession.AddForm941APIResponse(form941Response); } } } else { var createResponse = response.Content.ReadAsAsync <Object>().Result; responseJson = JsonConvert.SerializeObject(createResponse, Formatting.Indented); //Deserializing JSON (Error Response) to Form941CreateReturnResponse object form941Response = new JavaScriptSerializer().Deserialize <Form941CreateReturnResponse>(responseJson); } } } return(PartialView(form941Response)); }
public ActionResult CreateForm941(Form941Data form941) { var responseJson = string.Empty; form941.Sequence = Constants.Sequence; form941.RecordId = null; form941.ReturnHeader.ReturnType = Constants.ReturnType; form941.ReturnHeader.Business.IsEIN = true; form941.ReturnHeader.Business.IsForeign = false; form941.ReturnData.Form941.IsPayrollTaxCredit = false; if (form941?.ReturnHeader?.ThirdPartyDesignee != null && (!string.IsNullOrEmpty(form941.ReturnHeader.ThirdPartyDesignee.Name) || !string.IsNullOrEmpty(form941.ReturnHeader.ThirdPartyDesignee.Phone) || !string.IsNullOrEmpty(form941.ReturnHeader.ThirdPartyDesignee.PIN))) { form941.ReturnHeader.IsThirdPartyDesignee = true; } if (form941?.ReturnHeader?.BusinessStatusDetails != null) { if (form941.ReturnHeader.BusinessStatusDetails.IsBusinessClosed == false) { form941.ReturnHeader.BusinessStatusDetails.BusinessClosedDetails = new BusinessClosedDetails(); } if (form941.ReturnHeader.BusinessStatusDetails.IsBusinessTransferred == false) { form941.ReturnHeader.BusinessStatusDetails.BusinessTransferredDetails = new BusinessTransferredDetails(); } } var form941Response = new Form941CreateReturnResponse(); var form941ReturnList = new Form941CreateReturnRequest { Form941Records = new List <Form941Data>() }; form941ReturnList.Form941Records.Add(form941); string ApiUrl = Utility.GetAppSettings(Constants.PublicAPIUrlWithJWT); // Generate JSON for Form 941 var requestJson = JsonConvert.SerializeObject(form941ReturnList, Formatting.Indented); //Get Access token from OAuth API response GetAccessToken AccessToken = new GetAccessToken(HttpContext); string GeneratedAccessToken = AccessToken.GetGeneratedAccessToken(); if (!string.IsNullOrWhiteSpace(GeneratedAccessToken)) { using (var apiClient = new HttpClient()) { //API URL to Create Form 941 Return string requestUri = "Form941/Create"; apiClient.BaseAddress = new Uri(ApiUrl); //Construct HTTP headers in Generated Token. OAuthGenerator.ConstructHeadersWithAccessToken(apiClient, GeneratedAccessToken); //Post Response var apiResponse = apiClient.PostAsJsonAsync(requestUri, form941ReturnList).Result; if (apiResponse != null && apiResponse.IsSuccessStatusCode) { //Read Response var createResponse = apiResponse.Content.ReadAsAsync <Form941CreateReturnResponse>().Result; if (createResponse != null) { responseJson = JsonConvert.SerializeObject(createResponse, Formatting.Indented); //Deserializing JSON (Success Response) to Form941CreateReturnResponse object form941Response = new JavaScriptSerializer().Deserialize <Form941CreateReturnResponse>(responseJson); } } else { var createResponse = apiResponse.Content.ReadAsAsync <Object>().Result; responseJson = JsonConvert.SerializeObject(createResponse, Formatting.Indented); //Deserializing JSON (Error Response) to Form941CreateReturnResponse object form941Response = new JavaScriptSerializer().Deserialize <Form941CreateReturnResponse>(responseJson); } } } return(PartialView("APIResponseStatus", form941Response)); }
public ActionResult APIResponseStatus(Form941Data form941) { //Hardcoded values for Sequence var responseJson = string.Empty; form941.Sequence = "Record1"; form941.RecordId = null; form941.ReturnHeader.ReturnType = null; form941.ReturnHeader.Business.IsEIN = true; form941.ReturnHeader.Business.IsForeign = false; if (form941?.ReturnHeader?.ThirdPartyDesignee != null && (!string.IsNullOrEmpty(form941.ReturnHeader.ThirdPartyDesignee.Name) || !string.IsNullOrEmpty(form941.ReturnHeader.ThirdPartyDesignee.Phone) || !string.IsNullOrEmpty(form941.ReturnHeader.ThirdPartyDesignee.PIN))) { form941.ReturnHeader.IsThirdPartyDesignee = true; } if (form941?.ReturnHeader?.BusinessStatusDetails != null) { if (form941.ReturnHeader.BusinessStatusDetails.IsBusinessClosed == false) { form941.ReturnHeader.BusinessStatusDetails.BusinessClosedDetails = new BusinessClosedDetails(); } if (form941.ReturnHeader.BusinessStatusDetails.IsBusinessTransferred == false) { form941.ReturnHeader.BusinessStatusDetails.BusinessTransferredDetails = new BusinessTransferredDetails(); } } var form941Response = new Form941CreateReturnResponse(); var form941ReturnList = new Form941CreateReturnRequest { Form941Records = new List <Form941Data>() }; form941ReturnList.Form941Records.Add(form941); // Generate JSON for Form 941 var requestJson = JsonConvert.SerializeObject(form941ReturnList, Formatting.Indented); using (var client = new PublicAPIClient()) { //API URL to Create Form 941 Return string requestUri = "Form941/Create"; //POST APIGenerateAuthHeader.GenerateAuthHeader(client, requestUri, HttpMethod.Post.ToString()); //Get Response var response = client.PostAsJsonAsync(requestUri, form941ReturnList).Result; if (response != null && response.IsSuccessStatusCode) { //Read Response var createResponse = response.Content.ReadAsAsync <Form941CreateReturnResponse>().Result; if (createResponse != null) { responseJson = JsonConvert.SerializeObject(createResponse, Formatting.Indented); //Deserializing JSON (Success Response) to Form941CreateReturnResponse object form941Response = new JavaScriptSerializer().Deserialize <Form941CreateReturnResponse>(responseJson); if (form941Response.SubmissionId != null && form941Response.SubmissionId != Guid.Empty) { //Adding Form941CreateReturnResponse Response to Session APISession.AddForm941APIResponse(form941Response); } } } else { var createResponse = response.Content.ReadAsAsync <Object>().Result; responseJson = JsonConvert.SerializeObject(createResponse, Formatting.Indented); //Deserializing JSON (Error Response) to Form941CreateReturnResponse object form941Response = new JavaScriptSerializer().Deserialize <Form941CreateReturnResponse>(responseJson); } } return(PartialView(form941Response)); }