Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

added optional parameter to write to json #340

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
3 changes: 2 additions & 1 deletion src/redmine-net-api/Serialization/IJsonSerializable.cs
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,8 @@ public interface IJsonSerializable
///
/// </summary>
/// <param name="writer"></param>
void WriteJson(JsonWriter writer);
/// <param name="full"></param>
void WriteJson(JsonWriter writer, bool full = false);
/// <summary>
///
/// </summary>
Expand Down
4 changes: 2 additions & 2 deletions src/redmine-net-api/Types/Attachment.cs
Original file line number Diff line number Diff line change
Expand Up @@ -166,8 +166,8 @@ public override void ReadJson(JsonReader reader)
///
/// </summary>
/// <param name="writer"></param>

public override void WriteJson(JsonWriter writer)
/// <param name="full"></param>
public override void WriteJson(JsonWriter writer, bool full = false)
{
using (new JsonObject(writer, RedmineKeys.ATTACHMENT))
{
Expand Down
3 changes: 2 additions & 1 deletion src/redmine-net-api/Types/Attachments.cs
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,8 @@ internal class Attachments : Dictionary<int, Attachment>, IJsonSerializable
///
/// </summary>
/// <param name="writer"></param>
public void WriteJson(JsonWriter writer)
/// <param name="full"></param>
public void WriteJson(JsonWriter writer, bool full = false)
{
using (new JsonObject(writer, RedmineKeys.ATTACHMENTS))
{
Expand Down
3 changes: 2 additions & 1 deletion src/redmine-net-api/Types/ChangeSet.cs
Original file line number Diff line number Diff line change
Expand Up @@ -138,7 +138,8 @@ public void ReadJson(JsonReader reader)
///
/// </summary>
/// <param name="writer"></param>
public void WriteJson(JsonWriter writer) { }
/// <param name="full"></param>
public void WriteJson(JsonWriter writer, bool full = false) { }
#endregion

#region Implementation of IEquatable<ChangeSet>
Expand Down
3 changes: 2 additions & 1 deletion src/redmine-net-api/Types/CustomFieldPossibleValue.cs
Original file line number Diff line number Diff line change
Expand Up @@ -127,7 +127,8 @@ public void ReadJson(JsonReader reader)
///
/// </summary>
/// <param name="writer"></param>
public void WriteJson(JsonWriter writer) { }
/// <param name="full"></param>
public void WriteJson(JsonWriter writer, bool full = false) { }
#endregion

#region Implementation of IEquatable<CustomFieldPossibleValue>
Expand Down
3 changes: 2 additions & 1 deletion src/redmine-net-api/Types/CustomFieldValue.cs
Original file line number Diff line number Diff line change
Expand Up @@ -128,7 +128,8 @@ public void ReadJson(JsonReader reader)
///
/// </summary>
/// <param name="writer"></param>
public void WriteJson(JsonWriter writer)
/// <param name="full"></param>
public void WriteJson(JsonWriter writer, bool full = false)
{
}

Expand Down
4 changes: 3 additions & 1 deletion src/redmine-net-api/Types/Detail.cs
Original file line number Diff line number Diff line change
Expand Up @@ -124,11 +124,13 @@ public void ReadXml(XmlReader reader)
#endregion

#region Implementation of IJsonSerialization

/// <summary>
///
/// </summary>
/// <param name="writer"></param>
public void WriteJson(JsonWriter writer) { }
/// <param name="full"></param>
public void WriteJson(JsonWriter writer, bool full = false) { }

/// <summary>
///
Expand Down
3 changes: 2 additions & 1 deletion src/redmine-net-api/Types/Error.cs
Original file line number Diff line number Diff line change
Expand Up @@ -105,7 +105,8 @@ public void ReadJson(JsonReader reader)
///
/// </summary>
/// <param name="writer"></param>
public void WriteJson(JsonWriter writer) { }
/// <param name="full"></param>
public void WriteJson(JsonWriter writer, bool full = false) { }
#endregion

#region Implementation of IEquatable
Expand Down
3 changes: 2 additions & 1 deletion src/redmine-net-api/Types/File.cs
Original file line number Diff line number Diff line change
Expand Up @@ -185,7 +185,8 @@ public override void ReadJson(JsonReader reader)
///
/// </summary>
/// <param name="writer"></param>
public override void WriteJson(JsonWriter writer)
/// <param name="full"></param>
public override void WriteJson(JsonWriter writer, bool full = false)
{
using (new JsonObject(writer, RedmineKeys.FILE))
{
Expand Down
3 changes: 2 additions & 1 deletion src/redmine-net-api/Types/Group.cs
Original file line number Diff line number Diff line change
Expand Up @@ -142,7 +142,8 @@ public override void ReadJson(JsonReader reader)
///
/// </summary>
/// <param name="writer"></param>
public override void WriteJson(JsonWriter writer)
/// <param name="full"></param>
public override void WriteJson(JsonWriter writer, bool full = false)
{
using (new JsonObject(writer, RedmineKeys.GROUP))
{
Expand Down
3 changes: 2 additions & 1 deletion src/redmine-net-api/Types/Identifiable.cs
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,8 @@ public abstract class Identifiable<T> : IXmlSerializable, IJsonSerializable, IEq
///
/// </summary>
/// <param name="writer"></param>
public virtual void WriteJson(JsonWriter writer) { }
/// <param name="full"></param>
public virtual void WriteJson(JsonWriter writer, bool full = false) { }
#endregion

#region Implementation of IEquatable<Identifiable<T>>
Expand Down
3 changes: 2 additions & 1 deletion src/redmine-net-api/Types/IdentifiableName.cs
Original file line number Diff line number Diff line change
Expand Up @@ -147,7 +147,8 @@ public override void ReadJson(JsonReader reader)
///
/// </summary>
/// <param name="writer"></param>
public override void WriteJson(JsonWriter writer)
/// <param name="full"></param>
public override void WriteJson(JsonWriter writer, bool full = false)
{
writer.WriteIdIfNotNull(RedmineKeys.ID, this);
if (!Name.IsNullOrWhiteSpace())
Expand Down
55 changes: 46 additions & 9 deletions src/redmine-net-api/Types/Issue.cs
Original file line number Diff line number Diff line change
Expand Up @@ -420,7 +420,8 @@ public override void ReadJson(JsonReader reader)
///
/// </summary>
/// <param name="writer"></param>
public override void WriteJson(JsonWriter writer)
/// <param name="full"></param>
public override void WriteJson(JsonWriter writer, bool full = false)
{
using (new JsonObject(writer, RedmineKeys.ISSUE))
{
Expand All @@ -434,16 +435,52 @@ public override void WriteJson(JsonWriter writer)
}

writer.WriteBoolean(RedmineKeys.IS_PRIVATE, IsPrivate);
writer.WriteIdIfNotNull(RedmineKeys.PROJECT_ID, Project);
writer.WriteIdIfNotNull(RedmineKeys.PRIORITY_ID, Priority);
writer.WriteIdIfNotNull(RedmineKeys.STATUS_ID, Status);
writer.WriteIdIfNotNull(RedmineKeys.CATEGORY_ID, Category);
writer.WriteIdIfNotNull(RedmineKeys.TRACKER_ID, Tracker);
writer.WriteIdIfNotNull(RedmineKeys.ASSIGNED_TO_ID, AssignedTo);
writer.WriteIdIfNotNull(RedmineKeys.FIXED_VERSION_ID, FixedVersion);
if (full)
{
if (Project != null)
using (new JsonObject(writer, RedmineKeys.PROJECT))
Project.WriteJson(writer);

if (Tracker != null)
using (new JsonObject(writer, RedmineKeys.TRACKER))
Tracker.WriteJson(writer);
if(Status != null)
using (new JsonObject(writer, RedmineKeys.STATUS))
Status.WriteJson(writer);
if (Priority != null)
using (new JsonObject(writer, RedmineKeys.PRIORITY))
Priority.WriteJson(writer);
if (Author != null)
using (new JsonObject(writer, RedmineKeys.AUTHOR))
Author.WriteJson(writer);
if (Category != null)
using (new JsonObject(writer, RedmineKeys.CATEGORY))
Category.WriteJson(writer);
if (AssignedTo != null)
using (new JsonObject(writer, RedmineKeys.ASSIGNED_TO))
AssignedTo.WriteJson(writer);
if (ParentIssue != null)
using (new JsonObject(writer, RedmineKeys.PARENT))
ParentIssue.WriteJson(writer);
if (FixedVersion != null)
using (new JsonObject(writer, RedmineKeys.FIXED_VERSION))
FixedVersion.WriteJson(writer);

}
else
{
writer.WriteIdIfNotNull(RedmineKeys.PROJECT_ID, Project);
writer.WriteIdIfNotNull(RedmineKeys.PRIORITY_ID, Priority);
writer.WriteIdIfNotNull(RedmineKeys.STATUS_ID, Status);
writer.WriteIdIfNotNull(RedmineKeys.CATEGORY_ID, Category);
writer.WriteIdIfNotNull(RedmineKeys.TRACKER_ID, Tracker);
writer.WriteIdIfNotNull(RedmineKeys.ASSIGNED_TO_ID, AssignedTo);
writer.WriteIdIfNotNull(RedmineKeys.FIXED_VERSION_ID, FixedVersion);
writer.WriteIdOrEmpty(RedmineKeys.PARENT_ISSUE_ID, ParentIssue);
}

writer.WriteValueOrEmpty(RedmineKeys.ESTIMATED_HOURS, EstimatedHours);

writer.WriteIdOrEmpty(RedmineKeys.PARENT_ISSUE_ID, ParentIssue);
writer.WriteDateOrEmpty(RedmineKeys.START_DATE, StartDate);
writer.WriteDateOrEmpty(RedmineKeys.DUE_DATE, DueDate);
writer.WriteDateOrEmpty(RedmineKeys.UPDATED_ON, UpdatedOn);
Expand Down
3 changes: 2 additions & 1 deletion src/redmine-net-api/Types/IssueCategory.cs
Original file line number Diff line number Diff line change
Expand Up @@ -130,7 +130,8 @@ public override void ReadJson(JsonReader reader)
///
/// </summary>
/// <param name="writer"></param>
public override void WriteJson(JsonWriter writer)
/// <param name="full"></param>
public override void WriteJson(JsonWriter writer, bool full = false)
{
using (new JsonObject(writer, RedmineKeys.ISSUE_CATEGORY))
{
Expand Down
4 changes: 3 additions & 1 deletion src/redmine-net-api/Types/IssueCustomField.cs
Original file line number Diff line number Diff line change
Expand Up @@ -124,11 +124,13 @@ public override void WriteXml(XmlWriter writer)
#endregion

#region Implementation of IJsonSerialization

/// <summary>
///
/// </summary>
/// <param name="writer"></param>
public override void WriteJson(JsonWriter writer)
/// <param name="full"></param>
public override void WriteJson(JsonWriter writer, bool full = false)
{
if (Values == null)
{
Expand Down
4 changes: 3 additions & 1 deletion src/redmine-net-api/Types/IssueRelation.cs
Original file line number Diff line number Diff line change
Expand Up @@ -124,11 +124,13 @@ public override void WriteXml(XmlWriter writer)
#endregion

#region Implementation of IJsonSerialization

/// <summary>
///
/// </summary>
/// <param name="writer"></param>
public override void WriteJson(JsonWriter writer)
/// <param name="full"></param>
public override void WriteJson(JsonWriter writer, bool full = false)
{
AssertValidIssueRelationType();

Expand Down
2 changes: 1 addition & 1 deletion src/redmine-net-api/Types/Journal.cs
Original file line number Diff line number Diff line change
Expand Up @@ -147,7 +147,7 @@ public override void ReadJson(JsonReader reader)
}

/// <inheritdoc />
public override void WriteJson(JsonWriter writer)
public override void WriteJson(JsonWriter writer, bool full = false)
{
writer.WriteProperty(RedmineKeys.NOTES, Notes);
}
Expand Down
3 changes: 2 additions & 1 deletion src/redmine-net-api/Types/MembershipRole.cs
Original file line number Diff line number Diff line change
Expand Up @@ -98,7 +98,8 @@ public override void ReadJson(JsonReader reader)
///
/// </summary>
/// <param name="writer"></param>
public override void WriteJson(JsonWriter writer)
/// <param name="full"></param>
public override void WriteJson(JsonWriter writer, bool full = false)
{
writer.WriteProperty(RedmineKeys.ID, Id.ToString(CultureInfo.InvariantCulture));
}
Expand Down
2 changes: 1 addition & 1 deletion src/redmine-net-api/Types/MyAccountCustomField.cs
Original file line number Diff line number Diff line change
Expand Up @@ -104,7 +104,7 @@ public override void ReadJson(JsonReader reader)
}

/// <inheritdoc />
public override void WriteJson(JsonWriter writer)
public override void WriteJson(JsonWriter writer, bool full = false)
{
}

Expand Down
3 changes: 2 additions & 1 deletion src/redmine-net-api/Types/News.cs
Original file line number Diff line number Diff line change
Expand Up @@ -180,7 +180,8 @@ public override void ReadJson(JsonReader reader)
///
/// </summary>
/// <param name="writer"></param>
public override void WriteJson(JsonWriter writer)
/// <param name="full"></param>
public override void WriteJson(JsonWriter writer, bool full = false)
{
using (new JsonObject(writer, RedmineKeys.NEWS))
{
Expand Down
2 changes: 1 addition & 1 deletion src/redmine-net-api/Types/NewsComment.cs
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,7 @@ public override void ReadJson(JsonReader reader)
}

/// <inheritdoc />
public override void WriteJson(JsonWriter writer)
public override void WriteJson(JsonWriter writer, bool full = false)
{
}

Expand Down
3 changes: 2 additions & 1 deletion src/redmine-net-api/Types/Permission.cs
Original file line number Diff line number Diff line change
Expand Up @@ -99,7 +99,8 @@ public void ReadJson(JsonReader reader)
///
/// </summary>
/// <param name="writer"></param>
public void WriteJson(JsonWriter writer) { }
/// <param name="full"></param>
public void WriteJson(JsonWriter writer, bool full = false) { }
#endregion

#region Implementation of IEquatable<Permission>
Expand Down
3 changes: 2 additions & 1 deletion src/redmine-net-api/Types/Project.cs
Original file line number Diff line number Diff line change
Expand Up @@ -269,7 +269,8 @@ public override void ReadJson(JsonReader reader)
///
/// </summary>
/// <param name="writer"></param>
public override void WriteJson(JsonWriter writer)
/// <param name="full"></param>
public override void WriteJson(JsonWriter writer, bool full = false)
{
using (new JsonObject(writer, RedmineKeys.PROJECT))
{
Expand Down
3 changes: 2 additions & 1 deletion src/redmine-net-api/Types/ProjectMembership.cs
Original file line number Diff line number Diff line change
Expand Up @@ -142,7 +142,8 @@ public override void ReadJson(JsonReader reader)
///
/// </summary>
/// <param name="writer"></param>
public override void WriteJson(JsonWriter writer)
/// <param name="full"></param>
public override void WriteJson(JsonWriter writer, bool full = false)
{
using (new JsonObject(writer, RedmineKeys.MEMBERSHIP))
{
Expand Down
2 changes: 1 addition & 1 deletion src/redmine-net-api/Types/Search.cs
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,7 @@ public void WriteXml(XmlWriter writer)
}

/// <inheritdoc />
public void WriteJson(JsonWriter writer)
public void WriteJson(JsonWriter writer, bool full = false)
{
}

Expand Down
3 changes: 2 additions & 1 deletion src/redmine-net-api/Types/TimeEntry.cs
Original file line number Diff line number Diff line change
Expand Up @@ -202,7 +202,8 @@ public override void ReadJson(JsonReader reader)
///
/// </summary>
/// <param name="writer"></param>
public override void WriteJson(JsonWriter writer)
/// <param name="full"></param>
public override void WriteJson(JsonWriter writer, bool full = false)
{
using (new JsonObject(writer, RedmineKeys.TIME_ENTRY))
{
Expand Down
3 changes: 2 additions & 1 deletion src/redmine-net-api/Types/Upload.cs
Original file line number Diff line number Diff line change
Expand Up @@ -140,7 +140,8 @@ public void ReadJson(JsonReader reader)
///
/// </summary>
/// <param name="writer"></param>
public void WriteJson(JsonWriter writer)
/// <param name="full"></param>
public void WriteJson(JsonWriter writer, bool full = false)
{
writer.WriteStartObject();
writer.WriteProperty(RedmineKeys.TOKEN, Token);
Expand Down
3 changes: 2 additions & 1 deletion src/redmine-net-api/Types/User.cs
Original file line number Diff line number Diff line change
Expand Up @@ -279,7 +279,8 @@ public override void ReadJson(JsonReader reader)
///
/// </summary>
/// <param name="writer"></param>
public override void WriteJson(JsonWriter writer)
/// <param name="full"></param>
public override void WriteJson(JsonWriter writer, bool full = false)
{
using (new JsonObject(writer, RedmineKeys.USER))
{
Expand Down
3 changes: 2 additions & 1 deletion src/redmine-net-api/Types/Version.cs
Original file line number Diff line number Diff line change
Expand Up @@ -197,7 +197,8 @@ public override void ReadJson(JsonReader reader)
///
/// </summary>
/// <param name="writer"></param>
public override void WriteJson(JsonWriter writer)
/// <param name="full"></param>
public override void WriteJson(JsonWriter writer, bool full = false)
{
using (new JsonObject(writer, RedmineKeys.VERSION))
{
Expand Down
3 changes: 2 additions & 1 deletion src/redmine-net-api/Types/WikiPage.cs
Original file line number Diff line number Diff line change
Expand Up @@ -183,7 +183,8 @@ public override void ReadJson(JsonReader reader)
///
/// </summary>
/// <param name="writer"></param>
public override void WriteJson(JsonWriter writer)
/// <param name="full"></param>
public override void WriteJson(JsonWriter writer, bool full = false)
{
using (new JsonObject(writer, RedmineKeys.WIKI_PAGE))
{
Expand Down