Line data Source code
1 : #region Copyright
2 : // // -----------------------------------------------------------------------
3 : // // <copyright company="cdmdotnet Limited">
4 : // // Copyright cdmdotnet Limited. All rights reserved.
5 : // // </copyright>
6 : // // -----------------------------------------------------------------------
7 : #endregion
8 :
9 : using System.Collections.Generic;
10 : using Microsoft.Azure.Documents;
11 : using Microsoft.Azure.Documents.Client;
12 :
13 : namespace Cqrs.Azure.DocumentDb
14 : {
15 : public class GlobalAzureDocumentDbConnectionCache : IAzureDocumentDbConnectionCache
16 0 : {
17 : protected static IDictionary<string, object> Cache { get; private set; }
18 :
19 : static GlobalAzureDocumentDbConnectionCache()
20 : {
21 : Cache = new Dictionary<string, object>();
22 : }
23 :
24 0 : public bool TryGetClient(string key, out DocumentClient client)
25 : {
26 : try
27 : {
28 : object cacheResult;
29 : bool result = Cache.TryGetValue(key, out cacheResult);
30 : client = cacheResult as DocumentClient;
31 : return result && client != null;
32 : }
33 : catch
34 : {
35 : }
36 : client = null;
37 : return false;
38 : }
39 :
40 0 : public void SetClient(string key, DocumentClient client)
41 : {
42 : Cache[key] = client;
43 : }
44 :
45 0 : public bool TryGetDatabase(string key, out Database database)
46 : {
47 : try
48 : {
49 : object cacheResult;
50 : bool result = Cache.TryGetValue(key, out cacheResult);
51 : database = cacheResult as Database;
52 : return result && database != null;
53 : }
54 : catch
55 : {
56 : }
57 : database = null;
58 : return false;
59 : }
60 :
61 0 : public void SetDatabase(string key, Database database)
62 : {
63 : Cache[key] = database;
64 : }
65 :
66 0 : public bool TryGetDocumentCollection(string key, out DocumentCollection documentCollection)
67 : {
68 : try
69 : {
70 : object cacheResult;
71 : bool result = Cache.TryGetValue(key, out cacheResult);
72 : documentCollection = cacheResult as DocumentCollection;
73 : return result && documentCollection != null;
74 : }
75 : catch
76 : {
77 : }
78 : documentCollection = null;
79 : return false;
80 : }
81 :
82 0 : public void SetDocumentCollection(string key, DocumentCollection documentCollection)
83 : {
84 : Cache[key] = documentCollection;
85 : }
86 : }
87 : }
|