74 lines
2.8 KiB
C#
74 lines
2.8 KiB
C#
namespace BookAStar.Data
|
|
{
|
|
using Model;
|
|
using Model.Blog;
|
|
using Model.Workflow;
|
|
using Model.Social.Messaging;
|
|
using ViewModels.EstimateAndBilling;
|
|
using NonCrUD;
|
|
using ViewModels;
|
|
using Model.Access;
|
|
using ViewModels.Messaging;
|
|
using Model.Social;
|
|
|
|
public class DataManager
|
|
{
|
|
// TODO estimatetemplate rating service product tag
|
|
public RemoteEntityRO<BookQuery, long> BookQueries { get; set; }
|
|
public ChatUserCollection ChatUsers { get; set; }
|
|
public EstimateEntity Estimates { get; set; }
|
|
public RemoteEntity<Blog, long> Blogspot { get; set; }
|
|
internal RemoteFilesEntity RemoteFiles { get; set; }
|
|
|
|
public LocalEntity<ClientProviderInfo, string> Contacts { get; set; }
|
|
internal RemoteEntity<BlackListed, long> BlackList { get; set; }
|
|
/// <summary>
|
|
/// They've got no remote existence ...
|
|
/// </summary>
|
|
internal LocalEntity<EditEstimateViewModel, long> EstimationCache { get; set; }
|
|
internal LocalEntity<BillingLine, string> EstimateLinesTemplates { get; set; }
|
|
internal LocalEntity<ChatMessage, int> PrivateMessages { get; set; }
|
|
internal LocalEntity<PageState, int> AppState { get; set; }
|
|
internal LocalEntity<string,string> ClientSignatures { get; set; }
|
|
internal LocalEntity<string, string> ProviderSignatures { get; set; }
|
|
|
|
protected static DataManager instance = new DataManager();
|
|
|
|
public static DataManager Instance
|
|
{
|
|
get
|
|
{
|
|
return instance;
|
|
}
|
|
}
|
|
|
|
public DataManager()
|
|
{
|
|
BookQueries = new RemoteEntityRO<BookQuery, long>("bookquery", q => q.Id);
|
|
Estimates = new EstimateEntity();
|
|
Blogspot = new RemoteEntity<Blog, long>("blog", x=>x.Id);
|
|
|
|
Contacts = new LocalEntity<ClientProviderInfo, string>(c => c.UserId);
|
|
AppState = new LocalEntity<PageState, int>(s => s.Position);
|
|
EstimationCache = new LocalEntity<EditEstimateViewModel, long>(e => e.Query.Id);
|
|
EstimateLinesTemplates = new LocalEntity<BillingLine, string>(l => l.Description);
|
|
PrivateMessages = new LocalEntity<ChatMessage, int>(m=> m.GetHashCode());
|
|
RemoteFiles = new RemoteFilesEntity ();
|
|
BlackList = new RemoteEntity<BlackListed, long>("blacklist",u => u.Id);
|
|
ChatUsers = new ChatUserCollection();
|
|
PrivateMessages.Load();
|
|
BookQueries.Load();
|
|
Estimates.Load();
|
|
Blogspot.Load();
|
|
Contacts.Load();
|
|
AppState.Load();
|
|
EstimationCache.Load();
|
|
EstimateLinesTemplates.Load();
|
|
RemoteFiles.Load();
|
|
BlackList.Load();
|
|
ChatUsers.Load();
|
|
BlackList.Load();
|
|
}
|
|
}
|
|
}
|