Produced by Araxis Merge on 1/4/2018 2:43:03 PM Eastern Standard Time. See www.araxis.com for information about Merge. This report uses XHTML and CSS2, and is best viewed with a modern standards-compliant browser. For optimum results when printing this report, use landscape orientation and enable printing of background images and colours in your browser.
| # | Location | File | Last Modified |
|---|---|---|---|
| 1 | TMP_Code.zip\TMP_Code\Integration\packages.zip\SchemaTester | Program.cs | Wed Nov 22 14:15:02 2017 UTC |
| 2 | TMP_Code.zip\TMP_Code\Integration\packages.zip\SchemaTester | Program.cs | Wed Jan 3 02:08:07 2018 UTC |
| Description | Between Files 1 and 2 |
|
|---|---|---|
| Text Blocks | Lines | |
| Unchanged | 3 | 398 |
| Changed | 2 | 4 |
| Inserted | 0 | 0 |
| Removed | 0 | 0 |
| Whitespace | |
|---|---|
| Character case | Differences in character case are significant |
| Line endings | Differences in line endings (CR and LF characters) are ignored |
| CR/LF characters | Not shown in the comparison detail |
No regular expressions were active.
| 1 | using Syst em; | |
| 2 | using Syst em.Collect ions.Gener ic; | |
| 3 | using Syst em.IO; | |
| 4 | using Syst em.Text; | |
| 5 | using Syst em.Xml.Lin q; | |
| 6 | using Syst em.Xml.Sch ema; | |
| 7 | using Syst em.Xml.Ser ialization ; | |
| 8 | using VA.T MP.Integra tion.Schem a.VideoVis itService; | |
| 9 | using VA.T MP.Integra tion.Schem a.VirtualM eetingRoom ; | |
| 10 | ||
| 11 | namespace SchemaTest er | |
| 12 | { | |
| 13 | intern al class P rogram | |
| 14 | { | |
| 15 | pr ivate stat ic void Ma in() | |
| 16 | { | |
| 17 | try | |
| 18 | { | |
| 19 | RunV yoptaSchem a(); | |
| 20 | Cons ole.WriteL ine(Enviro nment.NewL ine); | |
| 21 | Cons ole.WriteL ine(Enviro nment.NewL ine); | |
| 22 | RunV yoptaSchem aDelete(); | |
| 23 | Cons ole.WriteL ine(Enviro nment.NewL ine); | |
| 24 | Cons ole.WriteL ine(Enviro nment.NewL ine); | |
| 25 | RunV ideoVisitS chema(); | |
| 26 | } | |
| 27 | catch (E xception e x) | |
| 28 | { | |
| 29 | Cons ole.WriteL ine(ex); | |
| 30 | } | |
| 31 | finally | |
| 32 | { | |
| 33 | Cons ole.ReadLi ne(); | |
| 34 | } | |
| 35 | } | |
| 36 | ||
| 37 | pr ivate stat ic void Ru nVyoptaSch ema() | |
| 38 | { | |
| 39 | var virt ualMeeting Room = new VirtualMe etingRoomT ype | |
| 40 | { | |
| 41 | Vers ion = "1.0 ", | |
| 42 | Appo intmentId = Guid.New Guid().ToS tring(), | |
| 43 | Pati entName = Guid.NewGu id().ToStr ing(), | |
| 44 | Prov iderName = Guid.NewG uid().ToSt ring(), | |
| 45 | Meet ingRoomNam e = "CVT01 234", | |
| 46 | Pati entPin = " 9876543", | |
| 47 | Prov iderPin = "0123456", | |
| 48 | Star tDate = Da teTime.Utc Now, | |
| 49 | EndD ate = Date Time.UtcNo w.Add(new TimeSpan(2 , 0, 0)), | |
| 50 | Misc Data = str ing.Empty | |
| 51 | }; | |
| 52 | ||
| 53 | var resu lt = Seria lizeIntanc e(virtualM eetingRoom , new List <string> { "vmr" }, | |
| 54 | new List<strin g> { "http ://va.gov/ vyopta/sch emas/excha nge/Virtua lMeetingRo om/1.0" }) ; | |
| 55 | ||
| 56 | Validate Schema(@"C :\src\CVT- TSS\VA.TMP .Integrati on\VA.TMP. Integratio n.Schema.V irtualMeet ingRoom", | |
| 57 | new List<strin g> { "http ://va.gov/ vyopta/sch emas/excha nge/Virtua lMeetingRo om/1.0" }, | |
| 58 | new List<strin g> { "Virt ualMeeting Room.xsd" }, | |
| 59 | resu lt); | |
| 60 | ||
| 61 | Console. WriteLine( result); | |
| 62 | } | |
| 63 | ||
| 64 | pr ivate stat ic void Ru nVyoptaSch emaDelete( ) | |
| 65 | { | |
| 66 | var virt ualMeeting Room = new VirtualMe etingRoomD eleteType | |
| 67 | { | |
| 68 | Vers ion = "1.0 ", | |
| 69 | Appo intmentId = Guid.New Guid().ToS tring(), | |
| 70 | Misc Data = str ing.Empty | |
| 71 | }; | |
| 72 | ||
| 73 | var resu lt = Seria lizeIntanc e(virtualM eetingRoom , new List <string> { "vmr" }, | |
| 74 | new List<strin g> { "http ://va.gov/ vyopta/sch emas/excha nge/Virtua lMeetingRo om/1.0" }) ; | |
| 75 | ||
| 76 | Validate Schema(@"C :\src\CVT- TSS\VA.TMP .Integrati on\VA.TMP. Integratio n.Schema.V irtualMeet ingRoom", | |
| 77 | new List<strin g> { "http ://va.gov/ vyopta/sch emas/excha nge/Virtua lMeetingRo om/1.0" }, | |
| 78 | new List<strin g> { "Virt ualMeeting Room.xsd" }, | |
| 79 | resu lt); | |
| 80 | ||
| 81 | Console. WriteLine( result); | |
| 82 | } | |
| 83 | ||
| 84 | pr ivate stat ic void Ru nVideoVisi tSchema() | |
| 85 | { | |
| 86 | var appo intment = new Appoin tment | |
| 87 | { | |
| 88 | Vers ion = "1.0 ", | |
| 89 | Id = "uuid", | |
| 90 | Pati ents = new Patients | |
| 91 | { | |
| 92 | Patient = new List<P atient> | |
| 93 | { | |
| 94 | new Pa tient | |
| 95 | { | |
| 96 | Id = new Per sonIdentif ier { Assi gningAutho rity = "IC N", Unique Id = "1016 433599V285 591" }, | |
| 97 | Na me = new P ersonName { FirstNam e = "Patie ntOneFirst Name", Las tName = "P atientOneL astName" } , | |
| 98 | Co ntactInfor mation = n ew Contact Informatio n { Prefer redEmail = "apatient one@micros oft.com", TimeZone = 35 }, | |
| 99 | Lo cation = n ew Locatio n { Type = LocationT ype.NonVA }, | |
| 100 | Vi rtualMeeti ngRoom = n ew Virtual MeetingRoo m { Confer ence = "te stVAVMR@pe xip.com", Pin = "123 4", Url = "http://ca re.va.gov/ vmr" } | |
| 101 | }, | |
| 102 | new Pa tient | |
| 103 | { | |
| 104 | Id = new Per sonIdentif ier { Assi gningAutho rity = "IC N", Unique Id = "1016 433599V285 592" }, | |
| 105 | Na me = new P ersonName { FirstNam e = "Patie ntTwoFirst Name", Las tName = "P atientTwoL astName" } , | |
| 106 | Co ntactInfor mation = n ew Contact Informatio n { Prefer redEmail = "apatient two@micros oft.com", TimeZone = 35 }, | |
| 107 | Lo cation = n ew Locatio n { Type = LocationT ype.NonVA }, | |
| 108 | Vi rtualMeeti ngRoom = n ew Virtual MeetingRoo m { Confer ence = "te stVAVMR@pe xip.com", Pin = "345 6", Url = "http://ca re.va.gov/ vmr" } | |
| 109 | } | |
| 110 | } | |
| 111 | }, | |
| 112 | Dura tion = 30, | |
| 113 | Date Time = Dat eTime.Pars e("2001-12 -31T12:00: 00"), | |
| 114 | Sche dulingRequ estType = Scheduling RequestTyp e.OTHER_TH AN_NEXT_AV AILABLE_PA TIENT_REQU ESTED, | |
| 115 | Type = Appoint mentType.R EGULAR, | |
| 116 | Book ingNotes = "BookingN otes", | |
| 117 | Desi redDate = DateTime.P arse("2001 -12-31T12: 00:00"), | |
| 118 | Prov iders = ne w Provider s | |
| 119 | { | |
| 120 | Provider = new List< Provider> | |
| 121 | { | |
| 122 | new Pr ovider | |
| 123 | { | |
| 124 | Na me = new P ersonName { FirstNam e = "Docto rOneFirstN ame", Last Name = "Do ctorOneLas tName" }, | |
| 125 | Id = new Per sonIdentif ier { Assi gningAutho rity = "IE N", Unique Id = "1016 4" }, | |
| 126 | ContactInf ormation = new Conta ctInformat ion { Pref erredEmail = " PII ", TimeZon e = 35 }, | |
| 127 | Vi rtualMeeti ngRoom = n ew Virtual MeetingRoo m { Confer ence = "te stVAVMR@pe xip.com", Pin = "234 5", Url = "http://ca re.va.gov/ vmr" }, | |
| 128 | Lo cation = n ew Locatio n | |
| 129 | { | |
| 130 | Type = L ocationTyp e.VA, | |
| 131 | Facility = new Fac ility {Sit eCode = "6 88", Name = "Washing ton DC"}, | |
| 132 | Clinic = new Clini c {Ien = " IEN", Name = "Doctor 's Office" } | |
| 133 | } | |
| 134 | }, | |
| 135 | new Pr ovider | |
| 136 | { | |
| 137 | Na me = new P ersonName { FirstNam e = "Docto rTwoFirstN ame", Last Name = "Do ctorTwoLas tName" }, | |
| 138 | Id = new Per sonIdentif ier { Assi gningAutho rity = "IE N", Unique Id = "1016 5" }, | |
| 139 | ContactInf ormation = new Conta ctInformat ion { Pref erredEmail = " PII ", TimeZon e = 35 }, | |
| 140 | Vi rtualMeeti ngRoom = n ew Virtual MeetingRoo m { Confer ence = "te stVAVMR@pe xip.com", Pin = "567 8", Url = "http://ca re.va.gov/ vmr" }, | |
| 141 | Lo cation = n ew Locatio n | |
| 142 | { | |
| 143 | Type = L ocationTyp e.VA, | |
| 144 | Facility = new Fac ility {Sit eCode = "6 88", Name = "Washing ton DC"}, | |
| 145 | Clinic = new Clini c {Ien = " IEN", Name = "Doctor 's Office" } | |
| 146 | } | |
| 147 | } | |
| 148 | } | |
| 149 | } | |
| 150 | }; | |
| 151 | ||
| 152 | var resu lt = Seria lizeIntanc e(appointm ent, new L ist<string > { "p" }, | |
| 153 | new List<strin g> { "http s://staff. mobileheal th.va.gov/ vamf/video -visits/1. 0" }); | |
| 154 | ||
| 155 | Validate Schema(@"C :\src\CVT- TSS\VA.TMP .Integrati on\VA.TMP. Integratio n.Schema.V ideoVisitS ervice", | |
| 156 | new List<strin g> { "http s://staff. mobileheal th.va.gov/ vamf/video -visits/1. 0" }, | |
| 157 | new List<strin g> { "Appo intment.xs d" }, | |
| 158 | resu lt); | |
| 159 | ||
| 160 | Console. WriteLine( result); | |
| 161 | } | |
| 162 | ||
| 163 | pu blic stati c string S erializeIn tance<T>(T examReque stContenti on, List<s tring> pre fixes, Lis t<string> namespaces ) | |
| 164 | { | |
| 165 | using (v ar stream = new Memo ryStream() ) | |
| 166 | { | |
| 167 | var serializer = new Xml Serializer (typeof(T) ); | |
| 168 | ||
| 169 | var ns = new X mlSerializ erNamespac es(); | |
| 170 | ||
| 171 | for (var i = 0 ; i < pref ixes.Count ; i++) | |
| 172 | { | |
| 173 | ns.Add(pre fixes[i], namespaces [i]); | |
| 174 | } | |
| 175 | ||
| 176 | seri alizer.Ser ialize(str eam, examR equestCont ention, ns ); | |
| 177 | retu rn Encodin g.ASCII.Ge tString(st ream.ToArr ay()); | |
| 178 | } | |
| 179 | } | |
| 180 | ||
| 181 | pr ivate stat ic void Va lidateSche ma(string schemaPath , List<str ing> names paces, Lis t<string> schemaFile Names, str ing xml) | |
| 182 | { | |
| 183 | var sche mas = new XmlSchemaS et(); | |
| 184 | ||
| 185 | ||
| 186 | for (var i = 0; i < namespac es.Count; i++) | |
| 187 | { | |
| 188 | sche mas.Add(na mespaces[i ], Path.Co mbine(sche maPath, sc hemaFileNa mes[i])); | |
| 189 | } | |
| 190 | ||
| 191 | var exam StatusUpda teXml = XD ocument.Pa rse(xml); | |
| 192 | var sche maValidati onMessage = string.E mpty; | |
| 193 | examStat usUpdateXm l.Validate (schemas, (o, err) = > { schema Validation Message = err.Messag e; }); | |
| 194 | ||
| 195 | if (!str ing.IsNull OrEmpty(sc hemaValida tionMessag e)) | |
| 196 | { | |
| 197 | thro w new Exce ption(stri ng.Format( "Virtual M eeting Roo m Schema V alidation Error: {0} ", schemaV alidationM essage)); | |
| 198 | } | |
| 199 | } | |
| 200 | } | |
| 201 | } |
Araxis Merge (but not the data content of this report) is Copyright © 1993-2016 Araxis Ltd (www.araxis.com). All rights reserved.