Example #1
0
        private async Task <int> SaveSettingsAsync(int itemId, int userId, ProfileSettingsParams profileSettings)
        {
            if (profileSettings == null)
            {
                throw new ArgumentException(I18NHelper.FormatInvariant(
                                                ErrorMessages.ArtifactList.SaveProfileSettingsProfileSettingsNull));
            }

            var existingSettings = await _artifactListSettingsRepository.GetSettingsAsync(itemId, userId);

            var settings =
                new XmlProfileSettings
            {
                Columns = !profileSettings.ColumnsUndefined
                        ? ArtifactListHelper.ConvertProfileColumnsToXmlProfileSettings(profileSettings.Columns)
                        : existingSettings?.Columns,
                PaginationLimit = !profileSettings.PaginationLimitUndefined ? profileSettings.PaginationLimit : existingSettings?.PaginationLimit,
            };

            if (existingSettings == null)
            {
                return(await _artifactListSettingsRepository.CreateSettingsAsync(itemId, userId, settings));
            }
            else
            {
                return(await _artifactListSettingsRepository.UpdateSettingsAsync(itemId, userId, settings));
            }
        }
        public void Initialize()
        {
            _userId             = 1;
            _itemId             = 1;
            _xmlProfileSettings = new XmlProfileSettings
            {
                Columns = new List <XmlProfileColumn>
                {
                    new XmlProfileColumn
                    {
                        PropertyName  = "Name",
                        Predefined    = (int)PropertyTypePredefined.Name,
                        PrimitiveType = (int)PropertyPrimitiveType.Text
                    },
                    new XmlProfileColumn
                    {
                        PropertyName   = "My Choice",
                        Predefined     = (int)PropertyTypePredefined.CustomGroup,
                        PrimitiveType  = (int)PropertyPrimitiveType.Choice,
                        PropertyTypeId = 25
                    }
                }
            };

            _repositoryMock = new Mock <IArtifactListSettingsRepository>();
            _repositoryMock
            .Setup(m => m.GetSettingsAsync(_itemId, _userId))
            .ReturnsAsync(_xmlProfileSettings);
            _service = new ArtifactListService(_repositoryMock.Object);
        }
 public static ProfileColumns ConvertXmlProfileSettingsToProfileColumns(XmlProfileSettings settings) =>
 new ProfileColumns(
     settings.Columns?
     .Select(xmlColumn => new ProfileColumn(
                 xmlColumn.PropertyName,
                 (PropertyTypePredefined)xmlColumn.Predefined,
                 (PropertyPrimitiveType)xmlColumn.PrimitiveType,
                 xmlColumn.PropertyTypeId))
     .ToList());
        public async Task <int> UpdateSettingsAsync(int itemId, int userId, XmlProfileSettings settings)
        {
            var parameters = new DynamicParameters();

            parameters.Add("@userId", userId);
            parameters.Add("@itemId", itemId);
            parameters.Add("@settings", SerializationHelper.ToXml(settings));

            return(await _connectionWrapper.ExecuteScalarAsync <int>(
                       "UpdateArtifactListSettings", parameters, commandType : CommandType.StoredProcedure));
        }
 public static int?ConvertXmlProfileSettingsToPaginationLimit(XmlProfileSettings settings) =>
 settings.PaginationLimit;