Exemple #1
0
        /// <summary>
        /// Updates cross ref field.
        /// </summary>
        /// <param name="dto">The DTO object.</param>
        /// <exception cref="System.ArgumentException"></exception>
        /// <exception cref="System.ArgumentNullException">The input DTO is null.</exception>
        public void UpdateCrossRefField(CrossReferenceDisplayFieldDto dto)
        {
            if (dto == null) throw new ArgumentException(string.Format(CultureInfo.InvariantCulture, Resources.NullArguementException, "dto"));

            const string CmdText = @"
UPDATE [dbo].[CrossRefStepFields]
SET
     [CrossRefStepId] = @stepId
    ,[FieldName] = @fieldName
    ,[FullPath] = @fullPath
    ,[Order] = @order
    ,[FieldGuid] = @fieldGuid
    ,[Guid] = @guid
WHERE [Id] = @id;
";

            using (var ctx = ConnectionManager<SqlConnection>.GetManager(Database.VeyronMeta, false))
            {
                using (var cmd = new SqlCommand(CmdText, ctx.Connection))
                {
                    cmd.Parameters.AddWithValue("@id", dto.Id);
                    cmd.Parameters.AddWithValue("@stepId", dto.StepId);
                    cmd.Parameters.AddWithValue("@fieldName", dto.DisplayName);
                    cmd.Parameters.AddWithValue("@fullPath", dto.FullPath);
                    cmd.Parameters.AddWithValue("@order", dto.Order);
                    cmd.Parameters.AddWithValue("@fieldGuid", dto.FieldGuid);
                    cmd.Parameters.AddWithValue("@guid", dto.Guid);

                    cmd.ExecuteNonQuery();
                }
            }
        }
Exemple #2
0
        /// <summary>
        /// Retrieves cross ref required step.
        /// </summary>
        /// <param name="processName">The process name.</param>
        /// <param name="fieldName">The field name.</param>
        /// <param name="isPublishedCopy">The is published copy.</param>
        /// <returns>The <see cref="CrossRefRequiredStepDto" />.</returns>
        public CrossRefRequiredStepDto FetchCrossRefRequiredStep(string processName, string fieldName, bool isPublishedCopy = false)
        {
            const string CmdText =
                @"
DECLARE @fieldId AS INT

SELECT @fieldId = f.Id
FROM
    [dbo].[Processes] p
    INNER JOIN [dbo].[Sections] s ON s.ProcessId = p.Id
    INNER JOIN [dbo].[Fields] f ON f.SectionId = s.Id
WHERE p.[SystemName] = @processName AND p.IsRemoved = 0 AND p.IsPublishedCopy = @isPublishedCopy AND f.SystemName = @fieldName;

EXEC [dbo].[GetCrossRefRequiredStep] @FieldId = @fieldId;
";

            using (var ctx = ConnectionManager<SqlConnection>.GetManager(Database.VeyronMeta, false))
            {
                using (var cmd = new SqlCommand(CmdText, ctx.Connection))
                {
                    cmd.Parameters.AddWithValue("@processName", processName);
                    cmd.Parameters.AddWithValue("@fieldName", fieldName);
                    cmd.Parameters.AddWithValue("@isPublishedCopy", isPublishedCopy);

                    using (var reader = new SafeDataReader(cmd.ExecuteReader()))
                    {
                        if (reader.Read())
                        {
                            var dto = new CrossRefRequiredStepDto
                                          {
                                              Id = reader.GetInt32(0),
                                              CrossRefProcessId = reader.GetNullableInt(1),
                                              FieldId = reader.GetInt32(2),
                                              DisplayFieldName = reader.GetString(3),
                                              AllowMultiple = reader.GetBoolean(4),
                                              EditViaSpreadsheet = reader.GetBoolean(5),
                                              MultiCrAllowLinkUnlink = reader.GetBoolean(6),
                                              MultiCrAllowAddNew = reader.GetBoolean(7),
                                              IsOwner = reader.GetBoolean(8),
                                              AllowRecentVersion = reader.GetBoolean(9),
                                              LinkFieldSystemName = reader.GetString(10)
                                          };

                            if (reader.NextResult())
                            {
                                while (reader.Read())
                                {
                                    var df = new CrossReferenceDisplayFieldDto
                                                 {
                                                     Id = reader.GetInt32(0),
                                                     DisplayName = reader.GetString(1),
                                                     FullPath = reader.GetString(2),
                                                     Order = reader.GetDouble(3),
                                                     FieldGuid = reader.GetGuid(4)
                                                 };

                                    dto.DisplayFields.Add(df);
                                }
                            }

                            return dto;
                        }
                    }
                }
            }

            return null;
        }
Exemple #3
0
        /// <summary>
        /// Insert cross ref field.
        /// </summary>
        /// <param name="dto">The DTO object.</param>
        /// <exception cref="System.ArgumentNullException">The input DTO is null.</exception>
        public void InsertCrossRefField(CrossReferenceDisplayFieldDto dto)
        {
            if (dto == null) throw new ArgumentNullException(string.Format(CultureInfo.InvariantCulture, Resources.NullArguementException, "dto"));

            const string CmdText =
                @"
INSERT INTO [dbo].[CrossRefStepFields]
(
     [CrossRefStepId]
    ,[FieldName]
    ,[FullPath]
    ,[Order]
    ,[FieldGuid]
    ,[Guid]
)
VALUES
(
     @stepId
    ,@fieldName
    ,@fullPath
    ,@order
    ,@fieldGuid
    ,@guid
);

SELECT [Id]
FROM   [dbo].[CrossRefStepFields]
WHERE  [Id] = SCOPE_IDENTITY()";

            using (var ctx = ConnectionManager<SqlConnection>.GetManager(Database.VeyronMeta, false))
            {
                using (var cmd = new SqlCommand(CmdText, ctx.Connection))
                {
                    cmd.Parameters.AddWithValue("@stepId", dto.StepId);
                    cmd.Parameters.AddWithValue("@fieldName", dto.DisplayName);
                    cmd.Parameters.AddWithValue("@fullPath", dto.FullPath);
                    cmd.Parameters.AddWithValue("@order", dto.Order);
                    cmd.Parameters.AddWithValue("@fieldGuid", dto.FieldGuid);
                    cmd.Parameters.AddWithValue("@guid", dto.Guid);

                    dto.Id = (int)cmd.ExecuteScalar();
                }
            }
        }