Пример #1
0
        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);
        }