internal SqlAzManStoreGroupMember(NetSqlAzManStorageDataContext db, IAzManStoreGroup storeGroup, int storeGroupMemberId, IAzManSid sid, WhereDefined whereDefined, bool isMember, SqlAzManENS ens) { this.db = db; this.storeGroup = storeGroup; this.storeGroupMemberId = storeGroupMemberId; this.sid = sid; this.whereDefined = whereDefined; this.isMember = isMember; this.ens = ens; }
internal SqlAzManApplication(NetSqlAzManStorageDataContext db, IAzManStore store, int applicationId, string name, string description, byte netsqlazmanFixedServerRole, SqlAzManENS ens) { this.db = db; this.applicationId = applicationId; this.store = store; this.name = name; this.description = description; this.netsqlazmanFixedServerRole = netsqlazmanFixedServerRole; this.ens = ens; }
internal SqlAzManItem(NetSqlAzManStorageDataContext db, IAzManApplication application, int itemId, string name, string description, ItemType itemType, string bizRule, BizRuleSourceLanguage? bizRuleScriptLanguage, SqlAzManENS ens) { this.db = db; this.itemId = itemId; this.application = application; this.name = name; this.bizRuleSource = bizRule; this.bizRuleSourceLanguage = bizRuleScriptLanguage; this.description = description; this.itemType = itemType; this.ens = ens; }
internal SqlAzManAuthorization(NetSqlAzManStorageDataContext db, IAzManItem item, int authorizationId, IAzManSid owner, WhereDefined ownerSidWhereDefined, IAzManSid sid, WhereDefined objectSidWhereDefined, AuthorizationType authorizationType, DateTime? validFrom, DateTime? validTo, SqlAzManENS ens) { this.db = db; this.authorizationId = authorizationId; this.item = item; this.owner = owner; this.ownerSidWhereDefined = ownerSidWhereDefined; this.sid = sid; this.sidWhereDefined = objectSidWhereDefined; this.authorizationType = authorizationType; this.validFrom = validFrom; this.validTo = validTo; this.ens = ens; }
internal SqlAzManApplicationGroup(NetSqlAzManStorageDataContext db, IAzManApplication application, int applicationGroupId, IAzManSid sid, string name, string description, string lDapQuery, GroupType groupType, SqlAzManENS ens) { this.db = db; this.application = application; this.applicationGroupId = applicationGroupId; this.sid = sid; this.name = name; this.description = description; this.lDapQuery = String.IsNullOrEmpty(lDapQuery) ? String.Empty : lDapQuery; this.groupType = groupType; this.ens = ens; if (groupType != GroupType.Basic) { this.members = new Dictionary<IAzManSid, IAzManApplicationGroupMember>(); } }
/// <summary> /// Writes the event. /// </summary> /// <param name="storage">The storage.</param> /// <param name="message">The message.</param> /// <param name="type">The type.</param> private void WriteEvent(IAzManStorage storage, string message, EventLogEntryType type) { try { SqlAzManStorage typedStorage = storage as SqlAzManStorage; bool logOnDb = false; bool logOnEventLog = true; string connectionString = String.Empty; Guid instanceGuid = Guid.Empty; Guid transactionGuid = Guid.Empty; int operationCounter = 0; DateTime now = DateTime.Now; if (typedStorage != null) { logOnDb = typedStorage.LogOnDb; logOnEventLog = typedStorage.LogOnEventLog; connectionString = typedStorage.db.Connection.ConnectionString; instanceGuid = typedStorage.instanceGuid; transactionGuid = typedStorage.transactionGuid; operationCounter = ++typedStorage.operationCounter; } string originalMessage = message; if (logOnDb) { string ENSType = "User Log"; if (message.StartsWith("ENS Event: ", StringComparison.CurrentCultureIgnoreCase)) { ENSType = message.Substring(message.IndexOf("ENS Event: ") + 11); ENSType = ENSType.Substring(0, ENSType.IndexOf("\r\n")); message = message.Substring(message.IndexOf("\r\n") + 2); message = message.TrimStart('\r').TrimStart('\n'); } while (message.IndexOf("\r\n\r\n") != -1) { message = message.Replace("\r\n\r\n", "\r\n"); } message = message.Replace("\r\n", ";"); string logType; switch (type) { case EventLogEntryType.Error: logType = "E"; break; case EventLogEntryType.Warning: logType = "W"; break; default: logType = "I"; break; } NTAccount nta = new NTAccount(((System.Threading.Thread.CurrentPrincipal.Identity as WindowsIdentity) ?? WindowsIdentity.GetCurrent()).Name); SecurityIdentifier sid = (SecurityIdentifier)nta.Translate(typeof(SecurityIdentifier)); string winIdentity = String.Format("{0} ({1}", nta.Value, sid.Value); NetSqlAzManStorageDataContext db = new NetSqlAzManStorageDataContext(connectionString); NetSqlAzMan.LINQ.LogTable log = new LogTable(); log.LogDateTime = now; log.WindowsIdentity = winIdentity; log.MachineName = Environment.MachineName; log.InstanceGuid = instanceGuid; log.TransactionGuid = transactionGuid == Guid.Empty ? null : new Guid?(); log.OperationCounter = operationCounter; log.ENSType = ENSType; log.ENSDescription = message; log.LogType = logType; db.LogTables.InsertOnSubmit(log); db.SubmitChanges(); } if (logOnEventLog) { if (!EventLog.SourceExists(LoggingUtility.EVENTSOURCE)) { EventLog.CreateEventSource(LoggingUtility.EVENTSOURCE, "Application"); } originalMessage += String.Format("\r\nInstance Guid: {0}\r\nTransaction Guid: {1}\r\nOperation Counter: {2}", instanceGuid.ToString(), transactionGuid.ToString(), operationCounter); EventLog.WriteEntry(LoggingUtility.EVENTSOURCE, originalMessage, type); } } catch { //Ignore if error occur during logging } }
/// <summary> /// Verifies if the database is a valid NetSqlAzMan Storage DB. /// </summary> public static void VerifyStorageDB(string connectionString) { using (NetSqlAzManStorageDataContext db = new NetSqlAzManStorageDataContext(connectionString)) { db.AuthorizationAttributes().Any(); } }
private void OnDeserialized(StreamingContext context) { this.db = new NetSqlAzManStorageDataContext(this.ConnectionString); this.logging = new LoggingUtility(); }