Lots of Bugfixes (#2356)

This commit is contained in:
Joe Milazzo 2023-10-27 16:18:56 -05:00 committed by GitHub
parent 86e931dd9a
commit 226d6831df
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
47 changed files with 359 additions and 225 deletions

View file

@ -1,5 +1,6 @@
using System;
using System.Collections.Generic;
using System.Globalization;
using API.Entities;
using API.Entities.Enums;
using API.Services.Tasks.Scanner.Parser;
@ -17,7 +18,7 @@ public class ChapterBuilder : IEntityBuilder<Chapter>
{
Range = string.IsNullOrEmpty(range) ? number : range,
Title = string.IsNullOrEmpty(range) ? number : range,
Number = Parser.MinNumberFromRange(number) + string.Empty,
Number = Parser.MinNumberFromRange(number).ToString(CultureInfo.InvariantCulture),
Files = new List<MangaFile>(),
Pages = 1
};

View file

@ -1,8 +1,10 @@
using System;
using System.Collections.Generic;
using System.Globalization;
using System.Linq;
using API.DTOs.Filtering.v2;
using API.Entities.Enums;
using API.Extensions;
namespace API.Helpers.Converters;
@ -68,7 +70,7 @@ public static class FilterFieldValueConverter
.Select(int.Parse)
.ToList(),
FilterField.WantToRead => bool.Parse(value),
FilterField.ReadProgress => float.Parse(value),
FilterField.ReadProgress => value.AsFloat(),
FilterField.ReadingDate => DateTime.Parse(value),
FilterField.Formats => value.Split(',')
.Select(x => (MangaFormat) Enum.Parse(typeof(MangaFormat), x))

View file

@ -72,7 +72,7 @@ public static class SmartFilterHelper
private static string EncodeSortOptions(SortOptions sortOptions)
{
return $"sortField={(int) sortOptions.SortField}&isAscending={sortOptions.IsAscending}";
return Uri.EscapeDataString($"sortField={(int) sortOptions.SortField}&isAscending={sortOptions.IsAscending}");
}
private static string EncodeFilterStatementDtos(ICollection<FilterStatementDto> statements)
@ -90,7 +90,7 @@ public static class SmartFilterHelper
var encodedField = $"field={(int) statement.Field}";
var encodedValue = $"value={Uri.EscapeDataString(statement.Value)}";
return $"{encodedComparison}&{encodedField}&{encodedValue}";
return Uri.EscapeDataString($"{encodedComparison},{encodedField},{encodedValue}");
}
private static List<FilterStatementDto> DecodeFilterStatementDtos(string encodedStatements)
@ -119,11 +119,11 @@ public static class SmartFilterHelper
private static SortOptions DecodeSortOptions(string encodedSortOptions)
{
string[] parts = encodedSortOptions.Split('&');
string[] parts = encodedSortOptions.Split(',');
var sortFieldPart = parts.FirstOrDefault(part => part.StartsWith("sortField="));
var isAscendingPart = parts.FirstOrDefault(part => part.StartsWith("isAscending="));
var isAscending = isAscendingPart?.Substring(11).Equals("true", StringComparison.OrdinalIgnoreCase) ?? true;
var isAscending = isAscendingPart?.Substring(11).Equals("true", StringComparison.OrdinalIgnoreCase) ?? false;
if (sortFieldPart != null)
{
var sortField = Enum.Parse<SortField>(sortFieldPart.Split("=")[1]);