diff --git a/BeckmanComms.Api.DataTransferObjects/BeckmanComms.Api.DataTransferObjects.csproj b/BeckmanComms.Api.DataTransferObjects/BeckmanComms.Api.DataTransferObjects.csproj index ef0dc3f19c46b850158a05259394e69b6c39fc3d..dc67027c5a1aa2a880be0f6ea546ac233182725c 100644 --- a/BeckmanComms.Api.DataTransferObjects/BeckmanComms.Api.DataTransferObjects.csproj +++ b/BeckmanComms.Api.DataTransferObjects/BeckmanComms.Api.DataTransferObjects.csproj @@ -13,6 +13,7 @@ </PropertyGroup> <ItemGroup> + <PackageReference Include="System.ComponentModel" Version="4.3.0" /> <PackageReference Include="System.Xml.XmlSerializer" Version="4.3.0" /> </ItemGroup> diff --git a/BeckmanComms.Api.DataTransferObjects/V2/Events/BeckmanCalendars.cs b/BeckmanComms.Api.DataTransferObjects/V2/Events/BeckmanCalendars.cs new file mode 100644 index 0000000000000000000000000000000000000000..7171e58fe01997d2322121893c27529b0d689ac2 --- /dev/null +++ b/BeckmanComms.Api.DataTransferObjects/V2/Events/BeckmanCalendars.cs @@ -0,0 +1,40 @@ +using System.ComponentModel; + +namespace BeckmanComms.Api.DataTransferObjects.V2.Events +{ + /// <summary> + /// Names and calendar IDs of Beckman Institute event calendars. + /// </summary> + public enum BeckmanCalendars + { + /// <summary> + /// Main Beckman Institute calendar. + /// </summary> + [Description("The main Beckman Institute event calendar.")] + BeckmanInstitute = 4595, + + /// <summary> + /// CNL calendar. + /// </summary> + [Description("Calendar for the Cognitive Neuroimaging Laboratory (CNL) at the Beckman Institute.")] + CnlEvents = 4521, + + /// <summary> + /// ILLI calendar. + /// </summary> + [Description("Calendar for the Illinois Language and Literacy Initiative (ILLI) at the Beckman Institute.")] + IlliEvents = 5511, + + /// <summary> + /// LBC calendar. + /// </summary> + [Description("Calendar for the Lifelong Brain and Cognition Laboratory (LBC) at the Beckman Institute.")] + LbcLab = 4669, + + /// <summary> + /// MSL calendar. + /// </summary> + [Description("Calendar for the Memory Systems Lab (MSL) at the Beckman Institute.")] + MslEvents = 4470 + } +} \ No newline at end of file diff --git a/BeckmanComms.Api.DataTransferObjects/V2/Events/CalendarDto.cs b/BeckmanComms.Api.DataTransferObjects/V2/Events/CalendarDto.cs new file mode 100644 index 0000000000000000000000000000000000000000..c930f8eb5de0f0c3d97cd29f8269a98156f929e2 --- /dev/null +++ b/BeckmanComms.Api.DataTransferObjects/V2/Events/CalendarDto.cs @@ -0,0 +1,23 @@ +namespace BeckmanComms.Api.DataTransferObjects.V2.Events +{ + /// <summary> + /// Information describing a webtools calendar. + /// </summary> + public class CalendarDto + { + /// <summary> + /// Calendar Name. + /// </summary> + public string Name { get; set; } + + /// <summary> + /// Webtools calendar ID. + /// </summary> + public int CalendarId { get; set; } + + /// <summary> + /// Human-readable description of calendar's purpose. + /// </summary> + public string Description { get; set; } + } +} \ No newline at end of file diff --git a/BeckmanComms.Api.DataTransferObjects/V2/Events/EventDto.cs b/BeckmanComms.Api.DataTransferObjects/V2/Events/EventDto.cs new file mode 100644 index 0000000000000000000000000000000000000000..a5b93bdd85331dd4ed65f386ffeb938f7354a009 --- /dev/null +++ b/BeckmanComms.Api.DataTransferObjects/V2/Events/EventDto.cs @@ -0,0 +1,75 @@ +using System; + +namespace BeckmanComms.Api.DataTransferObjects.V2.Events +{ + /// <summary> + /// Data Transfer Object representing a Beckman Institute event. + /// </summary> + public class EventDto + { + /// <summary> + /// Event's unique identifier. + /// </summary> + public int EventId { get; set; } + + /// <summary> + /// ID for calendar containing event. + /// </summary> + public string CalendarId { get; set; } + + /// <summary> + /// Event title. + /// </summary> + public string Title { get; set; } + + /// <summary> + /// Event description. + /// </summary> + public string Description { get; set; } + + /// <summary> + /// Starting date and time of event. + /// </summary> + public DateTime StartDate { get; set; } + + /// <summary> + /// Ending date and time of event. + /// </summary> + public DateTime EndDate { get; set; } + + /// <summary> + /// Event location. + /// </summary> + public string Location { get; set; } + + /// <summary> + /// Name of event's primary contact. + /// </summary> + public string ContactName { get; set; } + + /// <summary> + /// Event contact's email address. + /// </summary> + public string ContactEmail { get; set; } + + /// <summary> + /// Event contact's phone number. + /// </summary> + public string ContactPhone { get; set; } + + /// <summary> + /// Event sponsor. + /// </summary> + public string Sponsor { get; set; } + + /// <summary> + /// Type of event. + /// </summary> + public string EventType { get; set; } + + /// <summary> + /// Whether event is recurring. + /// </summary> + public bool Recurring { get; set; } + } +} \ No newline at end of file