Re-fabrication
This commit is contained in:
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -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();
|
||||
|
Reference in New Issue
Block a user