Beispiel #1
0
        public async Task <Content <Boolean> > UpdateEntityAsync(EndUser user)
        {
            var resultContent = new Content <Boolean>();

            try
            {
                if (String.IsNullOrEmpty(user.LastName) || String.IsNullOrEmpty(user.Name))
                {
                    var message = $"Unable to update {nameof(EndUserManager.user)} - some properties are null/empty.";
                    resultContent.AppendError(new ArgumentNullException(), message);
                    _logger_.LogError(message);
                }
                else
                {
                    var userContent = await GetEntityAsync(user.Id);

                    if (userContent.HasError)
                    {
                        var message = $"Unable to update {nameof(EndUserManager.user)} - active user not found.";
                        resultContent.AppendError(new KeyNotFoundException(), message);
                        _logger_.LogError(message);
                    }
                    else
                    {
                        if (String.Equals(userContent.Data.Name, user.Name, StringComparison.Ordinal) &&
                            String.Equals(userContent.Data.LastName, user.LastName, StringComparison.Ordinal))
                        {
                            var description = $"Tried updating {nameof(EndUserManager.user)} with same values";
                            resultContent.AppendError(new ArgumentException(), description);
                            _logger_.LogError(description);
                        }
                        else
                        {
                            var result = await _endUserRepository_.UpdateEntityAsync(user);

                            resultContent.SetData(result);
                        }
                    }
                }
            }
            catch (Exception e)
            {
                var message = $"Unable to Update {nameof(user)}.";
                resultContent.AppendError(e, message);
                _logger_.LogError(message);
            }
            return(resultContent);
        }