Exemple #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));
        }
Exemple #2
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));
        }
Exemple #3
0
        /// <summary>
        /// Function delete the Form 941 Return to Efile
        /// </summary>
        /// <param name="submissionId">SubmissionId passed to delete the 941 return</param>
        /// <returns>DeleteReturnResponse</returns>
        public ActionResult Delete(Guid submissionId)
        {
            var deleteReturnRequest      = new DeleteReturnRequest();
            var deleteReturnResponse     = new DeleteReturnResponse();
            var deleteReturnResponseJSON = string.Empty;

            if (submissionId != null && submissionId != Guid.Empty)
            {
                deleteReturnRequest.SubmissionId = submissionId;
                if (deleteReturnRequest.SubmissionId != null)
                {
                    //Get URLs from App.Config
                    string         ApiUrl               = Utility.GetAppSettings(Constants.PublicAPIUrlWithJWT);
                    GetAccessToken AccessToken          = new GetAccessToken(HttpContext);
                    var            GeneratedAccessToken = AccessToken.GetGeneratedAccessToken();
                    if (!string.IsNullOrWhiteSpace(GeneratedAccessToken))
                    {
                        using (var apiClient = new HttpClient())
                        {
                            //API URL to Transmit Form 941 Return
                            string requestUri = "Form941/Delete?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);

                            //Get Response
                            var _response = apiClient.DeleteAsync(requestUri).Result;
                            if (_response != null && _response.IsSuccessStatusCode)
                            {
                                //Read Response
                                var createResponse = _response.Content.ReadAsAsync <DeleteReturnResponse>().Result;
                                if (createResponse != null)
                                {
                                    deleteReturnResponseJSON = JsonConvert.SerializeObject(createResponse, Formatting.Indented);
                                    deleteReturnResponse     = new JavaScriptSerializer().Deserialize <DeleteReturnResponse>(deleteReturnResponseJSON);
                                }
                            }
                            else
                            {
                                var createResponse = _response.Content.ReadAsAsync <Object>().Result;
                                deleteReturnResponseJSON = JsonConvert.SerializeObject(createResponse, Formatting.Indented);
                                deleteReturnResponse     = new JavaScriptSerializer().Deserialize <DeleteReturnResponse>(deleteReturnResponseJSON);
                            }
                        }
                    }
                }
            }
            return(PartialView(deleteReturnResponse));
        }
Exemple #4
0
 private static void AccessTokenThread()
 {
     while (true)
     {
         var str = GetAccessToken.Getaccesstoken();
         Console.WriteLine(str);
         Debug.WriteLine(str);
         if (str == "success")
         {
             //Debug.WriteLine("获取成功,准备线程休眠7000秒");
             Thread.Sleep(7000 * 1000);
         }
         else
         {
             Thread.Sleep(30 * 1000);
         }
     }
 }
Exemple #5
0
        /// <summary>
        /// Function transmit the Form 941 Return to Efile
        /// </summary>
        /// <param name="submissionId">SubmissionId passed to transmit the 941 return</param>
        /// <returns>TransmitFormW2Response</returns>
        public ActionResult _TransmitReturn(Guid submissionId)
        {
            TransmitForm transmitForm941             = new TransmitForm();
            var          transmitForm941Response     = new TransmitForm941Response();
            var          transmitForm941ResponseJSON = string.Empty;

            if (submissionId != null && submissionId != Guid.Empty)
            {
                transmitForm941.SubmissionId = submissionId;
                // Generate JSON for TransmitForm 941
                var requestJson = JsonConvert.SerializeObject(transmitForm941, Formatting.Indented);
                if (transmitForm941 != null)
                {
                    //Get URLs from App.Config
                    string ApiUrl = Utility.GetAppSettings(Constants.PublicAPIUrlWithJWT);
                    //Get Access token from GetAccessToken Class
                    GetAccessToken AccessToken          = new GetAccessToken(HttpContext);
                    var            GeneratedAccessToken = AccessToken.GetGeneratedAccessToken();
                    if (!string.IsNullOrWhiteSpace(GeneratedAccessToken))
                    {
                        using (var apiClient = new HttpClient())
                        {
                            //API URL to Transmit Form 941 Return
                            string requestUri = "Form941/Transmit";

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

                            //Get Response
                            var _response = apiClient.PostAsJsonAsync(requestUri, transmitForm941).Result;
                            if (_response != null && _response.IsSuccessStatusCode)
                            {
                                //Read Response
                                var createResponse = _response.Content.ReadAsAsync <TransmitForm941Response>().Result;
                                if (createResponse != null)
                                {
                                    transmitForm941ResponseJSON = JsonConvert.SerializeObject(createResponse, Formatting.Indented);
                                    transmitForm941Response     = new JavaScriptSerializer().Deserialize <TransmitForm941Response>(transmitForm941ResponseJSON);
                                    if (transmitForm941Response.SubmissionId != null && transmitForm941Response.SubmissionId != Guid.Empty && transmitForm941Response.StatusCode == (int)StatusCodeList.Success)
                                    {
                                        //Updating Filing Status (Transmitted) for a specific SubmissionId in Session
                                        //bool Isupdated = APISession.UpdateForm941ReturnFilingStatus(transmitForm941Response.SubmissionId);
                                        //if (Isupdated)
                                        //{
                                        //    transmitForm941Response.IsReturnTransmitted = true;
                                        //}
                                    }
                                }
                            }
                            else
                            {
                                var createResponse = _response.Content.ReadAsAsync <Object>().Result;
                                transmitForm941ResponseJSON = JsonConvert.SerializeObject(createResponse, Formatting.Indented);
                                transmitForm941Response     = new JavaScriptSerializer().Deserialize <TransmitForm941Response>(transmitForm941ResponseJSON);
                            }
                        }
                    }
                }
            }
            return(PartialView(transmitForm941Response));
        }
Exemple #6
0
        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));
        }
Exemple #7
0
 public TokenController()
 {
     this.getAccessToken = new GetAccessToken();
 }
Exemple #8
0
        public async Task <ApiResult> CodeLogin(UserLoginModel1 model)
        {
            if (string.IsNullOrEmpty(model.Code))
            {
                return(new ApiResult {
                    status = 0, msg = "微信code不能为空"
                });
            }
            HttpClient httpClient = new HttpClient();
            List <KeyValuePair <string, string> > parmArray = new List <KeyValuePair <string, string> >();

            parmArray.Add(new KeyValuePair <string, string>("appid", appid));
            parmArray.Add(new KeyValuePair <string, string>("secret", secret));
            parmArray.Add(new KeyValuePair <string, string>("js_code", model.Code));
            string result = await HttpClientHelper.GetResponseByGetAsync(httpClient, parmArray, "https://api.weixin.qq.com/sns/jscode2session");

            if (result.Contains("errcode"))
            {
                WeChatErrorResultModel errorModel = JsonConvert.DeserializeObject <WeChatErrorResultModel>(result);
                return(new ApiResult {
                    status = 0, msg = "微信返回errcode:" + errorModel.errcode + ",errmsg:" + errorModel.errmsg
                });
            }
            WeChatResultModel rightModel = JsonConvert.DeserializeObject <WeChatResultModel>(result);
            User user    = JwtHelper.JwtDecrypt <User>(ControllerContext);
            var  userDTO = await userService.GetModelAsync(user.Id);

            if (userDTO == null)
            {
                return(new ApiResult {
                    status = 0, msg = "会员不存在"
                });
            }
            if (string.IsNullOrEmpty(userDTO.ShareCode))
            {
                string getTokenUrl = string.Format("https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid={0}&secret={1}", appid, secret);
                string res         = await HttpClientHelper.GetResponseByGetAsync(httpClient, getTokenUrl);

                if (res.Contains(@"errcode\"))
                {
                    return(new ApiResult {
                        status = 1, data = res
                    });
                }
                GetAccessToken getAccessToken = JsonConvert.DeserializeObject <GetAccessToken>(res);
                Parm           parm           = new Parm();
                parm.scene = userDTO.Mobile;
                string getCodeUrl = string.Format("https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token={0}", getAccessToken.access_token);
                var    result1    = await HttpClientHelper.GetResponseStringByPostJsonAsync(httpClient, parm, getCodeUrl);

                string path = ImageHelper.SaveByte(result1);
                await userService.UpdateShareCodeAsync(user.Id, path);
            }
            if (rightModel.OpenId != user.Code.Substring(3, 28))
            {
                return(new ApiResult {
                    status = 0, msg = "登录失败"
                });
            }
            return(new ApiResult {
                status = 1, msg = "登录成功"
            });
        }