private Dictionary <string, string> PrepareMassUpdateDictionaryForCreate(ContentPersistentData content, int status, Dictionary <string, string> fields) { var result = new Dictionary <string, string> { [SystemColumnNames.Id] = "0", [SystemColumnNames.StatusTypeId] = status.ToString(), }; foreach (var field in fields) { var attr = content.ContentAttributes.FirstOrDefault(a => a.NetName == field.Key); if (attr == null) { throw new Exception($"Field with net name '{field.Key}' not found in content '{content.ContentName}'"); } result[attr.ColumnName] = field.Value; } return(result); }
public static string GetTableName(this ContentPersistentData content, bool isStage) { return(GetTableName(content.ContentId, isStage)); }
public static string GetUnitedTableName(this ContentPersistentData content) { return(GetUnitedTableName(content.ContentId)); }
public IDictionary <int, AbstractItemExtensionCollection> GetAbstractItemExtensionlessData(IEnumerable <int> ids, ContentPersistentData baseContent, bool isStage, IDbTransaction transaction = null) { var idListTable = SqlQuerySyntaxHelper.IdList(UnitOfWork.DatabaseType, "@ids", "ids"); var withNoLock = SqlQuerySyntaxHelper.WithNoLock(UnitOfWork.DatabaseType); string extFieldsQuery = $@"SELECT * FROM {baseContent.GetTableName(isStage)} ai {withNoLock} INNER JOIN {idListTable} on Id = ai.Content_item_id"; using (var command = UnitOfWork.Connection.CreateCommand()) { command.CommandText = extFieldsQuery; command.Parameters.Add(SqlQuerySyntaxHelper.GetIdsDatatableParam("@Ids", ids, UnitOfWork.DatabaseType)); command.Transaction = transaction; return(LoadAbstractItemExtension(command)); } }