<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; }
}