//Process 1 #region SaveGstr3B #region SaveGSTR3B /// <summary> /// SaveGSTR1 /// </summary> /// <param name="attrbute"></param> /// <returns></returns> public GstnResponse SaveGSTR3B(Attrbute attrbute) { var objBusiness = new UserBusiness(); var objResponse = new GstnResponse(); //generate token var token = CommonFunction.GetUniqueToken(); //table storage connection object var tblConnection = CommonFunction.GetBlob(); WEP.GSP.Service.Blob.TableStorage objTableStorage = new TableStorage(Constants.PartitionKey, Constants.RowKey , token , Constants.GSTNStageP1Table , Constants.actualTime); //log to table storage => P1 started Task.Factory.StartNew(() => objTableStorage.InsertStageToTableStorage(tblConnection.Keys, (int)WEP.GSP.Document.Stage.Validation_BEGIN)); //paylaod sizecheck int payloadSize = GetSizeOfObject(attrbute); if (payloadSize >= Constants.PayloadSize) { throw new Exception("Error : Payload size exceed 5 MB."); } // SaveGSTR3B GSTR3B(attrbute, token, tblConnection, objTableStorage); objResponse = GetRespByTokenWithRetrySmallFile(token); return(objResponse); }
/// <summary> /// GetGSTR2AFileDetailsWithResponse /// </summary> /// <param name="objAttr"></param> /// <returns></returns> public GstnResponse GetGSTR2AFileDetailsWithResponse(Attrbute objAttr) { UserBusiness objBusiness = new UserBusiness(); GstnResponse objResponse = new GstnResponse(); var token = CommonFunction.GetUniqueToken(); GSTR2AFileDetails(objAttr, token); objResponse = GetRespByTokenWithRetry(token); return(objResponse); }
/// <summary> /// GetGSTR3BTrackStatusWithResponse /// </summary> /// <param name="objAttribute"></param> /// <returns></returns> public GstnResponse GetGSTR3BTrackStatusWithResponse(Attrbute objAttribute) { UserBusiness objBusiness = new UserBusiness(); GstnResponse objResponse = new GstnResponse(); var token = CommonFunction.GetUniqueToken(); GSTR3BTrackStatus(objAttribute, token); objResponse = GetRespByTokenWithRetrySmallFile(token); return(objResponse); }
/// <summary> /// GetGSTR3BSummary /// </summary> /// <param name="objAttribute"></param> /// <returns></returns> public GstnResponse GetGSTR3BSummary(Attrbute objAttribute) { var objBusiness = new UserBusiness(); var objResponse = new GstnResponse(); var token = CommonFunction.GetUniqueToken(); GSTR3BSummary(objAttribute, token); objResponse = GetRespByTokenWithRetry(token); return(objResponse); }
//Others #region GetRespByTokenWithRetry /// <summary> /// GetRespByTokenWithRetry /// </summary> /// <param name="token"></param> /// <returns></returns> public GstnResponse GetRespByTokenWithRetry(string token) { GstnResponse objResponse = new GstnResponse(); UserBusiness objBusiness = new UserBusiness(); int remainingTries = Constants.MaxTrial; var exceptions = new List <Exception>(); string jsonRequest = new JavaScriptSerializer().Serialize(token); int sleeptime = 1; while (remainingTries > 0) { try { return(objBusiness.GetBlobConnectionByToken(token)); } catch (TimeoutException e) { exceptions.Add(e); } catch (CustomException cex) { exceptions.Add(cex); } catch (Exception ex) { exceptions.Add(ex); //throw ex; } Thread.Sleep(Constants.DelayTrialmsP1 * sleeptime); remainingTries--; sleeptime++; } throw new AggregateException("Could not process request. Will be re-attempt after some time, Token : " + token, exceptions); }