Git Repository Public Repository

CPE_learningsite

URLs

Copy to Clipboard

This repository has no backups
This repository's network speed is throttled to 100KB/sec

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
using System;
using System.Configuration;
using System.Linq;
using System.Reflection;
using System.Web;

namespace CPE.App.Web.Models {
    public partial class CPEWebDataContext {
        public static CPEWebDataContext Context() {
            return new CPEWebDataContext();
        }

        public static CPEWebDataContext GetContext() {
            var connectionString = ConfigurationManager.ConnectionStrings["CPE.Data"].ConnectionString;

            try {
                var context = HttpContext.Current;
                var address = context.Request.UserHostAddress;
                if (address.StartsWith("192.") || address.StartsWith("10.211") || address == "::1") {
                    connectionString = ConfigurationManager.ConnectionStrings["CPE.Data.Local"].ConnectionString;
                }
            } catch (Exception e) {
                Console.WriteLine(e);
            }
            
            return GetContext(connectionString); //DONE DEPLOY CHANGE back to CPE.DATA
        }

        /// <summary>
        ///     Returns the DataContext shared for the current request (or creates one if necessary)
        /// </summary>
        /// <param name="connectionString">The connection string to use.</param>
        public static CPEWebDataContext GetContext(string connectionString) {
            if(HttpContext.Current == null) {
                return new CPEWebDataContext(connectionString);
            }

            if(HttpContext.Current.Items.Contains("MUDataContext")) {
                return HttpContext.Current.Items["MUDataContext"] as CPEWebDataContext;
            }

            var context = new CPEWebDataContext(connectionString);
            HttpContext.Current.Items.Add("MUDataContext", context);
            return context;
        }

        public static CPEWebDataContext Context(IQueryable queryable) {
            var field = queryable.GetType()
                                 .GetField("context", BindingFlags.NonPublic | BindingFlags.Instance);
            return field.GetValue(queryable) as CPEWebDataContext;
        }
    }
}

Commits for CPE_learningsite/CPE/CPE.App/CPE.App.Web/Models/CPEDataContext.cs

Diff revisions: vs.
Revision Author Commited Message
4cd176 ... v.shishlov Fri 27 Aug, 2021 14:33:17 +0000

initial commit