public async Task <Tuple <Guid, bool> > IsAuthorized(string userName, string userPassword) { var userTokens = userName.Split("@".ToCharArray(), StringSplitOptions.RemoveEmptyEntries); Tuple <Guid, bool> dataObj = new Tuple <Guid, bool>(Guid.Empty, false); List <dynamic> coll = await _dataAccess.QueryAsync(@"Select * from accounts a where a.userName = @userName AND a.userEmail = @userEmail ", DocumentDbExtensions.ToSqlParams(new { userName = userTokens[0], userEmail = string.Format("{0}@{1}", userTokens[0], userTokens[1]) })); var account = coll.FirstOrDefault(); if (account != null) { var validPass = PasswordHash.ValidatePassword(userPassword, account.userPassword.ToString()); dataObj = new Tuple <Guid, bool>(account.id, validPass); } return(dataObj); }