コード例 #1
0
        public static string GenerateConnectionString(DomainEnum domain)
        {
            string sDomain = domain.ToString().ToLower();

            string connection = null;

            connection = ConfigurationManager.ConnectionStrings[sDomain].ConnectionString;

            if (connection == null)
            {
                throw new ConfigurationErrorsException(string.Format(DPO.Resources.SystemMessages.SM001, sDomain));
            }

            var efProvider = new EntityConnectionStringBuilder(connection);

            var sqlProvider = new SqlConnectionStringBuilder(efProvider.ProviderConnectionString);

            if (String.IsNullOrEmpty(sqlProvider.UserID) || sqlProvider.UserID == ".")
            {
                sqlProvider.IntegratedSecurity = true;
            }

            sqlProvider.PersistSecurityInfo      = false;
            sqlProvider.MultipleActiveResultSets = true;
            //sqlProvider.ConnectTimeout = 5;
            //sqlProvider.ConnectTimeout = 200;

            if (domain != DomainEnum.Local)
            {
                sqlProvider.IntegratedSecurity = false;
                sqlProvider.UserID             = "DaikinAdmin";
                sqlProvider.Password           = "******";
            }

            efProvider.ProviderConnectionString = sqlProvider.ToString();

            var efConnection = efProvider.ToString();


            if (domain == DomainEnum.Local)
            {
                using (var db = new DPOContext(efConnection))
                {
                    // Recreate schema if no test db or test db is older than schema
                    db.Database.Initialize(true);
                }
            }

            return(efConnection);
        }
コード例 #2
0
        /// <summary>
        /// Возвращает список согласователей
        /// </summary>
        /// <param name="secret"></param>
        /// <returns></returns>
        List <Models.AuthUser> GetITResponsers(string secret)
        {
            List <Models.AuthUser> users = new List <Models.AuthUser>();

            using (Models.PhonesDataContext model = new Models.PhonesDataContext())
            {
                ///---Получаю список ИТ ответственных по пользователю, который проинвертился
                string     d      = model.RequestTickets.First(x => x.secret == secret).UTNLogin.Split('@')[1];
                DomainEnum domain = (DomainEnum)Enum.Parse(typeof(DomainEnum), d);
                foreach (string UTNName in
                         model.Acceptors.Where(x => x.serviceDomain == domain.ToString())
                         .Select(x => x.username).ToList())
                {
                    string sn    = ConvertFromUTNNameTosAMAccountName(UTNName);
                    var    login = model.Logins.First(l => l.sAMAccountName == sn);
                    users.Add(new Models.AuthUser()
                    {
                        email = login.Email,
                        FIO   = login.FIO != null ? login.FIO : ""
                    });
                }
            }
            return(users);
        }