Ejemplo n.º 1
0
        /// <summary>
        /// Edits a standard field on an issue.
        /// </summary>
        /// <param name="issue">The issue to edit the field on.</param>
        /// <param name="id">The id of the standard Issue field to edit.</param>
        /// <param name="value">The new value of the field.</param>
        public void EditField(Issue issue, IssueFieldId id, object value)
        {
            if (issue == null)
            {
                throw new ArgumentNullException("issue");
            }

            var update = new UpdateFieldInput(id);

            update.AddOperation(StandardOperation.Set, value);

            var json = IssueEditMetaJsonGenerator.Generate(new List <UpdateFieldInput> {
                update
            });

            client.Put <JsonObject>(issue.Self.ToString(), json);
        }
Ejemplo n.º 2
0
 /// <inheritdoc/>
 public override void UpdateIssue( Issue          issue,
                                  IssueFieldId   fieldsToUpdate )
 {
 }
 public FieldInput(IssueFieldId field, object value)
 {
     Id = field.ToRestString();
     Value = value;
 }
 /// <summary>
 /// Initializes a new instance of the field updater.
 /// </summary>
 /// <param name="field">The field to update.</param>
 /// <param name="elements">The changes to make.</param>
 internal UpdateFieldInput(IssueFieldId field, IEnumerable<FieldUpdateElement> elements)
 {
     Field = field;
     Elements = elements.ToList();
 }
Ejemplo n.º 5
0
 public FieldInput(IssueFieldId field, object value)
 {
     Id    = field.ToRestString();
     Value = value;
 }
Ejemplo n.º 6
0
 /// <inheritdoc/>
 public virtual void UpdateIssue( Issue          issue,
                                  IssueFieldId   fieldsToUpdate )
 {
     _contained.UpdateIssue( issue, fieldsToUpdate );
 }
 /// <summary>
 /// Initializes a new instance of the field updater.
 /// </summary>
 /// <param name="field">The field to update.</param>
 internal UpdateFieldInput(IssueFieldId field)
     : this(field, new List<FieldUpdateElement>())
 {
 }
Ejemplo n.º 8
0
        /// <inheritdoc/>
        public override void UpdateIssue( Issue          issue,
                                          IssueFieldId   fieldsToUpdate )
        {
            if( _config.IsOutputLogged )
            {
                string actionText =
                    string.Format( "UPDATE( {0} )", fieldsToUpdate.ToString( "G" ) );

                LogIssue( actionText, issue );
            }

            Contained.UpdateIssue( issue, fieldsToUpdate );
        }
Ejemplo n.º 9
0
        /// <inheritdoc/>
        public void Execute( Issue issue, IssueFieldId fieldsToUpdate)
        {
            int     fieldCount = 0;
            var     sb = new StringBuilder();

            sb.AppendFormat( "/cards/{0}", issue.ID );

            foreach( var x in fieldsToUpdate.Flags().Cast<IssueFieldId>() )
            {
                sb.Append( fieldCount == 0 ? '?' : '&' );

                switch( x )
                {
                case IssueFieldId.Desc:
                    sb.AppendFormat( "name={0}", HttpUtility.UrlEncode( issue.Description ) );
                    break;

                case IssueFieldId.Details:
                    sb.AppendFormat( "desc={1}", HttpUtility.UrlEncode( issue.Details ) );
                    break;

                default:
                    throw new ApplicationException( string.Format(
                                    "Update of {0} field is not supported",
                                    Enum.GetName( typeof( IssueFieldId ), x ) ) );
                }

                fieldCount++;
            }

            if( fieldCount > 0 )
            {
                SendRequest( sb.ToString() );
            }
        }
Ejemplo n.º 10
0
 /// <inheritdoc/>
 public override void UpdateIssue( Issue         issue,
                                   IssueFieldId  fieldsToUpdate )
 {
     base.UpdateIssue( Denormalize( issue ),
                       Denormalize( fieldsToUpdate ) );
 }
Ejemplo n.º 11
0
        private IssueFieldId Denormalize( IssueFieldId fields )
        {
            IssueFieldId    fieldsOut = fields;

            if( fields.HasFlag( IssueFieldId.ID ) )
            {
                fieldsOut &= ~IssueFieldId.ID;
                fieldsOut |= IssueFieldId.Desc;
            }
            
            return fieldsOut;
        }
Ejemplo n.º 12
0
 /// <summary>
 /// Initializes a new instance of the field updater.
 /// </summary>
 /// <param name="field">The standard field to update.</param>
 /// <param name="elements">The changes to make.</param>
 internal UpdateFieldInput(IssueFieldId field, IEnumerable <FieldUpdateElement> elements)
 {
     // Convert field enum to field name sooner and store as a string.
     FieldName = field.ToRestString();
     Elements  = elements.ToList();
 }
Ejemplo n.º 13
0
 /// <summary>
 /// Initializes a new instance of the field updater.
 /// </summary>
 /// <param name="field">The standard field to update.</param>
 internal UpdateFieldInput(IssueFieldId field)
     : this(field, new List <FieldUpdateElement>())
 {
 }
Ejemplo n.º 14
0
 public static string ToRestString(this IssueFieldId fieldId)
 {
     return(FieldNames[fieldId]);
 }