コード例 #1
0
        public static UserCredentialsIndexDoc ToUserCredentialsIndexDoc(this UserSignupInfo signupInfo)
        {
            var indexDoc = new UserCredentialsIndexDoc()
            {
                Id       = signupInfo.UserId.ToLower(),
                Email    = string.Empty,
                Language = signupInfo.Language.ToLower(),
                CanPost  = false,
                Streams  = new string[] { }
            };

            return(indexDoc);
        }
コード例 #2
0
        public async Task <User> GetUser([FromBody] UserSignupInfo signupInfo)
        {
            try
            {
                UserCredentialsIndexDoc userDoc = null;
                try
                {
                    userDoc = await _credentialsIndex.LookupDocument <UserCredentialsIndexDoc>(signupInfo.UserId.ToLower());
                }
                catch (Exception e) {}

                if (userDoc == null)
                {
                    // TODO: Check if password has min requirements
                    var indexDoc = signupInfo.ToUserCredentialsIndexDoc();

                    // Get default streams... and get user streams from contacts
                    indexDoc.Streams = _config.AllStreams.Where(t => t.Lang.ToLower() == signupInfo.Language.ToLower())
                                       .Select(t => String.Format("{0}_{1}", t.Lang.ToLower(), t.Text.ToLower())).ToArray();
                    var uploadedDoc = await _credentialsIndex.UploadDocument(indexDoc);

                    if (!uploadedDoc.Results.First().Succeeded)
                    {
                        throw new Exception(string.Format("Sorry, could not sign you up. Please try again"));
                    }
                    // If Signup success
                    return(indexDoc.ToUser(_config.AllStreams.Where(t => t.Lang.ToLower() == indexDoc.Language.ToLower())));
                }
                else
                {
                    return(userDoc.ToUser(_config.AllStreams.Where(t => t.Lang.ToLower() == userDoc.Language.ToLower())));
                }
            }
            catch (Exception e)
            {
                throw e;
            }
        }