Skip to content

Commit 95b3765

Browse files
committed
Added SIF US 3.3 data model
Added the SIF US 3.3 data model to the Sif3Specification Solution. Updated US demo projects to use SIF US 3.3 model objects. Added a Service Path exercise to the AU and US training exercises.
1 parent 6661703 commit 95b3765

27 files changed

Lines changed: 44528 additions & 83 deletions

File tree

Code/Sif3FrameworkDemo/Sif.Framework.Demo.Au.Consumer/Properties/AssemblyInfo.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,8 @@
3232
// You can specify all the values or you can default the Build and Revision Numbers
3333
// by using the '*' as shown below:
3434
// [assembly: AssemblyVersion("1.0.*")]
35-
[assembly: AssemblyVersion("1.1.0.0")]
36-
[assembly: AssemblyFileVersion("1.1.0.0")]
35+
[assembly: AssemblyVersion("1.1.1.0")]
36+
[assembly: AssemblyFileVersion("1.1.1.0")]
3737

3838
// Configure log4net using the .config file
3939
[assembly: log4net.Config.XmlConfigurator(Watch = true)]

Code/Sif3FrameworkDemo/Sif.Framework.Demo.Au.Provider/Properties/AssemblyInfo.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,5 +31,5 @@
3131
//
3232
// You can specify all the values or you can default the Revision and Build Numbers
3333
// by using the '*' as shown below:
34-
[assembly: AssemblyVersion("1.1.0.0")]
35-
[assembly: AssemblyFileVersion("1.1.0.0")]
34+
[assembly: AssemblyVersion("1.1.1.0")]
35+
[assembly: AssemblyFileVersion("1.1.1.0")]

Code/Sif3FrameworkDemo/Sif.Framework.Demo.Setup/Properties/AssemblyInfo.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,5 +32,5 @@
3232
// You can specify all the values or you can default the Build and Revision Numbers
3333
// by using the '*' as shown below:
3434
// [assembly: AssemblyVersion("1.0.*")]
35-
[assembly: AssemblyVersion("1.1.0.0")]
36-
[assembly: AssemblyFileVersion("1.1.0.0")]
35+
[assembly: AssemblyVersion("1.1.1.0")]
36+
[assembly: AssemblyFileVersion("1.1.1.0")]

Code/Sif3FrameworkDemo/Sif.Framework.Demo.Us.Consumer/ConsumerApp.cs

Lines changed: 19 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -30,54 +30,52 @@ class ConsumerApp
3030
{
3131
private static readonly ILog log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
3232

33-
void RunK12StudentConsumer()
33+
void RunStudentConsumer()
3434
{
35-
K12StudentConsumer studentConsumer = new K12StudentConsumer("Sif3UsDemoApp");
35+
XStudentConsumer studentConsumer = new XStudentConsumer("Sif3UsDemoApp");
3636
studentConsumer.Register();
3737
if (log.IsInfoEnabled) log.Info("Registered the Consumer.");
3838

3939
try
4040
{
4141
// Retrieve all students.
42-
ICollection<K12Student> students = studentConsumer.Query();
42+
ICollection<XStudent> students = studentConsumer.Query();
4343

44-
foreach (K12Student student in students)
44+
foreach (XStudent student in students)
4545
{
46-
if (log.IsInfoEnabled) log.Info("Student name is " + student.identity.name.firstName + " " + student.identity.name.lastName);
46+
if (log.IsInfoEnabled) log.Info("Student name is " + student.name.givenName + " " + student.name.familyName);
4747
}
4848

4949
// Retrieve a single student.
5050
string studentId = students.ElementAt(0).RefId;
51-
K12Student firstStudent = studentConsumer.Query(studentId);
52-
if (log.IsInfoEnabled) log.Info("Name of first student is " + firstStudent.identity.name.firstName + " " + firstStudent.identity.name.lastName);
51+
XStudent firstStudent = studentConsumer.Query(studentId);
52+
if (log.IsInfoEnabled) log.Info("Name of first student is " + firstStudent.name.givenName + " " + firstStudent.name.familyName);
5353

5454
// Create and then retrieve a new student.
55-
k12StudentTypeIdentityIdentification newStudentIdentifier = new k12StudentTypeIdentityIdentification() { studentId = "555" };
56-
k12StudentTypeIdentityName newStudentName = new k12StudentTypeIdentityName() { lastName = "Wayne", firstName = "Bruce" };
57-
k12StudentTypeIdentity newStudentIdentity = new k12StudentTypeIdentity() { identification = newStudentIdentifier, name = newStudentName };
58-
K12Student newStudent = new K12Student() { identity = newStudentIdentity };
59-
K12Student retrievedNewStudent = studentConsumer.Create(newStudent);
60-
if (log.IsInfoEnabled) log.Info("Created new student " + newStudent.identity.name.firstName + " " + newStudent.identity.name.lastName);
55+
xPersonNameType newStudentName = new xPersonNameType() { familyName = "Wayne", givenName = "Bruce" };
56+
XStudent newStudent = new XStudent() { localId = "555", name = newStudentName };
57+
XStudent retrievedNewStudent = studentConsumer.Create(newStudent);
58+
if (log.IsInfoEnabled) log.Info("Created new student " + newStudent.name.givenName + " " + newStudent.name.familyName);
6159

6260
// Update that student and confirm.
63-
firstStudent.identity.name.firstName = "Homer";
64-
firstStudent.identity.name.lastName = "Simpson";
61+
firstStudent.name.givenName = "Homer";
62+
firstStudent.name.familyName = "Simpson";
6563
studentConsumer.Update(firstStudent);
6664
firstStudent = studentConsumer.Query(studentId);
67-
if (log.IsInfoEnabled) log.Info("Name of first student has been changed to " + firstStudent.identity.name.firstName + " " + firstStudent.identity.name.lastName);
65+
if (log.IsInfoEnabled) log.Info("Name of first student has been changed to " + firstStudent.name.givenName + " " + firstStudent.name.familyName);
6866

6967
// Delete that student and confirm.
7068
studentConsumer.Delete(studentId);
71-
K12Student deletedStudent = studentConsumer.Query(studentId);
69+
XStudent deletedStudent = studentConsumer.Query(studentId);
7270
bool studentDeleted = (deletedStudent == null ? true : false);
7371

7472
if (studentDeleted)
7573
{
76-
if (log.IsInfoEnabled) log.Info("Student " + firstStudent.identity.name.firstName + " " + firstStudent.identity.name.lastName + " was successfully deleted.");
74+
if (log.IsInfoEnabled) log.Info("Student " + firstStudent.name.givenName + " " + firstStudent.name.familyName + " was successfully deleted.");
7775
}
7876
else
7977
{
80-
if (log.IsInfoEnabled) log.Info("Student " + firstStudent.identity.name.firstName + " " + firstStudent.identity.name.lastName + " was NOT deleted.");
78+
if (log.IsInfoEnabled) log.Info("Student " + firstStudent.name.givenName + " " + firstStudent.name.familyName + " was NOT deleted.");
8179
}
8280

8381
}
@@ -99,11 +97,11 @@ static void Main(string[] args)
9997

10098
try
10199
{
102-
app.RunK12StudentConsumer();
100+
app.RunStudentConsumer();
103101
}
104102
catch (Exception e)
105103
{
106-
if (log.IsErrorEnabled) log.Error("Error running the K12Student Consumer.\n" + ExceptionUtils.InferErrorResponseMessage(e), e);
104+
if (log.IsErrorEnabled) log.Error("Error running the student Consumer.\n" + ExceptionUtils.InferErrorResponseMessage(e), e);
107105
}
108106

109107
Console.WriteLine("Press any key to continue ...");

Code/Sif3FrameworkDemo/Sif.Framework.Demo.Us.Consumer/Models/K12Student.cs renamed to Code/Sif3FrameworkDemo/Sif.Framework.Demo.Us.Consumer/Models/XStudent.cs

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,10 @@
2121
namespace Sif.Framework.Demo.Us.Consumer.Models
2222
{
2323

24-
[XmlRoot("k12Student", Namespace = "http://www.sifassociation.org/datamodel/na/3.2", IsNullable = false)]
25-
[XmlType(Namespace = "http://www.sifassociation.org/datamodel/na/3.2")]
26-
public class K12Student : k12StudentType, IDataModel
24+
[XmlInclude(typeof(xSreType))]
25+
[XmlRoot("xStudent", Namespace = "http://www.sifassociation.org/datamodel/na/3.3", IsNullable = false)]
26+
[XmlType(Namespace = "http://www.sifassociation.org/datamodel/na/3.3")]
27+
public class XStudent : xStudentType, IDataModel
2728
{
2829

2930
public string RefId

Code/Sif3FrameworkDemo/Sif.Framework.Demo.Us.Consumer/Properties/AssemblyInfo.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,8 @@
3232
// You can specify all the values or you can default the Build and Revision Numbers
3333
// by using the '*' as shown below:
3434
// [assembly: AssemblyVersion("1.0.*")]
35-
[assembly: AssemblyVersion("1.1.0.0")]
36-
[assembly: AssemblyFileVersion("1.1.0.0")]
35+
[assembly: AssemblyVersion("1.1.1.0")]
36+
[assembly: AssemblyFileVersion("1.1.1.0")]
3737

3838
// Configure log4net using the .config file
3939
[assembly: log4net.Config.XmlConfigurator(Watch = true)]

Code/Sif3FrameworkDemo/Sif.Framework.Demo.Us.Consumer/Sif.Framework.Demo.Us.Consumer.csproj

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -48,8 +48,9 @@
4848
<SpecificVersion>False</SpecificVersion>
4949
<HintPath>..\..\..\SharedLibs\Sif.Framework 1.1.0\Sif.Framework.dll</HintPath>
5050
</Reference>
51-
<Reference Include="Sif.Specification.DataModel.Us">
52-
<HintPath>..\..\..\SharedLibs\Sif.Specification.DataModel.Us 3.2\Sif.Specification.DataModel.Us.dll</HintPath>
51+
<Reference Include="Sif.Specification.DataModel.Us, Version=3.2.0.0, Culture=neutral, processorArchitecture=MSIL">
52+
<SpecificVersion>False</SpecificVersion>
53+
<HintPath>..\..\..\SharedLibs\Sif.Specification.DataModel.Us 3.3\Sif.Specification.DataModel.Us.dll</HintPath>
5354
</Reference>
5455
<Reference Include="Sif.Specification.Infrastructure, Version=3.0.1.0, Culture=neutral, processorArchitecture=MSIL">
5556
<SpecificVersion>False</SpecificVersion>
@@ -64,9 +65,9 @@
6465
<Reference Include="System.Xml" />
6566
</ItemGroup>
6667
<ItemGroup>
67-
<Compile Include="K12StudentConsumer.cs" />
68+
<Compile Include="XStudentConsumer.cs" />
6869
<Compile Include="ConsumerApp.cs" />
69-
<Compile Include="Models\K12Student.cs" />
70+
<Compile Include="Models\XStudent.cs" />
7071
<Compile Include="Properties\AssemblyInfo.cs" />
7172
</ItemGroup>
7273
<ItemGroup>

Code/Sif3FrameworkDemo/Sif.Framework.Demo.Us.Consumer/K12StudentConsumer.cs renamed to Code/Sif3FrameworkDemo/Sif.Framework.Demo.Us.Consumer/XStudentConsumer.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,15 +21,15 @@
2121
namespace Sif.Framework.Demo.Us.Consumer
2222
{
2323

24-
class K12StudentConsumer : BasicConsumer<K12Student>
24+
class XStudentConsumer : BasicConsumer<XStudent>
2525
{
2626

27-
public K12StudentConsumer(string applicationKey, string instanceId = null, string userToken = null, string solutionId = null)
27+
public XStudentConsumer(string applicationKey, string instanceId = null, string userToken = null, string solutionId = null)
2828
: base(applicationKey, instanceId, userToken, solutionId)
2929
{
3030
}
3131

32-
public K12StudentConsumer(Environment environment)
32+
public XStudentConsumer(Environment environment)
3333
: base(environment)
3434
{
3535
}

Code/Sif3FrameworkDemo/Sif.Framework.Demo.Us.Provider/Controllers/K12StudentsProvider.cs renamed to Code/Sif3FrameworkDemo/Sif.Framework.Demo.Us.Provider/Controllers/XStudentsProvider.cs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -23,16 +23,16 @@
2323
namespace Sif.Framework.Demo.Us.Provider.Controllers
2424
{
2525

26-
public class K12StudentsProvider : BasicProvider<K12Student>
26+
public class XStudentsProvider : BasicProvider<XStudent>
2727
{
2828

29-
public K12StudentsProvider()
30-
: base(new K12StudentService())
29+
public XStudentsProvider()
30+
: base(new XStudentService())
3131
{
3232
}
3333

34-
[Route("~/api/K12Students/K12Student")]
35-
public override IHttpActionResult Post(K12Student obj, [MatrixParameter] string[] zone = null, [MatrixParameter] string[] context = null)
34+
[Route("~/api/XStudents/XStudent")]
35+
public override IHttpActionResult Post(XStudent obj, [MatrixParameter] string[] zone = null, [MatrixParameter] string[] context = null)
3636
{
3737
return base.Post(obj);
3838
}

Code/Sif3FrameworkDemo/Sif.Framework.Demo.Us.Provider/Global.asax.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -34,9 +34,9 @@ protected void Application_Start()
3434
XmlMediaTypeFormatter formatter = GlobalConfiguration.Configuration.Formatters.XmlFormatter;
3535
formatter.UseXmlSerializer = true;
3636

37-
XmlRootAttribute k12StudentsXmlRootAttribute = new XmlRootAttribute("K12Students") { Namespace = SettingsManager.ProviderSettings.DataModelNamespace, IsNullable = false };
38-
ISerialiser<List<K12Student>> k12StudentsSerialiser = SerialiserFactory.GetXmlSerialiser<List<K12Student>>(k12StudentsXmlRootAttribute);
39-
formatter.SetSerializer<List<K12Student>>((XmlSerializer)k12StudentsSerialiser);
37+
XmlRootAttribute studentsXmlRootAttribute = new XmlRootAttribute("XStudents") { Namespace = SettingsManager.ProviderSettings.DataModelNamespace, IsNullable = false };
38+
ISerialiser<List<XStudent>> studentsSerialiser = SerialiserFactory.GetXmlSerialiser<List<XStudent>>(studentsXmlRootAttribute);
39+
formatter.SetSerializer<List<XStudent>>((XmlSerializer)studentsSerialiser);
4040

4141
// Configure global exception loggers for unexpected errors.
4242
GlobalConfiguration.Configuration.Services.Add(typeof(IExceptionLogger), new TraceExceptionLogger());

0 commit comments

Comments
 (0)