Skip to content
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.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file added .vs/EventbriteNET/v14/.suo
Binary file not shown.
49 changes: 49 additions & 0 deletions EventbriteNET/AccessCode.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace EventbriteNET
{
public class AccessCode : EventbriteObject
{
public AccessCode()
{
ValidStartDate = new DateTimeTimezoneField();
ValidEndDate = new DateTimeTimezoneField();
}

[JsonProperty("code")]
public string Code { get; set; }

[JsonProperty("ticket_ids")]
public IList<string> TicketIds { get; set; }

[JsonProperty("quantity_available")]
public int QuantityAvailable { get; set; }

[JsonProperty("quantity_sold")]
public int QuantitySold { get; set; }

[JsonProperty("start_date")]
public DateTimeTimezoneField ValidStartDate { get; set; }

[JsonProperty("end_date")]
public DateTimeTimezoneField ValidEndDate { get; set; }

[JsonProperty("event_id")]
public long? EventId { get; set; }

}

public class PagedAccessCodes : EventbriteObject
{
[JsonProperty("pagination")]
public Pagination Pagination { get; set; }
[JsonProperty("access_codes")]
public List<AccessCode> AccessCodes { get; set; }
}

}
14 changes: 14 additions & 0 deletions EventbriteNET/EventbriteContext.cs
Original file line number Diff line number Diff line change
Expand Up @@ -142,5 +142,19 @@ private IRequestHandler GetHandler(Type type)

return handler;
}

//Access Codes methods
public PagedAccessCodes GetAccessCodesForEvent(long id)
{
var handler = (AccessCodeRequestHandler)GetHandler(typeof(AccessCode));
return handler.GetAccessCodesForEvent(id);
}

public AccessCode GetAccessCodeForEvent(long eventId, long accessCodeId)
{
var handler = (AccessCodeRequestHandler)GetHandler(typeof(AccessCode));
return handler.GetAccessCodeForEvent(eventId, accessCodeId);
}

}
}
2 changes: 2 additions & 0 deletions EventbriteNET/EventbriteNET.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,7 @@
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="AccessCode.cs" />
<Compile Include="Attendee.cs" />
<Compile Include="Category.cs" />
<Compile Include="Collections\PaginatedResponse.Category.cs" />
Expand All @@ -48,6 +49,7 @@
<Compile Include="Event.cs" />
<Compile Include="Fields.cs" />
<Compile Include="Format.cs" />
<Compile Include="Http\AccessCodeRequestHandler.cs" />
<Compile Include="Http\AttendeesRequestHandler.cs" />
<Compile Include="Http\CategoryRequestHander.cs" />
<Compile Include="Http\UserRequestHander.cs" />
Expand Down
86 changes: 86 additions & 0 deletions EventbriteNET/Http/AccessCodeRequestHandler.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,86 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;

namespace EventbriteNET.Http
{
class AccessCodeRequestHandler : RequestBase<AccessCode>
{
public AccessCodeRequestHandler(EventbriteContext context) : base(context) { }

public PagedAccessCodes GetAccessCodesForEvent(long id)
{
var request = new RestRequest("events/" + id.ToString() + "/access_codes/");
request.AddQueryParameter("token", Context.Token);

if (Context.Page > 1)
request.AddQueryParameter("page", Context.Page.ToString());

var accessCodes = this.Execute<PagedAccessCodes>(request);

return accessCodes;
}

public AccessCode GetAccessCodeForEvent(long eventId, long accessCodeId)
{
var request = new RestRequest("events/" + eventId.ToString() + "/access_codes/" + accessCodeId);
request.AddQueryParameter("token", Context.Token);

var result = this.Execute<AccessCode>(request);

return result;
}

protected override void OnCreate(AccessCode entity)
{
var request = new RestRequest("/events/" + Context.EventId + "/access_codes/", HttpMethod.Post);
request.AddQueryParameter("token", Context.Token);
request.AddQueryParameter("access_code.code", entity.Code);
request.AddQueryParameter("access_code.ticket_ids", entity.TicketIds[0].ToString());
request.AddQueryParameter("access_code.quantity_available", entity.QuantityAvailable.ToString());

//todo: start + end date

//execute Access Code create
var response = this.Execute(request);

if (response.IsSuccessStatusCode)
{
//succcess
}
else
{
this.ThrowResponseError(response);
}

}

protected override IList<AccessCode> OnGet()
{
throw new NotImplementedException();
}

protected override AccessCode OnGet(long id)
{
throw new NotImplementedException();
}

protected override Task<IList<AccessCode>> OnGetAsync()
{
throw new NotImplementedException();
}

protected override Task<AccessCode> OnGetAsync(long id)
{
throw new NotImplementedException();
}

protected override void OnUpdate(AccessCode entity)
{
throw new NotImplementedException();
}
}
}
Binary file modified EventbriteNET/bin/Debug/EventbriteNET.dll
Binary file not shown.
Binary file modified EventbriteNET/bin/Debug/EventbriteNET.pdb
Binary file not shown.
Binary file not shown.
13 changes: 13 additions & 0 deletions EventbriteNET/obj/Debug/EventbriteNET.csproj.FileListAbsolute.txt
Original file line number Diff line number Diff line change
Expand Up @@ -11,3 +11,16 @@ C:\Users\ageorgiou\Documents\Visual Studio 2012\Projects\EventbriteNET\Eventbrit
C:\Users\ageorgiou\Documents\Visual Studio 2012\Projects\EventbriteNET\EventbriteNET\bin\Debug\System.Net.Http.Primitives.xml
C:\Users\ageorgiou\Documents\Visual Studio 2012\Projects\EventbriteNET\EventbriteNET\obj\Debug\EventbriteNET.dll
C:\Users\ageorgiou\Documents\Visual Studio 2012\Projects\EventbriteNET\EventbriteNET\obj\Debug\EventbriteNET.pdb
C:\Users\piete\Source\Repos\Temporary\EventbriteNET\bin\Debug\EventbriteNET.dll
C:\Users\piete\Source\Repos\Temporary\EventbriteNET\bin\Debug\EventbriteNET.pdb
C:\Users\piete\Source\Repos\Temporary\EventbriteNET\bin\Debug\Newtonsoft.Json.dll
C:\Users\piete\Source\Repos\Temporary\EventbriteNET\bin\Debug\System.Net.Http.dll
C:\Users\piete\Source\Repos\Temporary\EventbriteNET\bin\Debug\System.Net.Http.Extensions.dll
C:\Users\piete\Source\Repos\Temporary\EventbriteNET\bin\Debug\System.Net.Http.Primitives.dll
C:\Users\piete\Source\Repos\Temporary\EventbriteNET\bin\Debug\Newtonsoft.Json.xml
C:\Users\piete\Source\Repos\Temporary\EventbriteNET\bin\Debug\System.Net.Http.xml
C:\Users\piete\Source\Repos\Temporary\EventbriteNET\bin\Debug\System.Net.Http.Extensions.xml
C:\Users\piete\Source\Repos\Temporary\EventbriteNET\bin\Debug\System.Net.Http.Primitives.xml
C:\Users\piete\Source\Repos\Temporary\EventbriteNET\obj\Debug\EventbriteNET.csprojResolveAssemblyReference.cache
C:\Users\piete\Source\Repos\Temporary\EventbriteNET\obj\Debug\EventbriteNET.dll
C:\Users\piete\Source\Repos\Temporary\EventbriteNET\obj\Debug\EventbriteNET.pdb
Binary file modified EventbriteNET/obj/Debug/EventbriteNET.dll
Binary file not shown.
Binary file modified EventbriteNET/obj/Debug/EventbriteNET.pdb
Binary file not shown.