Skip to content

Commit f1c5d26

Browse files
committed
feature: csharp 12
1 parent df077a0 commit f1c5d26

20 files changed

+102
-222
lines changed

src/jcdcdev.Umbraco.ReadingTime/Core/Composing/ReadingTimeValueProviderCollection.cs

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,4 @@
22

33
namespace jcdcdev.Umbraco.ReadingTime.Core.Composing;
44

5-
public class ReadingTimeValueProviderCollection : BuilderCollectionBase<IReadingTimeValueProvider>
6-
{
7-
public ReadingTimeValueProviderCollection(Func<IEnumerable<IReadingTimeValueProvider>> items) : base(items)
8-
{
9-
}
10-
}
5+
public class ReadingTimeValueProviderCollection(Func<IEnumerable<IReadingTimeValueProvider>> items) : BuilderCollectionBase<IReadingTimeValueProvider>(items);

src/jcdcdev.Umbraco.ReadingTime/Core/Extensions/UmbracoBuilderExtensions.cs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
using jcdcdev.Umbraco.ReadingTime.Infrastructure.Persistence;
66
using Microsoft.Extensions.DependencyInjection;
77
using Umbraco.Cms.Core.DependencyInjection;
8-
using Umbraco.Cms.Core.Models.ContentEditing;
98
using Umbraco.Cms.Core.Notifications;
109
using Umbraco.Extensions;
1110

src/jcdcdev.Umbraco.ReadingTime/Core/Models/ReadingTimeValueModel.cs

Lines changed: 5 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -3,20 +3,12 @@
33

44
namespace jcdcdev.Umbraco.ReadingTime.Core.Models;
55

6-
public class ReadingTimeValueModel
6+
public class ReadingTimeValueModel(TimeSpan? readingTime, TimeUnit minUnit, TimeUnit maxUnit, string? culture)
77
{
8-
public ReadingTimeValueModel(TimeSpan? readingTime, TimeUnit minUnit, TimeUnit maxUnit, string? culture)
9-
{
10-
MinUnit = minUnit;
11-
MaxUnit = maxUnit;
12-
ReadingTime = readingTime;
13-
Culture = culture;
14-
}
15-
16-
public string? Culture { get; }
17-
public TimeSpan? ReadingTime { get; }
18-
public TimeUnit MinUnit { get; }
19-
public TimeUnit MaxUnit { get; }
8+
public string? Culture { get; } = culture;
9+
public TimeSpan? ReadingTime { get; } = readingTime;
10+
public TimeUnit MinUnit { get; } = minUnit;
11+
public TimeUnit MaxUnit { get; } = maxUnit;
2012

2113
public string DisplayTime(TimeUnit? minUnit = null, TimeUnit? maxUnit = null)
2214
{

src/jcdcdev.Umbraco.ReadingTime/Core/Models/ReadingTimeVariantDto.cs

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,7 @@ namespace jcdcdev.Umbraco.ReadingTime.Core.Models;
44

55
public class ReadingTimeVariantDto
66
{
7-
[DataMember(Name = "culture")]
8-
public string? Culture { get; set; }
9-
[DataMember(Name = "readingTime")]
10-
public TimeSpan? ReadingTime { get; set; }
7+
[DataMember(Name = "culture")] public string? Culture { get; set; }
8+
9+
[DataMember(Name = "readingTime")] public TimeSpan? ReadingTime { get; set; }
1110
}

src/jcdcdev.Umbraco.ReadingTime/Core/PropertyEditors/ReadingTimeConfigurationEditor.cs

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,4 @@
33

44
namespace jcdcdev.Umbraco.ReadingTime.Core.PropertyEditors;
55

6-
public class ReadingTimeConfigurationEditor : ConfigurationEditor<ReadingTimeConfiguration>
7-
{
8-
public ReadingTimeConfigurationEditor(IIOHelper ioHelper) : base(ioHelper)
9-
{
10-
}
11-
}
6+
public class ReadingTimeConfigurationEditor(IIOHelper ioHelper) : ConfigurationEditor<ReadingTimeConfiguration>(ioHelper);

src/jcdcdev.Umbraco.ReadingTime/Core/PropertyEditors/ReadingTimeDataEditor.cs

Lines changed: 7 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -9,21 +9,14 @@
99
namespace jcdcdev.Umbraco.ReadingTime.Core.PropertyEditors;
1010

1111
[DataEditor(Constants.PropertyEditorUIAlias)]
12-
public class ReadingTimeDataEditor : DataEditor
12+
public class ReadingTimeDataEditor(IDataValueEditorFactory dataValueEditorFactory, IIOHelper ioHelper, ILogger<ReadingTimeDataEditor> logger)
13+
: DataEditor(dataValueEditorFactory)
1314
{
14-
private readonly IIOHelper _ioHelper;
15-
private readonly ILogger _logger;
16-
17-
public ReadingTimeDataEditor(IDataValueEditorFactory dataValueEditorFactory, IIOHelper ioHelper, ILogger<ReadingTimeDataEditor> logger) : base(
18-
dataValueEditorFactory)
19-
{
20-
_ioHelper = ioHelper;
21-
_logger = logger;
22-
}
15+
private readonly ILogger _logger = logger;
2316

2417
protected override IConfigurationEditor CreateConfigurationEditor()
2518
{
26-
var config = new ReadingTimeConfigurationEditor(_ioHelper);
19+
var config = new ReadingTimeConfigurationEditor(ioHelper);
2720
foreach (var field in config.Fields)
2821
{
2922
field.Config["prevalues"] = new List<DropDownPreValue>
@@ -52,14 +45,8 @@ private string GetName(TimeUnit timeUnit)
5245
}
5346
}
5447

55-
public class DropDownPreValue
48+
public class DropDownPreValue(string label, int value)
5649
{
57-
[JsonProperty("label")] public string Label;
58-
[JsonProperty("value")] public int Value;
59-
60-
public DropDownPreValue(string label, int value)
61-
{
62-
Label = label;
63-
Value = value;
64-
}
50+
[JsonProperty("label")] public string Label = label;
51+
[JsonProperty("value")] public int Value = value;
6552
}

src/jcdcdev.Umbraco.ReadingTime/Core/PropertyEditors/ReadingTimePropertyValueConverter.cs

Lines changed: 8 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -5,21 +5,13 @@
55

66
namespace jcdcdev.Umbraco.ReadingTime.Core.PropertyEditors;
77

8-
public class ReadingTimePropertyValueConverter : PropertyValueConverterBase
8+
public class ReadingTimePropertyValueConverter(
9+
IReadingTimeService readingTimeService,
10+
IVariationContextAccessor variationContextAccessor,
11+
ILogger<ReadingTimePropertyValueConverter> logger)
12+
: PropertyValueConverterBase
913
{
10-
private readonly ILogger _logger;
11-
private readonly IReadingTimeService _readingTimeService;
12-
private readonly IVariationContextAccessor _variationContextAccessor;
13-
14-
public ReadingTimePropertyValueConverter(
15-
IReadingTimeService readingTimeService,
16-
IVariationContextAccessor variationContextAccessor,
17-
ILogger<ReadingTimePropertyValueConverter> logger)
18-
{
19-
_readingTimeService = readingTimeService;
20-
_variationContextAccessor = variationContextAccessor;
21-
_logger = logger;
22-
}
14+
private readonly ILogger _logger = logger;
2315

2416
public override object? ConvertIntermediateToObject(
2517
IPublishedElement owner,
@@ -33,8 +25,8 @@ public ReadingTimePropertyValueConverter(
3325
return null;
3426
}
3527

36-
var model = _readingTimeService.GetAsync(key, propertyType.DataType.Id).GetAwaiter().GetResult();
37-
var culture = _variationContextAccessor.VariationContext?.Culture;
28+
var model = readingTimeService.GetAsync(key, propertyType.DataType.Id).GetAwaiter().GetResult();
29+
var culture = variationContextAccessor.VariationContext?.Culture;
3830
var config = propertyType.DataType.ConfigurationAs<ReadingTimeConfiguration>();
3931
if (config is null)
4032
{
@@ -60,5 +52,4 @@ public ReadingTimePropertyValueConverter(
6052
public override Type GetPropertyValueType(IPublishedPropertyType propertyType) => typeof(ReadingTimeValueModel);
6153

6254
public override bool IsConverter(IPublishedPropertyType propertyType) => propertyType.EditorAlias == Constants.PropertyEditorAlias;
63-
6455
}

src/jcdcdev.Umbraco.ReadingTime/Core/ReadingTimeNotificationHandler.cs

Lines changed: 4 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -5,32 +5,25 @@
55

66
namespace jcdcdev.Umbraco.ReadingTime.Core;
77

8-
public class ReadingTimeNotificationHandler :
8+
public class ReadingTimeNotificationHandler(IReadingTimeService readingTimeService, ILocalizedTextService localizedTextService) :
99
INotificationAsyncHandler<ContentPublishedNotification>,
1010
INotificationAsyncHandler<ContentDeletingNotification>
1111
{
12-
private readonly ILocalizedTextService _localizedTextService;
13-
private readonly IReadingTimeService _readingTimeService;
14-
15-
public ReadingTimeNotificationHandler(IReadingTimeService readingTimeService, ILocalizedTextService localizedTextService)
16-
{
17-
_readingTimeService = readingTimeService;
18-
_localizedTextService = localizedTextService;
19-
}
12+
private readonly ILocalizedTextService _localizedTextService = localizedTextService;
2013

2114
public async Task HandleAsync(ContentDeletingNotification notification, CancellationToken cancellationToken)
2215
{
2316
foreach (var content in notification.DeletedEntities)
2417
{
25-
await _readingTimeService.DeleteAsync(content.Key);
18+
await readingTimeService.DeleteAsync(content.Key);
2619
}
2720
}
2821

2922
public async Task HandleAsync(ContentPublishedNotification notification, CancellationToken cancellationToken)
3023
{
3124
foreach (var item in notification.PublishedEntities)
3225
{
33-
await _readingTimeService.Process(item);
26+
await readingTimeService.Process(item);
3427
}
3528
}
3629

src/jcdcdev.Umbraco.ReadingTime/Infrastructure/Indexing/BlockReadingTimeValueProvider.cs

Lines changed: 3 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -6,25 +6,16 @@
66

77
namespace jcdcdev.Umbraco.ReadingTime.Infrastructure.Indexing;
88

9-
public class BlockReadingTimeValueProvider : ReadingTimeValueProviderBase
9+
public class BlockReadingTimeValueProvider(IBlockValuePropertyIndexValueFactory converter, IContentTypeService contentTypeService) : ReadingTimeValueProviderBase
1010
{
11-
private readonly IBlockValuePropertyIndexValueFactory _converter;
12-
private readonly IContentTypeService _contentTypeService;
13-
14-
public BlockReadingTimeValueProvider(IBlockValuePropertyIndexValueFactory converter, IContentTypeService contentTypeService)
15-
{
16-
_converter = converter;
17-
_contentTypeService = contentTypeService;
18-
}
19-
2011
public override bool CanConvert(IPropertyType type) =>
2112
type.PropertyEditorAlias is Constants.PropertyEditors.Aliases.BlockGrid or Constants.PropertyEditors.Aliases.BlockList;
2213

2314
public override TimeSpan? GetReadingTime(IProperty property, string? culture, string? segment, IEnumerable<string> availableCultures, ReadingTimeConfiguration config)
2415
{
2516
// TODO - Improve this
26-
var contentTypeDictionary = _contentTypeService.GetAll().ToDictionary(x => x.Key, x => x);
27-
var values = _converter.GetIndexValues(property, culture, segment, true, availableCultures, contentTypeDictionary);
17+
var contentTypeDictionary = contentTypeService.GetAll().ToDictionary(x => x.Key, x => x);
18+
var values = converter.GetIndexValues(property, culture, segment, true, availableCultures, contentTypeDictionary);
2819
return ProcessIndexValues(values, config.WordsPerMinute);
2920
}
3021
}

src/jcdcdev.Umbraco.ReadingTime/Infrastructure/Indexing/LegacyNestedContentReadingTimeValueProvider.cs

Lines changed: 3 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -6,23 +6,16 @@
66

77
namespace jcdcdev.Umbraco.ReadingTime.Infrastructure.Indexing;
88

9-
public class LegacyNestedContentReadingTimeValueProvider : ReadingTimeValueProviderBase
9+
public class LegacyNestedContentReadingTimeValueProvider(IContentTypeService contentTypeService) : ReadingTimeValueProviderBase
1010
{
11-
private readonly DefaultPropertyIndexValueFactory _converter;
12-
private readonly IContentTypeService _contentTypeService;
13-
14-
public LegacyNestedContentReadingTimeValueProvider(IContentTypeService contentTypeService)
15-
{
16-
_contentTypeService = contentTypeService;
17-
_converter = new DefaultPropertyIndexValueFactory();
18-
}
11+
private readonly DefaultPropertyIndexValueFactory _converter = new();
1912

2013
public override bool CanConvert(IPropertyType type) => type.PropertyEditorAlias is Constants.PropertyEditors.Aliases.NestedContent;
2114

2215
public override TimeSpan? GetReadingTime(IProperty property, string? culture, string? segment, IEnumerable<string> availableCultures, ReadingTimeConfiguration config)
2316
{
2417
// TODO - Improve this
25-
var contentTypeDictionary = _contentTypeService.GetAll().ToDictionary(x => x.Key, x => x);
18+
var contentTypeDictionary = contentTypeService.GetAll().ToDictionary(x => x.Key, x => x);
2619
var values = _converter.GetIndexValues(property, culture, segment, true, availableCultures, contentTypeDictionary);
2720
return ProcessIndexValues(values, config.WordsPerMinute);
2821
}

0 commit comments

Comments
 (0)