public Error InsertOrUpdateUserAlias(UserAliasModel userAliasModel, UserModel user, string lockGuid)
        {
            var error = validateUserAliasModel(userAliasModel);

            if (!error.IsError)
            {
                // Check that the lock is still current
                if (!db.IsLockStillValid(typeof(UserAlias).ToString(), userAliasModel.Id, lockGuid))
                {
                    error.SetError(EvolutionResources.errRecordChangedByAnotherUser, "");
                }
                else
                {
                    UserAlias temp = null;
                    if (userAliasModel.Id != 0)
                    {
                        temp = db.FindUserAlias(userAliasModel.Id);
                    }
                    if (temp == null)
                    {
                        temp = new UserAlias();
                    }

                    Mapper.Map <UserAliasModel, UserAlias>(userAliasModel, temp);

                    db.InsertOrUpdateUserAlias(temp);
                    userAliasModel.Id = temp.Id;
                }
            }
            return(error);
        }
        public void AddAlias(string id, string newAlias)
        {
            using (PoolItem <DirectoryService> connection = this.directoryServicePool.Take(NullValueHandling.Ignore))
            {
                UserAlias alias = new UserAlias
                {
                    AliasValue = newAlias
                };

                UserAliasInsertRequest request = new UserAliasInsertRequest(connection.Item, alias, id);

                request.ExecuteWithRetry(RetryEvents.BackoffNotFound);
            }
        }
示例#3
0
        public async Task <string> Handle(CreateUserAliasCommand request, CancellationToken cancellationToken)
        {
            // Ověřím, zda-li uživatel existuje.
            _userRepository.ThrowIfNotExists(request.UserId);

            // Vytvořím entitu naplněnou daty z příkazu.
            var entity = new UserAlias()
            {
                Alias = request.Alias
            };

            // Přidám záznam do datového zdroje a uložím.`
            await _userAliasRepository.AddOrUpdateAsync(entity, cancellationToken);

            await _unitOfWork.SaveChangesAsync(cancellationToken);

            // Vrátím Id vytvořeného záznamu.
            return(entity.Id);
        }