Re-fabrication

This commit is contained in:
2018-03-26 19:27:29 +02:00
parent e00bcbe275
commit 8fbe56c67e
499 changed files with 7510 additions and 12466 deletions

View File

@ -1,7 +1,6 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Reflection;
using Microsoft.AspNet.Builder;
using Microsoft.Extensions.Logging;
@ -14,6 +13,7 @@ namespace Yavsc
using Yavsc.Models.Billing;
using Yavsc.Models.Haircut;
using Yavsc.Models.Workflow;
using Yavsc.Services;
public partial class Startup
{
@ -22,14 +22,10 @@ namespace Yavsc
/// populated at startup, using reflexion.
/// </summary>
public static List<Type> ProfileTypes = new List<Type>();
public static List<PropertyInfo> UserSettings = new List<PropertyInfo>();
public static Dictionary<string,Func<ApplicationDbContext,long,INominativeQuery>> Billing =
new Dictionary<string,Func<ApplicationDbContext,long,INominativeQuery>> ();
public static INominativeQuery GetBillable(ApplicationDbContext context, string billingCode, long queryId ) => Billing[billingCode](context, queryId);
public static Dictionary<string,string> BillingMap =
new Dictionary<string,string>();
/// <summary>
/// Lists available command forms.
/// This is hard coded.
@ -63,7 +59,7 @@ namespace Yavsc
if (typeof(IQueryable<ISpecializationSettings>).IsAssignableFrom(propinfo.PropertyType))
{// double-bingo
logger.LogVerbose($"Pro: {propinfo.Name}");
UserSettings.Add(propinfo);
BillingService.UserSettings.Add(propinfo);
}
else
// Design time error
@ -99,8 +95,8 @@ mais n'implemente pas l'interface IQueryable<ISpecializationSettings>
public static void RegisterBilling<T>(string code, Func<ApplicationDbContext,long,INominativeQuery> getter) where T : IBillable
{
Billing.Add(code,getter) ;
BillingMap.Add(typeof(T).Name,code);
BillingService.Billing.Add(code,getter) ;
BillingService.BillingMap.Add(typeof(T).Name,code);
}
}

View File

@ -34,12 +34,13 @@ namespace Yavsc
using PayPal.Manager;
using Services;
using ViewModels.Auth.Handlers;
using Yavsc.Abstract.FileSystem;
using Yavsc.Helpers;
using static System.Environment;
public partial class Startup
{
public static string ConnectionString { get; private set; }
public static string UserBillsDirName { private set; get; }
public static string AvatarsDirName { private set; get; }
public static string Authority { get; private set; }
public static string Temp { get; set; }
@ -265,14 +266,14 @@ namespace Yavsc
GlobalLocalizer = localizer;
SiteSetup = siteSettings.Value;
Authority = siteSettings.Value.Authority;
Startup.UserFilesDirName = new DirectoryInfo(siteSettings.Value.UserFiles.Blog).FullName;
Startup.UserBillsDirName = new DirectoryInfo(siteSettings.Value.UserFiles.Bills).FullName;
AbstractFileSystemHelpers.UserFilesDirName = new DirectoryInfo(siteSettings.Value.UserFiles.Blog).FullName;
AbstractFileSystemHelpers.UserBillsDirName = new DirectoryInfo(siteSettings.Value.UserFiles.Bills).FullName;
Startup.Temp = siteSettings.Value.TempDir;
PayPalSettings = payPalSettings.Value;
// TODO implement an installation & upgrade procedure
// Create required directories
foreach (string dir in new string[] { UserFilesDirName, UserBillsDirName, SiteSetup.TempDir })
foreach (string dir in new string[] { UserFilesDirName, AbstractFileSystemHelpers.UserBillsDirName, SiteSetup.TempDir })
{
DirectoryInfo di = new DirectoryInfo(dir);
if (!di.Exists) di.Create();