コード例 #1
0
        public Task<bool> InsertOrUpdate(UserInfo userInfo)
        {
            var userInfoDict = GetAllFromFile().ToDictionary(x => x.UserId);
            userInfoDict[userInfo.UserId] = userInfo;
            SaveToFile(userInfoDict.Values);

            return Task.FromResult(true);
        }
コード例 #2
0
        public async Task<UserInfo> Execute(String userId)
        {
            var userInfo = new UserInfo
            {
                UserId = userId,
                AuthHash = (userId + Guid.NewGuid().ToString()).ToSHA256Hash()
            };

            return await _userInfoRepository.InsertOrUpdate(userInfo) ? userInfo : null;
        }
コード例 #3
0
        public async Task<bool> InsertOrUpdate(UserInfo userInfo)
        {
            using (var ctx = new EfStorageDbContext())
            {
                var userInfoEntity = ctx.UserInfo
                            .Where(x => x.UserId == userInfo.UserId)
                            .FirstOrDefault();

                if (userInfoEntity == null)
                {
                    userInfoEntity = new EfStorageDbContext.UserInfoEntity() { UserId = userInfo.UserId };
                    ctx.UserInfo.Add(userInfoEntity);
                }
                userInfoEntity.AuthHash = userInfo.AuthHash;

                return (await ctx.SaveChangesAsync() == 1);
            }
        }