Example #1
0
        private void TokenReceived()
        {
            using (var trs = new TransactionScope())
            {
                DateTime now = DateTime.Now; // Time of request

                ADOLinkRequest alr = new ADOLinkRequest();

                LinkRequest lr = alr.Insert(
                    new LinkRequest()
                {
                    RequestedOn = DateTime.Now,
                    Token       = TextBox3.Text
                });

                // Get a link for the token.
                ADOToken at    = new ADOToken();
                IToken   token = at.FindUnexpired(lr.Token);

                if (token == null)
                {
                    Response.Redirect("TokenNotFound.aspx");
                    return;
                }

                ADOTokenType att = new ADOTokenType();
                TokenType    tt  = att.ById(token.TokenTypeId);

                //Now get Token request for this token.
                ADOTokenRequest atr = new ADOTokenRequest();
                TokenRequest    tr  = atr.FindFor(token);

                bool expiredNow = token.SingleUse || tr.RequestedOn.AddSeconds(token.ValidForSeconds) <= now;
                if (expiredNow)
                {
                    token = at.Expire(token);
                }

                if (token.IsExpired)
                {
                    //Get token service
                    TokenService ts = new TokenServices().GetTokenService(tt);
                    //Make token available again
                    ts.ReturnToken(token);
                }

                trs.Complete();
                Response.Redirect(
                    String.Format("Transfer.aspx?url2={0}", Server.UrlEncode(tr.LinkHref)));

                return;
            }
        }
Example #2
0
        /// <summary>
        /// Executed when link is received. Generates a token request, gets a token.
        /// </summary>
        private void LinkReceived()
        {
            //Uri validator must be passed to pass
            if (!Page.IsValid)
            {
                return;
            }

            IToken token = null;

            using (var trs = new TransactionScope())
            {
                //Save request.
                TokenRequest tokenRequest = new TokenRequest()
                {
                    LinkHref        = TextBox1.Text
                    , RequestedOn   = DateTime.Now
                    , TokenTypeId   = Convert.ToInt32(RadioButtonList1.SelectedValue)
                    , TokenTypeText = RadioButtonList1.SelectedItem.Text
                    , SingleUse     = CheckBox1.Checked
                };
                ADOTokenRequest atr = new ADOTokenRequest();
                tokenRequest = atr.Insert(tokenRequest);

                //Use token generator
                TokenService ts = new TokenServices().GetTokenService(tokenRequest);
                token           = new TokenGenerator().GetTokenForStoring(ts, tokenRequest);
                token.SingleUse = tokenRequest.SingleUse;

                //Save a link.
                ADOLink atl = new ADOLink();
                atl.Insert(new Link()
                {
                    LinkHref = tokenRequest.LinkHref, TokenId = token.TokenId
                });

                //Now save this token to the tokens list.
                ADOToken at = new ADOToken();
                token = at.Insert(token);

                //Next assign a token to this request.
                tokenRequest.TokenId = token.TokenId;
                atr.UpdateTokenId(tokenRequest);

                trs.Complete();
            }

            //Set up the view
            TextBox2.Text = token.TokenText;
            TextBox2.Focus();

            SetupClipBoard();
        }