/// <summary>
 /// Sequence:
 /// -->Retrieve the Request token
 /// -->Retrieve the value from query string
 /// -->Retrieve acces token
 /// -->Retrieve acces secret
 /// -->Redirect to close
 /// </summary>
 /// <returns></returns>
 public ActionResult Response()
 {
     oAuthorizationDB = new OAuthTokens();
     oAuthService = new OAuthService(oAuthorizationdto);
     oAuthorizationdto = oAuthService.GetRequestToken(this);
     if (Request.QueryString.HasKeys())
     {
         oAuthorizationdto.OauthVerifyer = Request.QueryString["oauth_verifier"].ToString();
         oAuthorizationDB.realmid = Convert.ToInt32(Request.QueryString["realmId"].ToString());
         oAuthorizationdto.Realmid = oAuthorizationDB.realmid;
         oAuthorizationDB.datasource = Request.QueryString["dataSource"].ToString();
         oAuthorizationdto.DataSource = oAuthorizationDB.datasource;
         oAuthorizationdto = oAuthService.GetAccessTokenFromServer(this,oAuthorizationdto);
         //encrypt the tokens
         oAuthorizationDB.access_secret = Utility.Encrypt(oAuthorizationdto.AccessTokenSecret, oAuthorizationdto.SecurityKey);
         oAuthorizationDB.access_token = Utility.Encrypt(oAuthorizationdto.AccessToken, oAuthorizationdto.SecurityKey);
         using (var oAuthorizationDBContext = new OAuthdataContext("DBContext"))
         {
             //store the encrypted tokens to DB.
             oAuthorizationDBContext.Tokens.Add(oAuthorizationDB);
             oAuthorizationDBContext.SaveChanges();
         }
     }
     return RedirectToAction("Close", "Home");
 }
 /// <summary>
 /// This function checks whether the token is present.
 /// </summary>
 /// <param name="oauthController"></param>
 /// <returns></returns>
 public OAuthorizationdto IsTokenAvailable(object oauthController)
 {
     var oAuthDetails = new OAuthorizationdto();
     using (var db = new OAuthdataContext("DBContext"))
     {
         foreach (var currentIndex in db.Tokens)
         {
             oAuthDetails.Realmid = currentIndex.realmid;
             string testAccesToken = Utility.Decrypt(currentIndex.access_token, oAuthDetails.SecurityKey);
             string testAccesTokenSecret = Utility.Decrypt(currentIndex.access_secret, oAuthDetails.SecurityKey);
             oAuthDetails.AccessToken = testAccesToken;
             oAuthDetails.AccessTokenSecret = testAccesTokenSecret;
             oAuthDetails.IsConnected = true;
             oAuthDetails.DataSource = currentIndex.datasource;
             oAuthRepository.Save(oauthController, oAuthDetails);
         }
     }
     return oAuthDetails;
 }