<RuntimeDirectory>\System.Net.Http.dll Microsoft.Net.Http Newtonsoft.Json System.Net.Http System.Net.Http.Formatting.Extension Newtonsoft.Json Newtonsoft.Json.Bson Newtonsoft.Json.Converters Newtonsoft.Json.Linq Newtonsoft.Json.Schema Newtonsoft.Json.Serialization System System.ComponentModel.Composition System.ComponentModel.Composition.Hosting System.ComponentModel.Composition.Primitives System.ComponentModel.Composition.ReflectionModel System.Net.Http System.Net.Http.Headers System.Runtime.InteropServices void Main() { using (var httpClient = new HttpClient()) { httpClient.BaseAddress = new Uri("http://api.stage-fmoq.org/"); String username = "username"; String password = "password"; int activityId = 59562; int personId = 146765; // set up connection to API httpClient.DefaultRequestHeaders.Accept.Clear(); httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); String base64EncodedCredentials = Convert.ToBase64String(System.Text.ASCIIEncoding.ASCII.GetBytes(String.Format("{0}:{1}", username, password))); var authorizationHeader = new AuthenticationHeaderValue("Basic", base64EncodedCredentials); httpClient.DefaultRequestHeaders.Authorization = authorizationHeader; HttpResponseMessage responseMessage; #region Finding Activities by Course Number int courseNumber = 60188; Console.WriteLine("Getting information for the course " + courseNumber.ToString()); SimpleActivity activitySearchModel = new SimpleActivity() { CourseNumber = courseNumber }; responseMessage = httpClient.PostAsJsonAsync("training/activities/search", activitySearchModel).Result; if (responseMessage.IsSuccessStatusCode) { var activities = responseMessage.Content.ReadAsAsync>().Result; foreach (var activity in activities) { Console.WriteLine(String.Format("CourseNumber - {0}; Title - {1}; ActivityId {2}", activity.CourseNumber, activity.Title, activity.ActivityId)); } Console.WriteLine(responseMessage.StatusCode); } else { Console.WriteLine("Could not get activities"); Console.WriteLine(responseMessage.StatusCode); } #endregion #region finding a person string matricule = "99999"; Console.WriteLine("Getting information for the person with the matricule " + matricule.ToString()); SimplePerson personSearchModel = new SimplePerson() { Matricule = matricule }; responseMessage = httpClient.PostAsJsonAsync("persons/search", personSearchModel).Result; if (responseMessage.IsSuccessStatusCode) { var persons = responseMessage.Content.ReadAsAsync>().Result; foreach (var person in persons) { Console.WriteLine(String.Format("Matricule - {0}; Name - {1}; PersonId - {2}", person.Matricule, person.LastName + ", " + person.FirstName, person.PersonId)); } Console.WriteLine(responseMessage.StatusCode); } else { Console.WriteLine("could not get person"); Console.WriteLine(responseMessage.StatusCode); } #endregion #region submitting credits SimplePerson simplePerson = new SimplePerson(); simplePerson.PersonId = personId; responseMessage = httpClient.PostAsJsonAsync("/training/activity/" + activityId.ToString() + "/grantcredit", simplePerson).Result; if (responseMessage.IsSuccessStatusCode) { Console.WriteLine("credits posted successfully"); Console.WriteLine(responseMessage.StatusCode); } else { Console.WriteLine("Could not post the credits"); Console.WriteLine(responseMessage.StatusCode); } #endregion #region creating and submitting an evaluation Evaluation evaluation0 = new Evaluation() { ActivityId = activityId, ActivitySessionId = null, QuestionId = 4, AnswerBit = null, AnswerNumeric = 4, AnswerText = null, PersonId = personId, }; Evaluation evaluation1 = new Evaluation() { ActivityId = activityId, ActivitySessionId = null, QuestionId = 10, AnswerBit = null, AnswerNumeric = 4, AnswerText = null, PersonId = personId, }; List evaluations = new List(); evaluations.Add(evaluation0); evaluations.Add(evaluation1); Console.WriteLine("Posting evaluations for activity id " + activityId.ToString()); responseMessage = httpClient.PostAsJsonAsync("/training/activity/" + activityId.ToString() + "/evaluations", evaluations).Result; if (responseMessage.IsSuccessStatusCode) { Console.WriteLine("Evaluations posted successfully"); Console.WriteLine(responseMessage.StatusCode); } else { Console.WriteLine("Could not post evaluations"); Console.WriteLine(responseMessage.StatusCode); } #endregion } } public class SimpleActivity { public int CourseNumber { get; set; } } public class Activity { public int ActivityId { get; set; } public int CourseNumber { get; set; } public String Title { get; set; } public String ActivityUrl { get; set; } } public class SimplePerson { public int PersonId { get; set; } public String Matricule { get; set; } } public class Person { public int PersonId { get; set; } public string Matricule { get; set; } public string FirstName { get; set; } public string LastName { get; set; } public string PersonUrl { get; set; } public string Sex { get; set; } public DateTime? DOB { get; set; } public int PraticeAssociationId { get; set; } public string PraticeAssociationUrl { get; set; } } public class Evaluation { public int ActivityId { get; set; } public int QuestionId { get; set; } public int? ActivitySessionId { get; set; } public int? PersonId { get; set; } public bool? AnswerBit { get; set; } public Decimal? AnswerNumeric { get; set; } public String AnswerText { get; set; } }