/// <summary>
        ///     Indicates whether the current <see cref="WorkflowRecord" /> instance is equal to another <see cref="WorkflowRecord" /> instance.
        /// </summary>
        /// <param name="that">
        ///     The <see cref="WorkflowRecord" /> instance to be compared against this instance.
        /// </param>
        /// <returns>
        ///     True if both instances are considered equal; otherwise, false.
        /// </returns>
        public Boolean Equals(WorkflowRecord that)
        {
            Boolean result = true;

            result = result && (this.Id.TrimOrNullify() == that.Id.TrimOrNullify());
            result = result && (this.Lock.TrimOrNullify() == that.Lock.TrimOrNullify());
            result = result && (this.Name.TrimOrNullify() == that.Name.TrimOrNullify());
            result = result && (this.Desc.TrimOrNullify() == that.Desc.TrimOrNullify());
            result = result && (this.RecType.TrimOrNullify() == that.RecType.TrimOrNullify());
            result = result && (this.AutoLink == that.AutoLink);
            result = result && (this.FirstWfrId.TrimOrNullify() == that.FirstWfrId.TrimOrNullify());
            result = result && (this.Delay == that.Delay);
            result = result && (this.Occurs == that.Occurs);
            result = result && (this.DayOfWeek == that.DayOfWeek);
            result = result && (this.DailyFreq == that.DailyFreq);
            result = result && (this.NormalTime == that.NormalTime);
            result = result && (this.Frequency == that.Frequency);
            result = result && (this.ValidFromDate == that.ValidFromDate);
            result = result && (this.ValidToDate == that.ValidToDate);
            result = result && (this.Disabled == that.Disabled);
            result = result && (this.RunDatetime == that.RunDatetime);
            result = result && (this.LastRunDttime == that.LastRunDttime);
            result = result && (this.CreatedByV1 == that.CreatedByV1);
            result = result && (this.Group.TrimOrNullify() == that.Group.TrimOrNullify());
            result = result && (this.UniqueSysName.TrimOrNullify() == that.UniqueSysName.TrimOrNullify());
            return(result);
        }
        /// <summary>
        ///     Creates a new <see cref="WorkflowRecord" /> object instance that is a shallow-copy of the current object instance.
        /// </summary>
        /// <returns>
        ///     The shallow-copy of the current <see cref="WorkflowRecord" /> object instance.
        /// </returns>
        public WorkflowRecord Clone()
        {
            WorkflowRecord record = new WorkflowRecord();

            record.Id            = this.Id;
            record.Lock          = this.Lock;
            record.AddDate       = this.AddDate;
            record.AddBy         = this.AddBy;
            record.ModDate       = this.ModDate;
            record.ModBy         = this.ModBy;
            record.RcvDate       = this.RcvDate;
            record.RcvFrom       = this.RcvFrom;
            record.Name          = this.Name;
            record.Desc          = this.Desc;
            record.RecType       = this.RecType;
            record.AutoLink      = this.AutoLink;
            record.FirstWfrId    = this.FirstWfrId;
            record.Delay         = this.Delay;
            record.Occurs        = this.Occurs;
            record.DayOfWeek     = this.DayOfWeek;
            record.DailyFreq     = this.DailyFreq;
            record.NormalTime    = this.NormalTime;
            record.Frequency     = this.Frequency;
            record.ValidFromDate = this.ValidFromDate;
            record.ValidToDate   = this.ValidToDate;
            record.Disabled      = this.Disabled;
            record.RunDatetime   = this.RunDatetime;
            record.LastRunDttime = this.LastRunDttime;
            record.CreatedByV1   = this.CreatedByV1;
            record.Group         = this.Group;
            record.UniqueSysName = this.UniqueSysName;
            return(record);
        }