private void LoadFnL() { EnsureConfigurationIsLoaded(); // Preferred way in Form and List var udt = new UserDefinedTableController(); var ds = udt.GetDataSet(ModuleId); DtDs = DataSource.GetDataSource <DataTableDataSource>(valueCollectionProvider: ConfigurationProvider); DtDs.Source = ds.Tables["Data"]; DtDs.EntityIdField = "UserDefinedRowId"; // default column created by UDT DtDs.ContentType = ContentType; // clean up column names if possible, remove spaces in the column-names for (var i = 0; i < DtDs.Source.Columns.Count; i++) { DtDs.Source.Columns[i].ColumnName = DtDs.Source.Columns[i].ColumnName .Replace(" ", ""); } // Set the title-field - either the configured one, or if missing, just the first column we find if (string.IsNullOrWhiteSpace(TitleField)) { TitleField = DtDs.Source.Columns[1].ColumnName; } DtDs.TitleField = TitleField; }
private DataTable LoadFnL() { // check if already loaded, if yes, return that if (_dtDs != null) { return(_dtDs); } // this parses the config-tokens, resulting in the values we will use in the code below EnsureConfigurationIsLoaded(); // Preferred way in Form and List - use GetDataSet of ModuleId var udt = new UserDefinedTableController(); var ds = udt.GetDataSet(ModuleId); // now build a DataTableDataSource to pass on _dtDs = DataSource.GetDataSource <DataTable>(configLookUp: ConfigurationProvider, parentLog: Log); _dtDs.Source = ds.Tables["Data"]; // the data-table of FnL/UDT _dtDs.EntityIdField = "UserDefinedRowId"; // default column created by FnL/UDT _dtDs.ContentType = ContentType; // a type name what these items are called afterwards // clean up column names if possible, remove spaces in the column-names as this would cause trouble in Razor templates for (var i = 0; i < _dtDs.Source.Columns.Count; i++) { _dtDs.Source.Columns[i].ColumnName = _dtDs.Source.Columns[i].ColumnName .Replace(" ", ""); } // Set the title-field - either the configured one, or if missing, just the first column we find _dtDs.TitleField = string.IsNullOrWhiteSpace(TitleField) ? _dtDs.Source.Columns[1].ColumnName : TitleField; return(_dtDs); }
public static void OnAction(Trigger trigger, int rowId, UserDefinedTableController udtC) { if (ActionIsTriggered(trigger, udtC.Settings)) { var ds = udtC.GetRow(rowId, true, true); ds.Tables.Add(udtC.Context()); HandleAction(trigger, ds, udtC); } }
public static void OnAction(Trigger trigger, int rowId, UserDefinedTableController udtC) { if (ActionIsTriggered(trigger, udtC.Settings)) { var ds = udtC.GetRow(rowId,true,true); ds.Tables.Add(udtC.Context()); HandleAction(trigger, ds, udtC); } }
static void HandleAction(Trigger trigger, DataSet data, UserDefinedTableController udtC) { var settings = udtC.Settings; var subject = settings.TrackingSubject; var message = settings.TrackingMessage; var from = GetEmailAddressList(settings.TrackingEmailFrom, data); if (from.Split(';').Length > 1) { from = (from.Split(';')[0]); } var mailTo = GetEmailAddressList(settings.TrackingEmailTo, data); var cc = GetEmailAddressList(settings.TrackingEmailCc, data); var bcc = GetEmailAddressList(settings.TrackingEmailBcc, data); var replyto = GetEmailAddressList(settings.TrackingEmailReplyTo, data); var script = settings.TrackingScript; var triggerMessage = string.Empty; switch (trigger) { case Trigger.New: triggerMessage = settings.TrackingTextOnNew; break; case Trigger.Update: triggerMessage = settings.TrackingTextOnUpdate; break; case Trigger.Delete: triggerMessage = settings.TrackingTextOnDelete; break; } if (script == "[AUTO]") { script = "~/DesktopModules/UserDefinedTable/XslStyleSheets/Tracking/Auto.xsl"; } else { script = Globals.GetPortalSettings().HomeDirectory + script; } subject = ((new TokenReplace()).ReplaceEnvironmentTokens(subject, data.Tables[DataSetTableName.Data].Rows[0])); SendMail(from, mailTo, cc, bcc, replyto, subject, data.GetXml(), message, triggerMessage, script); }
string CalculateCurrentExpression() { var udt = new UserDefinedTableController(ModuleContext); int rowId; int.TryParse(HttpContext.Current.Request.QueryString[DataTableColumn.RowId], out rowId); var ds = udt.GetRow(rowId, true); DataRow currentrow; if (ds.Tables[DataSetTableName.Data].Rows.Count == 1) { currentrow = ds.Tables[DataSetTableName.Data].Rows[0]; } else { currentrow = ds.Tables[DataSetTableName.Data].NewRow(); ds.Tables[DataSetTableName.Data].Rows.Add(currentrow); } return currentrow[FieldTitle].ToString(); }
string CalculateCurrentExpression() { var udt = new UserDefinedTableController(ModuleContext); int rowId; int.TryParse(HttpContext.Current.Request.QueryString[DataTableColumn.RowId], out rowId); var ds = udt.GetRow(rowId, true); DataRow currentrow; if (ds.Tables[DataSetTableName.Data].Rows.Count == 1) { currentrow = ds.Tables[DataSetTableName.Data].Rows[0]; } else { currentrow = ds.Tables[DataSetTableName.Data].NewRow(); ds.Tables[DataSetTableName.Data].Rows.Add(currentrow); } return(currentrow[FieldTitle].ToString()); }