static WorkflowProcessAssignment()
 {
     DbTableName = "workflowprocessassignment";
     DBColumnsStatic.AddRange(new[]
     {
         new ColumnInfo {
             Name = nameof(Id), IsKey = true, Type = MySqlDbType.Binary
         },
         new ColumnInfo {
             Name = nameof(AssignmentCode)
         },
         new ColumnInfo {
             Name = nameof(ProcessId), Type = MySqlDbType.Binary
         },
         new ColumnInfo {
             Name = nameof(Name)
         },
         new ColumnInfo {
             Name = nameof(Description)
         },
         new ColumnInfo {
             Name = nameof(StatusState)
         },
         new ColumnInfo {
             Name = nameof(IsActive), Type = MySqlDbType.Bit
         },
         new ColumnInfo {
             Name = nameof(IsDeleted), Type = MySqlDbType.Bit
         },
         new ColumnInfo {
             Name = nameof(DateCreation), Type = MySqlDbType.DateTime
         },
         new ColumnInfo {
             Name = nameof(DateStart), Type = MySqlDbType.DateTime
         },
         new ColumnInfo {
             Name = nameof(DateFinish), Type = MySqlDbType.DateTime
         },
         new ColumnInfo {
             Name = nameof(DeadlineToStart), Type = MySqlDbType.DateTime
         },
         new ColumnInfo {
             Name = nameof(DeadlineToComplete), Type = MySqlDbType.DateTime
         },
         new ColumnInfo {
             Name = nameof(Executor)
         },
         new ColumnInfo {
             Name = nameof(Observers)
         },
         new ColumnInfo {
             Name = nameof(Tags)
         }
     });
 }
 public static ColumnInfo GetColumnInfoByAssignmentProperty(string propertyName)
 {
     return(propertyName switch
     {
         nameof(Assignment.AssignmentId) => DBColumnsStatic.Find(c => c.Name == nameof(Id)),
         nameof(Assignment.AssignmentCode) => DBColumnsStatic.Find(c => c.Name == nameof(AssignmentCode)),
         nameof(Assignment.Name) => DBColumnsStatic.Find(c => c.Name == nameof(Name)),
         nameof(Assignment.ProcessId) => DBColumnsStatic.Find(c => c.Name == nameof(ProcessId)),
         nameof(Assignment.StatusState) => DBColumnsStatic.Find(c => c.Name == nameof(StatusState)),
         nameof(Assignment.IsDeleted) => DBColumnsStatic.Find(c => c.Name == nameof(IsDeleted)),
         nameof(Assignment.IsActive) => DBColumnsStatic.Find(c => c.Name == nameof(IsActive)),
         nameof(Assignment.DateCreation) => DBColumnsStatic.Find(c => c.Name == nameof(DateCreation)),
         nameof(Assignment.DateFinish) => DBColumnsStatic.Find(c => c.Name == nameof(DateFinish)),
         nameof(Assignment.DateStart) => DBColumnsStatic.Find(c => c.Name == nameof(DateStart)),
         nameof(Assignment.DeadlineToStart) => DBColumnsStatic.Find(c => c.Name == nameof(DeadlineToStart)),
         nameof(Assignment.DeadlineToComplete) => DBColumnsStatic.Find(c => c.Name == nameof(DeadlineToComplete)),
         nameof(Assignment.Description) => DBColumnsStatic.Find(c => c.Name == nameof(Description)),
         nameof(Assignment.Executor) => DBColumnsStatic.Find(c => c.Name == nameof(Executor)),
         nameof(Assignment.Tags) => DBColumnsStatic.Find(c => c.Name == nameof(Tags)),
         nameof(Assignment.Observers) => DBColumnsStatic.Find(c => c.Name == nameof(Observers)),
         _ => throw new Exception(string.Format("Column {0} is not exists", propertyName))
     });