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; } }
/// <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(); }