re-structure Services

This commit is contained in:
Collin M. Barrett 2018-01-31 08:43:04 -06:00
parent a4aebd4991
commit d29b6ff2ee
31 changed files with 96 additions and 83 deletions

View file

@ -1,8 +1,14 @@
<wpf:ResourceDictionary xml:space="preserve" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:s="clr-namespace:System;assembly=mscorlib"
xmlns:ss="urn:shemas-jetbrains-com:settings-storage-xaml"
xmlns:wpf="http://schemas.microsoft.com/winfx/2006/xaml/presentation">
<wpf:ResourceDictionary xml:space="preserve" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:s="clr-namespace:System;assembly=mscorlib" xmlns:ss="urn:shemas-jetbrains-com:settings-storage-xaml" xmlns:wpf="http://schemas.microsoft.com/winfx/2006/xaml/presentation">
<s:String x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/PLACE_ACCESSORHOLDER_ATTRIBUTE_ON_SAME_LINE_EX/@EntryValue">NEVER</s:String>
<s:Boolean x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/SPACE_AFTER_TYPECAST_PARENTHESES/@EntryValue">False</s:Boolean>
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/PredefinedNamingRules/=PrivateInstanceFields/@EntryIndexedValue">&lt;Policy Inspect="True" Prefix="" Suffix="" Style="aaBb" /&gt;</s:String>
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/PredefinedNamingRules/=PrivateStaticFields/@EntryIndexedValue">&lt;Policy Inspect="True" Prefix="" Suffix="" Style="aaBb" /&gt;</s:String>
<s:Boolean x:Key="/Default/Environment/SettingsMigration/IsMigratorApplied/=JetBrains_002EReSharper_002EPsi_002ECSharp_002ECodeStyle_002ECSharpAttributeForSingleLineMethodUpgrade/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/Environment/SettingsMigration/IsMigratorApplied/=JetBrains_002EReSharper_002EPsi_002ECSharp_002ECodeStyle_002ECSharpKeepExistingMigration/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/Environment/SettingsMigration/IsMigratorApplied/=JetBrains_002EReSharper_002EPsi_002ECSharp_002ECodeStyle_002ECSharpPlaceEmbeddedOnSameLineMigration/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/Environment/SettingsMigration/IsMigratorApplied/=JetBrains_002EReSharper_002EPsi_002ECSharp_002ECodeStyle_002ECSharpRenamePlacementToArrangementMigration/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/Environment/SettingsMigration/IsMigratorApplied/=JetBrains_002EReSharper_002EPsi_002ECSharp_002ECodeStyle_002ESettingsUpgrade_002EAddAccessorOwnerDeclarationBracesMigration/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/Environment/SettingsMigration/IsMigratorApplied/=JetBrains_002EReSharper_002EPsi_002ECSharp_002ECodeStyle_002ESettingsUpgrade_002ECSharpPlaceAttributeOnSameLineMigration/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/Environment/SettingsMigration/IsMigratorApplied/=JetBrains_002EReSharper_002EPsi_002ECSharp_002ECodeStyle_002ESettingsUpgrade_002EMigrateBlankLinesAroundFieldToBlankLinesAroundProperty/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/Environment/SettingsMigration/IsMigratorApplied/=JetBrains_002EReSharper_002EPsi_002ECSharp_002ECodeStyle_002ESettingsUpgrade_002EMigrateThisQualifierSettings/@EntryIndexedValue">True</s:Boolean>
</wpf:ResourceDictionary>

View file

@ -1,7 +1,7 @@
using System.Threading.Tasks;
using FilterLists.Data.Entities.Junctions;
using FilterLists.Services.Models.Seed.Junctions;
using FilterLists.Services.Services;
using FilterLists.Services.SeedService;
using FilterLists.Services.SeedService.Models.Junctions;
using Microsoft.AspNetCore.Mvc;
namespace FilterLists.Api.V1.Controllers

View file

@ -1,7 +1,7 @@
using System.Threading.Tasks;
using FilterLists.Data.Entities;
using FilterLists.Services.Models.Seed;
using FilterLists.Services.Services;
using FilterLists.Services.SeedService;
using FilterLists.Services.SeedService.Models;
using Microsoft.AspNetCore.Mvc;
namespace FilterLists.Api.V1.Controllers

View file

@ -1,7 +1,7 @@
using System.Threading.Tasks;
using FilterLists.Data.Entities;
using FilterLists.Services.Models.Seed;
using FilterLists.Services.Services;
using FilterLists.Services.SeedService;
using FilterLists.Services.SeedService.Models;
using Microsoft.AspNetCore.Mvc;
namespace FilterLists.Api.V1.Controllers

View file

@ -1,7 +1,8 @@
using System.Threading.Tasks;
using FilterLists.Data.Entities;
using FilterLists.Services.Models.Seed;
using FilterLists.Services.Services;
using FilterLists.Services.FilterListService;
using FilterLists.Services.SeedService;
using FilterLists.Services.SeedService.Models;
using Microsoft.AspNetCore.Mvc;
namespace FilterLists.Api.V1.Controllers

View file

@ -1,7 +1,7 @@
using System.Threading.Tasks;
using FilterLists.Data.Entities.Junctions;
using FilterLists.Services.Models.Seed.Junctions;
using FilterLists.Services.Services;
using FilterLists.Services.SeedService;
using FilterLists.Services.SeedService.Models.Junctions;
using Microsoft.AspNetCore.Mvc;
namespace FilterLists.Api.V1.Controllers

View file

@ -1,7 +1,7 @@
using System.Threading.Tasks;
using FilterLists.Data.Entities.Junctions;
using FilterLists.Services.Models.Seed.Junctions;
using FilterLists.Services.Services;
using FilterLists.Services.SeedService;
using FilterLists.Services.SeedService.Models.Junctions;
using Microsoft.AspNetCore.Mvc;
namespace FilterLists.Api.V1.Controllers

View file

@ -1,7 +1,7 @@
using System.Threading.Tasks;
using FilterLists.Data.Entities;
using FilterLists.Services.Models.Seed;
using FilterLists.Services.Services;
using FilterLists.Services.SeedService;
using FilterLists.Services.SeedService.Models;
using Microsoft.AspNetCore.Mvc;
namespace FilterLists.Api.V1.Controllers

View file

@ -1,7 +1,7 @@
using System.Threading.Tasks;
using FilterLists.Data.Entities.Junctions;
using FilterLists.Services.Models.Seed.Junctions;
using FilterLists.Services.Services;
using FilterLists.Services.SeedService;
using FilterLists.Services.SeedService.Models.Junctions;
using Microsoft.AspNetCore.Mvc;
namespace FilterLists.Api.V1.Controllers

View file

@ -1,5 +1,5 @@
using System.Threading.Tasks;
using FilterLists.Services.Services;
using FilterLists.Services.ScrapeService;
using Microsoft.AspNetCore.Mvc;
namespace FilterLists.Api.V1.Controllers

View file

@ -1,7 +1,7 @@
using System.Threading.Tasks;
using FilterLists.Data.Entities;
using FilterLists.Services.Models.Seed;
using FilterLists.Services.Services;
using FilterLists.Services.SeedService;
using FilterLists.Services.SeedService.Models;
using Microsoft.AspNetCore.Mvc;
namespace FilterLists.Api.V1.Controllers

View file

@ -1,7 +1,7 @@
using System.Threading.Tasks;
using FilterLists.Data.Entities.Junctions;
using FilterLists.Services.Models.Seed.Junctions;
using FilterLists.Services.Services;
using FilterLists.Services.SeedService;
using FilterLists.Services.SeedService.Models.Junctions;
using Microsoft.AspNetCore.Mvc;
namespace FilterLists.Api.V1.Controllers

View file

@ -1,7 +1,7 @@
using System.Threading.Tasks;
using FilterLists.Data.Entities;
using FilterLists.Services.Models.Seed;
using FilterLists.Services.Services;
using FilterLists.Services.SeedService;
using FilterLists.Services.SeedService.Models;
using Microsoft.AspNetCore.Mvc;
namespace FilterLists.Api.V1.Controllers

View file

@ -1,6 +1,5 @@
using AutoMapper;
using FilterLists.Data;
using FilterLists.Services.Services;
using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
@ -16,9 +15,9 @@ public static void AddFilterListsServices(this IServiceCollection services, ICon
services.AddEntityFrameworkMySql().AddDbContextPool<FilterListsDbContext>(options =>
options.UseMySql(configuration.GetConnectionString("FilterListsConnection"),
b => b.MigrationsAssembly("FilterLists.Api")));
services.TryAddScoped<SeedService>();
services.TryAddScoped<FilterListService>();
services.TryAddScoped<ScrapeService>();
services.TryAddScoped<SeedService.SeedService>();
services.TryAddScoped<FilterListService.FilterListService>();
services.TryAddScoped<ScrapeService.ScrapeService>();
services.AddAutoMapper();
}
}

View file

@ -3,10 +3,10 @@
using AutoMapper.QueryableExtensions;
using FilterLists.Data;
using FilterLists.Data.Entities;
using FilterLists.Services.Models;
using FilterLists.Services.FilterListService.Models;
using Microsoft.EntityFrameworkCore;
namespace FilterLists.Services.Services
namespace FilterLists.Services.FilterListService
{
public class FilterListService
{

View file

@ -1,4 +1,4 @@
namespace FilterLists.Services.Models
namespace FilterLists.Services.FilterListService.Models
{
public class FilterListSummaryDto
{

View file

@ -0,0 +1,8 @@
namespace FilterLists.Services.ScrapeService.Models
{
public class FilterListViewUrlDto
{
public int Id { get; set; }
public string ViewUrl { get; set; }
}
}

View file

@ -0,0 +1,34 @@
using System;
namespace FilterLists.Services.ScrapeService.Models
{
public class Snapshot
{
public string Content
{
set
{
if (value == null) return;
var rawRules = value.Split(new[] {"\r\n", "\r", "\n"}, StringSplitOptions.RemoveEmptyEntries);
for (var i = 0; i < rawRules.Length; i++)
rawRules[i] = LintStringForMySql(rawRules[i]);
RawRules = rawRules;
}
}
public int FilterListId { get; set; }
public string[] RawRules { get; private set; }
private static string LintStringForMySql(string rule)
{
rule = TrimSingleBackslashFromEnd(rule);
return rule;
}
private static string TrimSingleBackslashFromEnd(string rule)
{
return rule.EndsWith(@"\") && !rule.EndsWith(@"\\") ? rule.Remove(rule.Length - 1) : rule;
}
}
}

View file

@ -7,9 +7,10 @@
using FilterLists.Data;
using FilterLists.Data.Entities;
using FilterLists.Data.Entities.Junctions;
using FilterLists.Services.ScrapeService.Models;
using Microsoft.EntityFrameworkCore;
namespace FilterLists.Services.Services
namespace FilterLists.Services.ScrapeService
{
public class ScrapeService
{
@ -114,41 +115,5 @@ private async Task AddOrUpdateRules(Snapshot snapshot)
await dbContext.SaveChangesAsync();
}
private class FilterListViewUrlDto
{
public int Id { get; set; }
public string ViewUrl { get; set; }
}
private class Snapshot
{
public string Content
{
set
{
if (value == null) return;
var rawRules = value.Split(new[] {"\r\n", "\r", "\n"}, StringSplitOptions.RemoveEmptyEntries);
for (var i = 0; i < rawRules.Length; i++)
rawRules[i] = LintStringForMySql(rawRules[i]);
RawRules = rawRules;
}
}
public int FilterListId { get; set; }
public string[] RawRules { get; private set; }
private static string LintStringForMySql(string rule)
{
rule = TrimSingleBackslashFromEnd(rule);
return rule;
}
private static string TrimSingleBackslashFromEnd(string rule)
{
return rule.EndsWith(@"\") && !rule.EndsWith(@"\\") ? rule.Remove(rule.Length - 1) : rule;
}
}
}
}

View file

@ -1,6 +1,6 @@
using System;
namespace FilterLists.Services.Models.Seed
namespace FilterLists.Services.SeedService.Models
{
public class FilterListSeedDto
{

View file

@ -1,4 +1,4 @@
namespace FilterLists.Services.Models.Seed.Junctions
namespace FilterLists.Services.SeedService.Models.Junctions
{
public class FilterListLanguageSeedDto
{

View file

@ -1,4 +1,4 @@
namespace FilterLists.Services.Models.Seed.Junctions
namespace FilterLists.Services.SeedService.Models.Junctions
{
public class FilterListMaintainerSeedDto
{

View file

@ -1,4 +1,4 @@
namespace FilterLists.Services.Models.Seed.Junctions
namespace FilterLists.Services.SeedService.Models.Junctions
{
public class ForkSeedDto
{

View file

@ -1,4 +1,4 @@
namespace FilterLists.Services.Models.Seed.Junctions
namespace FilterLists.Services.SeedService.Models.Junctions
{
public class MergeSeedDto
{

View file

@ -1,4 +1,4 @@
namespace FilterLists.Services.Models.Seed.Junctions
namespace FilterLists.Services.SeedService.Models.Junctions
{
public class SoftwareSyntaxSeedDto
{

View file

@ -1,4 +1,4 @@
namespace FilterLists.Services.Models.Seed
namespace FilterLists.Services.SeedService.Models
{
public class LanguageSeedDto
{

View file

@ -1,4 +1,4 @@
namespace FilterLists.Services.Models.Seed
namespace FilterLists.Services.SeedService.Models
{
public class LicenseSeedDto
{

View file

@ -1,4 +1,4 @@
namespace FilterLists.Services.Models.Seed
namespace FilterLists.Services.SeedService.Models
{
public class MaintainerSeedDto
{

View file

@ -1,4 +1,4 @@
namespace FilterLists.Services.Models.Seed
namespace FilterLists.Services.SeedService.Models
{
public class SoftwareSeedDto
{

View file

@ -1,4 +1,4 @@
namespace FilterLists.Services.Models.Seed
namespace FilterLists.Services.SeedService.Models
{
public class SyntaxSeedDto
{

View file

@ -4,7 +4,7 @@
using FilterLists.Data;
using Microsoft.EntityFrameworkCore;
namespace FilterLists.Services.Services
namespace FilterLists.Services.SeedService
{
public class SeedService
{