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);
        }
Ejemplo n.º 2
0
 public static string GetTableName(this ContentPersistentData content, bool isStage)
 {
     return(GetTableName(content.ContentId, isStage));
 }
Ejemplo n.º 3
0
 public static string GetUnitedTableName(this ContentPersistentData content)
 {
     return(GetUnitedTableName(content.ContentId));
 }
Ejemplo n.º 4
0
        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));
            }
        }