From 2f7e1c05dca31491c24d6acb09afd57b2a4f32b8 Mon Sep 17 00:00:00 2001
From: Andrew Reynolds <areynold@illinois.edu>
Date: Tue, 12 Sep 2017 13:59:44 -0500
Subject: [PATCH] copy class files and readme from api solution

remove v2 objects
---
 .../README.md                                 | 37 +++++++++++++++
 .../V1/FeedArticleDTO.cs                      | 42 +++++++++++++++++
 .../V1/FeedCafeMenuDTO.cs                     | 27 +++++++++++
 .../V1/FeedEventDTO.cs                        | 32 +++++++++++++
 .../V1/FeedPersonDTO.cs                       | 46 +++++++++++++++++++
 5 files changed, 184 insertions(+)
 create mode 100644 BeckmanComms.Api.DataTransferObjects/README.md
 create mode 100644 BeckmanComms.Api.DataTransferObjects/V1/FeedArticleDTO.cs
 create mode 100644 BeckmanComms.Api.DataTransferObjects/V1/FeedCafeMenuDTO.cs
 create mode 100644 BeckmanComms.Api.DataTransferObjects/V1/FeedEventDTO.cs
 create mode 100644 BeckmanComms.Api.DataTransferObjects/V1/FeedPersonDTO.cs

diff --git a/BeckmanComms.Api.DataTransferObjects/README.md b/BeckmanComms.Api.DataTransferObjects/README.md
new file mode 100644
index 0000000..4e1933d
--- /dev/null
+++ b/BeckmanComms.Api.DataTransferObjects/README.md
@@ -0,0 +1,37 @@
+# API Data Transfer Objects
+
+This project contains data transfer objects (complex model classes) corresponding to the Beckman Comms API output.
+
+The DTO project should be repackaged and published with each update to the `Api.DataTransferObjects` assembly.
+
+## NuGet Packaging Instructions
+
+0. Install [NuGet Package Explorer](https://chocolatey.org/packages/NugetPackageExplorer).
+1. Open `Api.DataTransferObjects.nuspec` in NuGet Package Explorer.
+    * Expand the **lib** tree in the **Package Contents** pane.
+2. Open the `Api.DataTransferObjects\bin` directory in file explorer.
+3. In Visual Studio, clean the solution in both Debug and Release modes.
+4. In Visual Studio, build the solution in both Debug and Release modes.
+5. Drag the `.dll`, `.pdb`, and `.xml` objects from the Debug and Release folders in file explore to their respective directories in the NuGet File Explorer **Package Contents** pane.
+6. In the **Package Metadata** pane of NuGet Package Explorer, click the icon to edit package metadata.
+    * Increment the **Version** field using [semantic versioning](http://semver.org/).
+    * Summarize version changes in the **Release Notes** field.
+    * Update package dependencies if needed.
+7. Save Metadata (**File > Save Metadata As...**) `Api.DataTransferObjects.nuspec` in the Api.DataTransferObjects project folder and commit to version control.
+8. Save package (**File > Save As...**) `G:\External Relations\CommsInternalNuGetFeed\Api.DataTransferObjects.{version}`.
+
+### Resources
+
+* [How to host your own NuGet Server and Package Feed](https://www.hanselman.com/blog/HowToHostYourOwnNuGetServerAndPackageFeed.aspx)
+* [Publish your .Net library as a NuGet package](http://twistedoakstudios.com/blog/Post1295_publish-your-net-library-as-a-nuget-package)
+* [Creating a local NuGet repository with dependencies bundles](http://www.marcusoft.net/2011/09/creating-local-nuget-repository-with.html)
+ 
+## Using the NuGet Package
+
+0. In Visual Studio, open your NuGet package sources config (**Tools > Options > NuGet Package Manager > Package Sources**).
+1. Click the **+** icon to add a new source with default settings.
+    * In the **Name** field, give the feed a meaningful name (e.g., "Beckman Internal Feed").
+    * Use the **...** icon next to the **Source** field to browse to `G:\External Relations\CommsInternalNuGetFeed`.
+2. Click **Update**.
+3. Click **OK**.
+4. Search and install NuGet packages as usual.
\ No newline at end of file
diff --git a/BeckmanComms.Api.DataTransferObjects/V1/FeedArticleDTO.cs b/BeckmanComms.Api.DataTransferObjects/V1/FeedArticleDTO.cs
new file mode 100644
index 0000000..045a82c
--- /dev/null
+++ b/BeckmanComms.Api.DataTransferObjects/V1/FeedArticleDTO.cs
@@ -0,0 +1,42 @@
+using System;
+using System.Xml.Serialization;
+
+namespace Api.DataTransferObjects.V1
+{
+    /// <summary>
+    /// Data Transfer Object representing a Beckman news article.
+    /// </summary>
+    [XmlType(TypeName = "Article")]
+    public class FeedArticleDTO
+    {
+        /// <summary>
+        /// Article title.
+        /// </summary>
+        public string Title { get; set; }
+
+        /// <summary>
+        /// Article author's name.
+        /// </summary>
+        public string Author { get; set; }
+
+        /// <summary>
+        /// Article URL.
+        /// </summary>
+        public string Link { get; set; }
+
+        /// <summary>
+        /// Article description.
+        /// </summary>
+        public string Description { get; set; }
+
+        /// <summary>
+        /// Date the article was published.
+        /// </summary>
+        public DateTime PublishDate { get; set; }
+
+        /// <summary>
+        /// Flag indicating whether the article is hosted on a Beckman server.
+        /// </summary>
+        public bool IsInternal { get; set; }
+    }
+}
\ No newline at end of file
diff --git a/BeckmanComms.Api.DataTransferObjects/V1/FeedCafeMenuDTO.cs b/BeckmanComms.Api.DataTransferObjects/V1/FeedCafeMenuDTO.cs
new file mode 100644
index 0000000..e7f3baa
--- /dev/null
+++ b/BeckmanComms.Api.DataTransferObjects/V1/FeedCafeMenuDTO.cs
@@ -0,0 +1,27 @@
+using System;
+using System.Xml.Serialization;
+
+namespace Api.DataTransferObjects.V1
+{
+    /// <summary>
+    /// Data Transfer Object representing a Beckman Cafe menu.
+    /// </summary>
+    [XmlType(TypeName = "CafeMenu")]
+    public class FeedCafeMenuDTO
+    {
+        /// <summary>
+        /// Menu title.
+        /// </summary>
+        public string Title { get; set; }
+
+        /// <summary>
+        /// Menu date.
+        /// </summary>
+        public DateTime Date { get; set; }
+
+        /// <summary>
+        /// Menu items.
+        /// </summary>
+        public string Description { get; set; }
+    }
+}
\ No newline at end of file
diff --git a/BeckmanComms.Api.DataTransferObjects/V1/FeedEventDTO.cs b/BeckmanComms.Api.DataTransferObjects/V1/FeedEventDTO.cs
new file mode 100644
index 0000000..beac01f
--- /dev/null
+++ b/BeckmanComms.Api.DataTransferObjects/V1/FeedEventDTO.cs
@@ -0,0 +1,32 @@
+using System;
+using System.Xml.Serialization;
+
+namespace Api.DataTransferObjects.V1
+{
+    /// <summary>
+    /// Data Transfer Object representing a Beckman event.
+    /// </summary>
+    [XmlType(TypeName = "Event")]
+    public class FeedEventDTO
+    {
+        /// <summary>
+        /// Event name.
+        /// </summary>
+        public string Name { get; set; }
+
+        /// <summary>
+        /// Room number in the Beckman building.
+        /// </summary>
+        public string RoomNumber { get; set; }
+
+        /// <summary>
+        /// Date and time of event.
+        /// </summary>
+        public DateTime DateTime { get; set; }
+
+        /// <summary>
+        /// Event date.
+        /// </summary>
+        public DateTime Date { get; set; }
+    }
+}
\ No newline at end of file
diff --git a/BeckmanComms.Api.DataTransferObjects/V1/FeedPersonDTO.cs b/BeckmanComms.Api.DataTransferObjects/V1/FeedPersonDTO.cs
new file mode 100644
index 0000000..24398fd
--- /dev/null
+++ b/BeckmanComms.Api.DataTransferObjects/V1/FeedPersonDTO.cs
@@ -0,0 +1,46 @@
+using System.Xml.Serialization;
+
+namespace Api.DataTransferObjects.V1
+{
+    /// <summary>
+    /// Data Transfer Object representing a Beckman Institute staff member.
+    /// </summary>
+    [XmlType(TypeName = "Person")]
+    public class FeedPersonDTO
+    {
+        /// <summary>
+        /// Person's unique ID number.
+        /// </summary>
+        public long PersonId { get; set; }
+
+        /// <summary>
+        /// Person's full name.
+        /// </summary>
+        public string Name { get; set; }
+
+        /// <summary>
+        /// Person's Beckman title.
+        /// </summary>
+        public string Title { get; set; }
+
+        /// <summary>
+        /// Person's campus address.
+        /// </summary>
+        public string BuildingAddress { get; set; }
+
+        /// <summary>
+        /// Person's campus email address.
+        /// </summary>
+        public string EmailAddress { get; set; }
+
+        /// <summary>
+        /// Person's room number in the Beckman Institute.
+        /// </summary>
+        public string RoomNumber { get; set; }
+
+        /// <summary>
+        /// Person's campus phone number.
+        /// </summary>
+        public string PhoneNumber { get; set; }
+    }
+}
\ No newline at end of file
-- 
GitLab