/// <summary> /// Loads the dictionaries to the data table /// </summary> private DataTable LoadDictionaries() { DataTable dt = new DataTable(); dt.Columns.Add(new DataColumn("TableName", typeof(string))); dt.Columns.Add(new DataColumn("ObjectCount", typeof(int))); lock (AbstractProviderDictionary.Dictionaries.SyncRoot) { // Hashtables foreach (DictionaryEntry item in AbstractProviderDictionary.Dictionaries) { var dict = item.Value as IProviderDictionary; if (dict != null) { var count = dict.GetRealCount(); if (count > 0) { DataRow dr = dt.NewRow(); dr["TableName"] = AbstractProviderDictionary.GetDictionaryDisplayName(dict); dr["ObjectCount"] = count; dt.Rows.Add(dr); } } } } return(dt); }
/// <summary> /// Loads the dictionaries to the data table /// </summary> private DataTable LoadDictionaries() { DataTable dt = new DataTable(); dt.Columns.Add(new DataColumn("TableName", typeof(string))); dt.Columns.Add(new DataColumn("ObjectCount", typeof(int))); foreach (var dict in AbstractProviderDictionary.Dictionaries) { var count = dict.Count; if (count > 0) { DataRow dr = dt.NewRow(); dr["TableName"] = AbstractProviderDictionary.GetDictionaryDisplayName(dict); dr["ObjectCount"] = count; dt.Rows.Add(dr); } } return(dt); }
/// <summary> /// Adds GUID field to form definition. /// </summary> private void CreateGUID() { bool success; try { if (FormInfo == null) { return; } // Create GUID field FormFieldInfo ffiGuid = new FormFieldInfo(); // Fill FormInfo object ffiGuid.Name = "ItemGUID"; ffiGuid.SetPropertyValue(FormFieldPropertyEnum.FieldCaption, "GUID"); ffiGuid.DataType = FieldDataType.Guid; ffiGuid.SetPropertyValue(FormFieldPropertyEnum.DefaultValue, string.Empty); ffiGuid.SetPropertyValue(FormFieldPropertyEnum.FieldDescription, String.Empty); ffiGuid.PrimaryKey = false; ffiGuid.System = true; ffiGuid.Visible = false; ffiGuid.Size = 0; ffiGuid.AllowEmpty = false; FormInfo.AddFormItem(ffiGuid); // Update definition dci.ClassFormDefinition = FormInfo.GetXmlDefinition(); using (CMSActionContext context = new CMSActionContext()) { // Disable logging into event log context.LogEvents = false; DataClassInfoProvider.SetDataClassInfo(dci); } // Clear the default queries QueryInfoProvider.ClearDefaultQueries(dci, true); // Clear the object type hashtable AbstractProviderDictionary.ReloadDictionaries(className, true); // Clear the classes hashtable AbstractProviderDictionary.ReloadDictionaries("cms.class", true); // Clear class strucures ClassStructureInfo.Remove(className, true); // Ensure GUIDs for all items using (CMSActionContext ctx = new CMSActionContext()) { ctx.UpdateSystemFields = false; ctx.LogSynchronization = false; DataSet dsItems = CustomTableItemProvider.GetItems(className); if (!DataHelper.DataSourceIsEmpty(dsItems)) { foreach (DataRow dr in dsItems.Tables[0].Rows) { CustomTableItem item = CustomTableItem.New(className, dr); item.ItemGUID = Guid.NewGuid(); item.Update(); } } } // Log event UserInfo currentUser = MembershipContext.AuthenticatedUser; var logData = new EventLogData(EventTypeEnum.Information, "Custom table", "GENERATEGUID") { EventDescription = String.Format(ResHelper.GetAPIString("customtable.GUIDGenerated", "Field 'ItemGUID' for custom table '{0}' was created and GUID values were generated."), dci.ClassName), UserID = currentUser.UserID, UserName = currentUser.UserName, }; Service.Resolve <IEventLogService>().LogEvent(logData); success = true; } catch (Exception ex) { success = false; FieldEditor.ShowError(GetString("customtable.ErrorGUID")); // Log event Service.Resolve <IEventLogService>().LogException("Custom table", "GENERATEGUID", ex); } if (success) { URLHelper.Redirect(URLHelper.AddParameterToUrl(RequestContext.CurrentURL, "gen", "1")); } }