示例#1
0
        public async Task AddUserAsync(UserDTO user)
        {
            if (_userStorageContainer == null)
            {
                _userStorageContainer = new UserStorageContainer();
            }

            if ( user.Id == 0 )
            {
                var lastUser = _userStorageContainer.Users.OrderBy(x => x.Id).LastOrDefault() ?? new UserDTO();

                user.Id = lastUser.Id + 1;

                if ( user.ImageBytes == null || !user.ImageBytes.Any())
                {
                    user.ImageBytes = await GetGuestSilhouetteImageBytesAsync();
                }

                _userStorageContainer.Users.Add(user);
            }
            else
            {
                var foundUser = _userStorageContainer.Users.FirstOrDefault(x => x.Id == user.Id);

                if (foundUser == null )
                {
                    _userStorageContainer.Users.Add(user);
                }
                else
                {
                    var index = _userStorageContainer.Users.IndexOf(foundUser);
                    _userStorageContainer.Users[index] = user;
                }
            }

            _usersStorageHelper.SaveASync(_userStorageContainer, UsersStorageFileName);
        }
示例#2
0
        public async Task<IList<UserDTO>> Users()
        {
            try
            {
                var results = new List<UserDTO>();

                if ( _userStorageContainer == null )
                {
                    _userStorageContainer = await _usersStorageHelper.LoadASync(UsersStorageFileName);    
                }

                if ( _userStorageContainer != null )
                {
                    results = _userStorageContainer.Users.ToList();
                }

                return results;
            }
            catch (Exception e)
            {
                var v = e.Message;
                throw;
            }
        }