示例#1
0
        public SqlCommand Add(TextContent textContent)
        {
            textContent = textContent.ConvertToUTCTime();

            var schema = textContent.GetSchema().AsActual();
            if (schema == null)
            {
                return null;
            }
            List<string> fields = new List<string>() { 
            "UUID", "Repository", "FolderName", "UserKey", "UtcCreationDate", "UtcLastModificationDate", "Published", "OriginalUUID",
            "SchemaName","ParentFolder", "ParentUUID","UserId","OriginalRepository","OriginalFolder",
            "IsLocalized","Sequence"
            };

            SqlCommand command = new SqlCommand();

            command.Parameters.Add(new SqlParameter("@UUID", textContent.UUID));
            command.Parameters.Add(new SqlParameter("@Repository", textContent.Repository));
            command.Parameters.Add(new SqlParameter("@FolderName", textContent.FolderName));
            command.Parameters.Add(new SqlParameter("@UserKey", textContent.UserKey));
            command.Parameters.Add(new SqlParameter("@UtcCreationDate", textContent.UtcCreationDate));
            command.Parameters.Add(new SqlParameter("@UtcLastModificationDate", textContent.UtcLastModificationDate));
            command.Parameters.Add(new SqlParameter("@Published", textContent.Published));
            command.Parameters.Add(new SqlParameter("@OriginalUUID", textContent.OriginalUUID));
            command.Parameters.Add(new SqlParameter("@SchemaName", textContent.SchemaName));
            command.Parameters.Add(new SqlParameter("@ParentFolder", textContent.ParentFolder));
            command.Parameters.Add(new SqlParameter("@ParentUUID", textContent.ParentUUID));
            command.Parameters.Add(new SqlParameter("@UserId", textContent.UserId));
            command.Parameters.Add(new SqlParameter("@OriginalRepository", textContent.OriginalRepository));
            command.Parameters.Add(new SqlParameter("@OriginalFolder", textContent.OriginalFolder));
            command.Parameters.Add(new SqlParameter("@IsLocalized", textContent.IsLocalized));
            command.Parameters.Add(new SqlParameter("@Sequence", textContent.Sequence));

            foreach (var column in schema.Columns.Where(it => !it.IsSystemField))
            {
                fields.Add(string.Format("{0}", column.Name));
                command.Parameters.Add(CreateParameter(column, textContent));
            }
            string sql = string.Format("INSERT INTO [{0}] ({1}) VALUES({2})", schema.GetTableName(),
                string.Join(",", fields.Select(it => "[" + it + "]").ToArray()),
                string.Join(",", fields.Select(it => "@" + it).ToArray()));
            command.CommandText = sql;

            return command;
        }
示例#2
0
        private static XElement ToXElement(TextContent textContent)
        {
            var xelement = new XElement("file", new XAttribute("original", textContent.UUID), new XAttribute("source-language", textContent.Repository), new XAttribute("target-language", ""));
            var bodyElement = new XElement("body");
            xelement.Add(bodyElement);
            var schema = textContent.GetSchema().AsActual();
            if (schema != null)
            {

                foreach (var column in schema.Columns)
                {
                    if (column.DataType == DataType.String)
                    {
                        var value = textContent[column.Name];

                        bodyElement.Add(new XElement("trans-unit", new XAttribute("id", column.Name), new XAttribute("datatype", value == null ? "null" : value.GetType().ToString()),
                            new XElement("source", value), new XElement("target", value)));
                    }
                }
            }

            return xelement;
        }
示例#3
0
 public SqlCommand Delete(TextContent textContext)
 {
     var schema = textContext.GetSchema();
     SqlCommand command = new SqlCommand();
     command.Parameters.Add(new SqlParameter("@UUID", textContext.UUID));
     command.CommandText = string.Format("DELETE FROM [{0}] WHERE UUID=@UUID", schema.GetTableName());
     return command;
 }
示例#4
0
        public MySqlCommand Update(TextContent textContent)
        {
            textContent = textContent.ConvertToUTCTime();

            var schema = textContent.GetSchema().AsActual();
            List<string> fields = new List<string>() { 
             "Repository", "FolderName", "UserKey", "UtcCreationDate", "UtcLastModificationDate", "Published", "OriginalUUID",
             "SchemaName","ParentFolder", "ParentUUID","UserId","OriginalRepository","OriginalFolder","IsLocalized","Sequence"
            };

            MySqlCommand command = new MySqlCommand();

            command.Parameters.Add(new MySqlParameter("?UUID", textContent.UUID));
            command.Parameters.Add(new MySqlParameter("?Repository", textContent.Repository));
            command.Parameters.Add(new MySqlParameter("?FolderName", textContent.FolderName));
            command.Parameters.Add(new MySqlParameter("?UserKey", textContent.UserKey));
            command.Parameters.Add(new MySqlParameter("?UtcCreationDate", textContent.UtcCreationDate));
            command.Parameters.Add(new MySqlParameter("?UtcLastModificationDate", textContent.UtcLastModificationDate));
            command.Parameters.Add(new MySqlParameter("?Published", textContent.Published));
            command.Parameters.Add(new MySqlParameter("?OriginalUUID", textContent.OriginalUUID));
            command.Parameters.Add(new MySqlParameter("?SchemaName", textContent.SchemaName));
            command.Parameters.Add(new MySqlParameter("?ParentFolder", textContent.ParentFolder));
            command.Parameters.Add(new MySqlParameter("?ParentUUID", textContent.ParentUUID));
            command.Parameters.Add(new MySqlParameter("?UserId", textContent.UserId));
            command.Parameters.Add(new MySqlParameter("?OriginalRepository", textContent.OriginalRepository));
            command.Parameters.Add(new MySqlParameter("?OriginalFolder", textContent.OriginalFolder));
            command.Parameters.Add(new MySqlParameter("?IsLocalized", textContent.IsLocalized));
            command.Parameters.Add(new MySqlParameter("?Sequence", textContent.Sequence));

            foreach (var column in schema.Columns.Where(it => !it.IsSystemField))
            {
                fields.Add(string.Format("{0}", column.Name));
                command.Parameters.Add(CreateParameter(column, textContent));
            }
            string sql = string.Format("UPDATE `{0}` SET {1} WHERE UUID=?UUID", schema.GetTableName()
                , string.Join(",", fields.Select(it => "`" + it + "`" + "=?" + it)));

            command.CommandText = sql;

            return command;
        }
示例#5
0
文件: ViewHelper.cs 项目: Godoy/CMS
        private static FieldDataType QueryFieldDataType(TextContent data, string fieldName)
        {
            var dataType = FieldDataType.RichText;

            fieldName = fieldName ?? string.Empty;
            var column = data.GetSchema().AsActual().AllColumns
                .Where(o => fieldName.Equals(o.Name, StringComparison.OrdinalIgnoreCase)).FirstOrDefault();
            if (column != null)
            {
                if ("TextBox".Equals(column.ControlType, StringComparison.OrdinalIgnoreCase) ||
                    "TextArea".Equals(column.ControlType, StringComparison.OrdinalIgnoreCase))
                {
                    dataType = FieldDataType.Text;
                }
                else if ("Tinymce".Equals(column.ControlType, StringComparison.OrdinalIgnoreCase))
                {
                    dataType = FieldDataType.RichText;
                }
                else if ("Date".Equals(column.ControlType, StringComparison.OrdinalIgnoreCase) ||
                         "DateTime".Equals(column.ControlType, StringComparison.OrdinalIgnoreCase))
                {
                    dataType = FieldDataType.Date;
                }
            }
            else
            {
                dataType = FieldDataType.RichText;
            }

            // ret
            return dataType;
        }
示例#6
0
        public SqlCeCommand Update(TextContent textContent)
        {
            var schema = textContent.GetSchema().AsActual();
            List<string> fields = new List<string>() {
             "Repository", "FolderName", "UserKey", "UtcCreationDate", "UtcLastModificationDate", "Published",
             "OriginalUUID", "SchemaName","ParentFolder", "ParentUUID","UserId","OriginalRepository","OriginalFolder",
             "IsLocalized","Sequence"
            };

            SqlCeCommand command = new SqlCeCommand();

            command.Parameters.Add(new SqlCeParameter("@UUID", textContent.UUID));
            command.Parameters.Add(new SqlCeParameter("@Repository", textContent.Repository));
            command.Parameters.Add(new SqlCeParameter("@FolderName", textContent.FolderName));
            command.Parameters.Add(new SqlCeParameter("@UserKey", textContent.UserKey));
            command.Parameters.Add(new SqlCeParameter("@UtcCreationDate", textContent.UtcCreationDate));
            command.Parameters.Add(new SqlCeParameter("@UtcLastModificationDate", textContent.UtcLastModificationDate));
            command.Parameters.Add(new SqlCeParameter("@Published", textContent.Published));
            command.Parameters.Add(new SqlCeParameter("@OriginalUUID", textContent.OriginalUUID));
            command.Parameters.Add(new SqlCeParameter("@SchemaName", textContent.SchemaName));
            command.Parameters.Add(new SqlCeParameter("@ParentFolder", textContent.ParentFolder));
            command.Parameters.Add(new SqlCeParameter("@ParentUUID", textContent.ParentUUID));
            command.Parameters.Add(new SqlCeParameter("@UserId", textContent.UserId));
            command.Parameters.Add(new SqlCeParameter("@OriginalRepository", textContent.OriginalRepository));
            command.Parameters.Add(new SqlCeParameter("@OriginalFolder", textContent.OriginalFolder));
            command.Parameters.Add(new SqlCeParameter("@IsLocalized", textContent.IsLocalized));
            command.Parameters.Add(new SqlCeParameter("@Sequence", textContent.Sequence));

            foreach (var column in schema.Columns.Where(it => !it.IsSystemField))
            {
                fields.Add(string.Format("{0}", column.Name));
                command.Parameters.Add(CreateParameter(column, textContent));
            }
            string sql = string.Format("UPDATE [{0}] SET {1} WHERE UUID=@UUID", schema.GetTableName()
                , string.Join(",", fields.Select(it => "[" + it + "]" + "=@" + it)));

            command.CommandText = sql;

            return command;
        }