Ejemplo n.º 1
0
        //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);
        }
Ejemplo n.º 2
0
        /// <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);
        }
Ejemplo n.º 3
0
        /// <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);
        }
Ejemplo n.º 4
0
        /// <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);
        }
Ejemplo n.º 5
0
        //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);
        }