457. Araxis Merge File Comparison Report

Produced by Araxis Merge on 2/1/2017 2:56:46 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.

457.1 Files compared

# Location File Last Modified
1 C:\Araxis_Merge_Comprasion\Pub_un\BTSSS_CIF_122016.zip\BTSSS_CIF_12_20_16\clean\CRM\trunk\SDK\SampleCode\CS\Metadata\Attributes DumpAttributeInfo.cs Tue Dec 20 19:51:47 2016 UTC
2 Wed Feb 1 19:56:46 2017 UTC

457.2 Comparison summary

Description Between
Files 1 and 2
Text Blocks Lines
Unchanged 0 0
Changed 0 0
Inserted 0 0
Removed 1 341

457.3 Comparison options

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

457.4 Active regular expressions

No regular expressions were active.

457.5 Comparison detail

1   // ======= ========== ========== ========== ========== ========== ========== ==        
2   //        
3   //  This f ile is par t of the M icrosoft D ynamics CR M SDK code  samples.        
4   //        
5   //  Copyri ght (C) Mi crosoft Co rporation.   All righ ts reserve d.        
6   //        
7   //  This s ource code  is intend ed only as  a supplem ent to Mic rosoft        
8   //  Develo pment Tool s and/or o n-line doc umentation .  See the se other        
9   //  materi als for de tailed inf ormation r egarding M icrosoft c ode sample s.        
10   //        
11   //  THIS C ODE AND IN FORMATION  ARE PROVID ED "AS IS"  WITHOUT W ARRANTY OF  ANY        
12   //  KIND,  EITHER EXP RESSED OR  IMPLIED, I NCLUDING B UT NOT LIM ITED TO TH E        
13   //  IMPLIE D WARRANTI ES OF MERC HANTABILIT Y AND/OR F ITNESS FOR  A        
14   //  PARTIC ULAR PURPO SE.        
15   //        
16   // ======= ========== ========== ========== ========== ========== ========== ==        
17   //<snippet DumpAttrib uteInfo>        
18   using Syst em;        
19   using Syst em.Linq;        
20   using Syst em.Xml.Lin q;        
21   using Syst em.Service Model;        
22   using Syst em.Service Model.Desc ription;        
23   using Syst em.Collect ions.Gener ic;        
24   using Syst em.Xml.Ser ialization ;        
25   using Syst em.Xml;        
26   using Syst em.IO;        
27          
28   // These n amespaces  are found  in the Mic rosoft.Xrm .Sdk.dll a ssembly        
29   // found i n the SDK\ bin folder .        
30   using Micr osoft.Xrm. Sdk;        
31   using Micr osoft.Xrm. Sdk.Query;        
32   using Micr osoft.Xrm. Sdk.Metada ta;        
33   using Micr osoft.Xrm. Sdk.Client ;        
34   using Micr osoft.Xrm. Sdk.Messag es;        
35          
36   // This na mespace is  found in  Microsoft. Crm.Sdk.Pr oxy.dll as sembly        
37   // found i n the SDK\ bin folder .        
38   using Micr osoft.Crm. Sdk.Messag es;        
39          
40   namespace  Microsoft. Crm.Sdk.Sa mples        
41   {        
42       /// <s ummary>        
43       /// Th is sample  shows how  retreive a ll the att ribute inf o and dump  it to an  Excel file .        
44       /// </ summary>        
45       public  class Dum pAttribute Info        
46       {        
47           #r egion Clas s Level Me mbers        
48          
49           // / <summary >        
50           // / Stores t he organiz ation serv ice proxy.        
51           // / </summar y>        
52           Or ganization ServicePro xy _servic eProxy;        
53          
54           //  Create st orage for  new attrib utes being  created        
55           pu blic List< AttributeM etadata> a ddedAttrib utes;        
56          
57           //  Specify w hich langu age code t o use in t he sample.  If you ar e using a  language        
58           //  other tha n US Engli sh, you wi ll need to  modify th is value a ccordingly .        
59           //  See http: //msdn.mic rosoft.com /en-us/lib rary/0h88f ahh.aspx        
60           pu blic const  int _lang uageCode =  1033;        
61          
62           //  Define th e IDs/vari ables need ed for thi s sample.        
63           pu blic int _ insertedSt atusValue;        
64          
65           #e ndregion C lass Level  Members        
66          
67           #r egion How  To Sample  Code        
68           // / <summary >        
69           // / </summar y>        
70           // / <param n ame="serve rConfig">C ontains se rver conne ction info rmation.</ param>        
71           // / <param n ame="promp tForDelete ">When Tru e, the use r will be  prompted t o delete a ll        
72           // / created  entities.< /param>        
73           pu blic void  Run(Server Connection .Configura tion serve rConfig, b ool prompt ForDelete)        
74           {        
75                try        
76                {        
77          
78                    // C onnect to  the Organi zation ser vice.         
79                    // T he using s tatement a ssures tha t the serv ice proxy  will be pr operly dis posed.        
80                    usin g (_servic eProxy = n ew Organiz ationServi ceProxy(se rverConfig .Organizat ionUri, se rverConfig .HomeRealm Uri,server Config.Cre dentials,  serverConf ig.DeviceC redentials ))        
81                    {        
82                         // This st atement is  required  to enable  early-boun d type sup port.        
83                         _servicePr oxy.Enable ProxyTypes ();        
84          
85                         //<snippet DumpAttrib uteInfo1>        
86                         #region Ho w to dump  attribute  info        
87                         //<snippet DumpAttrib uteInfo2>        
88                         RetrieveAl lEntitiesR equest req uest = new  RetrieveA llEntities Request()        
89                         {        
90                             Entity Filters =  EntityFilt ers.Attrib utes,        
91                             Retrie veAsIfPubl ished = tr ue        
92                         };        
93          
94                         // Retriev e the Meta Data.        
95                         RetrieveAl lEntitiesR esponse re sponse = ( RetrieveAl lEntitiesR esponse)_s erviceProx y.Execute( request);        
96          
97                         // Create  an instanc e of Strea mWriter to  write tex t to a fil e.        
98                         // The usi ng stateme nt also cl oses the S treamWrite r.        
99                         // To view  this file , right cl ick the fi le and cho ose open w ith Excel.          
100                         // Excel w ill figure  out the s chema and  display th e informat ion in col umns.        
101                         String fil ename = St ring.Conca t("AllAttr ibuteDesc. xml");        
102                         using (Str eamWriter  sw = new S treamWrite r(filename ))        
103                         {        
104                             // Cre ate Xml Wr iter.        
105                             XmlTex tWriter me tadataWrit er = new X mlTextWrit er(sw);        
106          
107                             // Sta rt Xml Fil e.        
108                             metada taWriter.W riteStartD ocument();        
109          
110                             // Met adata Xml  Node.        
111                             metada taWriter.W riteStartE lement("Me tadata");        
112          
113                             foreac h (EntityM etadata cu rrentEntit y in respo nse.Entity Metadata)        
114                             {        
115          
116                                 // if (curren tEntity.Is Intersect. Value == f alse)        
117                                 if  (true)        
118                                 {        
119                                      // Start  Entity No de        
120                                      metadata Writer.Wri teStartEle ment("Enti ty");        
121          
122                                      // Write  the Entit y's Inform ation.        
123                                      metadata Writer.Wri teElementS tring("Ent itySchemaN ame", curr entEntity. SchemaName );        
124                                      if (curr entEntity. IsCustomiz able.Value  == true)        
125                                          meta dataWriter .WriteElem entString( "IsCustomi zable", "y es");        
126                                      else        
127                                          meta dataWriter .WriteElem entString( "IsCustomi zable", "n o");        
128                                      if (curr entEntity. IsIntersec t.Value ==  true)        
129                                          meta dataWriter .WriteElem entString( "IsInterse ct", "yes" );        
130                                      else        
131                                          meta dataWriter .WriteElem entString( "IsInterse ct", "no") ;        
132          
133          
134          
135                                      #region  Attributes        
136          
137          
138                                      // Write  Entity's  Attributes .        
139                                      metadata Writer.Wri teStartEle ment("Attr ibutes");        
140          
141                                      foreach  (Attribute Metadata c urrentAttr ibute in c urrentEnti ty.Attribu tes)        
142                                      {        
143                                          // O nly write  out main a ttributes.        
144                                          if ( currentAtt ribute.Att ributeOf = = null)        
145                                          {        
146          
147                                               // Start A ttribute N ode        
148                                               metadataWr iter.Write StartEleme nt("Attrib ute");        
149          
150                                               // Write A ttribute's  informati on.        
151                                               metadataWr iter.Write ElementStr ing("Logic alName", c urrentAttr ibute.Logi calName);        
152                                               // Write t he Descrip tion if it  is set.        
153                                               if (curren tAttribute .Descripti on.UserLoc alizedLabe l != null)        
154                                               {        
155                                                   metada taWriter.W riteElemen tString("D escription ", current Attribute. Descriptio n.UserLoca lizedLabel .Label.ToS tring());        
156                                               }        
157          
158                                               metadataWr iter.Write ElementStr ing("Type" , currentA ttribute.A ttributeTy pe.Value.T oString()) ;        
159                                               if (curren tAttribute .DisplayNa me.UserLoc alizedLabe l != null)        
160                                                   metada taWriter.W riteElemen tString("D isplayName ", current Attribute. DisplayNam e.UserLoca lizedLabel .Label.ToS tring());        
161                                               if (curren tAttribute .SchemaNam e != null)        
162                                                   metada taWriter.W riteElemen tString("S chemaName" , currentA ttribute.S chemaName. ToString() );        
163                                               if (curren tAttribute .Introduce dVersion ! = null)        
164                                                   metada taWriter.W riteElemen tString("I ntroducedV ersion", c urrentAttr ibute.Intr oducedVers ion.ToStri ng());        
165                                               if (curren tAttribute .Deprecate dVersion ! = null)        
166                                                   metada taWriter.W riteElemen tString("D eprecatedV ersion", c urrentAttr ibute.Depr ecatedVers ion.ToStri ng());        
167                                               if (curren tAttribute .IsCustomA ttribute ! = null)        
168                                                   metada taWriter.W riteElemen tString("I sCustomAtt ribute", c urrentAttr ibute.IsCu stomAttrib ute.Value. ToString() );        
169                                               if (curren tAttribute .IsCustomi zable != n ull)        
170                                                   metada taWriter.W riteElemen tString("I sCustomiza ble", curr entAttribu te.IsCusto mizable.Va lue.ToStri ng());        
171                                               if (curren tAttribute .RequiredL evel != nu ll)        
172                                                   metada taWriter.W riteElemen tString("R equiredLev el", curre ntAttribut e.Required Level.Valu e.ToString ());        
173                                               if (curren tAttribute .IsValidFo rCreate !=  null)        
174                                                   metada taWriter.W riteElemen tString("I sValidForC reate", cu rrentAttri bute.IsVal idForCreat e.Value.To String());        
175                                               if (curren tAttribute .IsValidFo rRead != n ull)        
176                                                   metada taWriter.W riteElemen tString("I sValidForR ead", curr entAttribu te.IsValid ForRead.Va lue.ToStri ng());        
177                                               if (curren tAttribute .IsValidFo rUpdate !=  null)        
178                                                   metada taWriter.W riteElemen tString("I sValidForU pdate", cu rrentAttri bute.IsVal idForUpdat e.Value.To String());        
179                                               if (curren tAttribute .CanBeSecu redForCrea te != null )        
180                                                   metada taWriter.W riteElemen tString("C anBeSecure dForCreate ", current Attribute. CanBeSecur edForCreat e.Value.To String());        
181                                               if (curren tAttribute .CanBeSecu redForRead  != null)        
182                                                   metada taWriter.W riteElemen tString("C anBeSecure dForRead",  currentAt tribute.Ca nBeSecured ForRead.Va lue.ToStri ng());        
183                                               if (curren tAttribute .CanBeSecu redForUpda te != null )        
184                                                   metada taWriter.W riteElemen tString("C anBeSecure dForUpdate ", current Attribute. CanBeSecur edForUpdat e.Value.To String());        
185                                               if (curren tAttribute .IsAuditEn abled != n ull)        
186                                                   metada taWriter.W riteElemen tString("I sAuditEnab led", curr entAttribu te.IsAudit Enabled.Va lue.ToStri ng());        
187                                               if (curren tAttribute .IsManaged  != null)        
188                                                   metada taWriter.W riteElemen tString("I sManaged",  currentAt tribute.Is Managed.Va lue.ToStri ng());        
189                                               if (curren tAttribute .IsPrimary Id != null )        
190                                                   metada taWriter.W riteElemen tString("I sPrimaryId ", current Attribute. IsPrimaryI d.Value.To String());        
191                                               if (curren tAttribute .IsPrimary Name != nu ll)         
192                                                   metada taWriter.W riteElemen tString("I sPrimaryNa me", curre ntAttribut e.IsPrimar yName.Valu e.ToString ());        
193                                               if (curren tAttribute .IsRenamea ble != nul l)        
194                                                   metada taWriter.W riteElemen tString("I sRenameabl e", curren tAttribute .IsRenamea ble.Value. ToString() );        
195                                               if (curren tAttribute .IsSecured  != null)        
196                                                   metada taWriter.W riteElemen tString("I sSecured",  currentAt tribute.Is Secured.Va lue.ToStri ng());        
197                                               if (curren tAttribute .IsValidFo rAdvancedF ind != nul l)         
198                                                   metada taWriter.W riteElemen tString("I sValidForA dvancedFin d", curren tAttribute .IsValidFo rAdvancedF ind.Value. ToString() );        
199          
200                                               // End Att ribute Nod e        
201                                               metadataWr iter.Write EndElement ();        
202                                          }        
203                                      }        
204                                      // End A ttributes  Node        
205                                      metadata Writer.Wri teEndEleme nt();        
206          
207                                      #endregi on        
208          
209                                      // End E ntity Node        
210                                      metadata Writer.Wri teEndEleme nt();        
211                                 }        
212                             }        
213          
214                             // End  Metadata  Xml Node        
215                             metada taWriter.W riteEndEle ment();        
216                             metada taWriter.W riteEndDoc ument();        
217          
218                             // Clo se xml wri ter.        
219                             metada taWriter.C lose();        
220                         }        
221          
222                         //</snippe tDumpAttri buteInfo2>        
223                         #endregion  How to du mp attribu te info        
224          
225          
226          
227                       C onsole.Wri teLine("Do ne.");        
228                         //</snippe tDumpAttri buteInfo1>        
229          
230                         //DeleteRe quiredReco rds(prompt ForDelete) ;        
231                    }        
232                }        
233          
234                // Catch  any servi ce fault e xceptions  that Micro soft Dynam ics CRM th rows.        
235                catch (F aultExcept ion<Micros oft.Xrm.Sd k.Organiza tionServic eFault>)        
236                {        
237                    // Y ou can han dle an exc eption her e or pass  it back to  the calli ng method.        
238                    thro w;        
239                }        
240           }        
241          
242           // / <summary >        
243           // / Deletes/ Reverts th e record t hat was cr eated/chan ged for th is sample.        
244           // / <param n ame="promp t">Indicat es whether  to prompt  the user  to delete         
245           // / the reco rds create d in this  sample.</p aram>        
246           // / </summar y>        
247           pu blic void  DeleteRequ iredRecord s(bool pro mpt)        
248           {        
249                bool del eteRecords  = true;        
250          
251                if (prom pt)        
252                {        
253                    Cons ole.WriteL ine(        
254                         "\nDo you  want these  entity re cords to b e deleted?  (y/n)");        
255                    Stri ng answer  = Console. ReadLine() ;        
256          
257                    dele teRecords  = (answer. StartsWith ("y") || a nswer.Star tsWith("Y" ));        
258                }        
259          
260                if (dele teRecords)        
261                {        
262            
263                }        
264           }        
265           #e ndregion H ow To Samp le Code        
266          
267           #r egion Main        
268           // / <summary >        
269           // / Standard  Main() me thod used  by most SD K samples.        
270           // / </summar y>        
271           // / <param n ame="args" ></param>        
272           st atic publi c void Mai n(string[]  args)        
273           {        
274                try        
275                {        
276                    // O btain the  target org anization' s Web addr ess and cl ient logon          
277                    // c redentials  from the  user.        
278                    Serv erConnecti on serverC onnect = n ew ServerC onnection( );        
279                    Serv erConnecti on.Configu ration con fig = serv erConnect. GetServerC onfigurati on();        
280          
281                    Dump AttributeI nfo app =  new DumpAt tributeInf o();        
282                    app. Run(config , false);        
283                }        
284                catch (F aultExcept ion<Micros oft.Xrm.Sd k.Organiza tionServic eFault> ex )        
285                {        
286                    Cons ole.WriteL ine("The a pplication  terminate d with an  error.");        
287                    Cons ole.WriteL ine("Times tamp: {0}" , ex.Detai l.Timestam p);        
288                    Cons ole.WriteL ine("Code:  {0}", ex. Detail.Err orCode);        
289                    Cons ole.WriteL ine("Messa ge: {0}",  ex.Detail. Message);        
290                    Cons ole.WriteL ine("Plugi n Trace: { 0}", ex.De tail.Trace Text);        
291                    Cons ole.WriteL ine("Inner  Fault: {0 }",        
292                         null == ex .Detail.In nerFault ?  "No Inner  Fault" :  "Has Inner  Fault");        
293                }        
294                catch (S ystem.Time outExcepti on ex)        
295                {        
296                    Cons ole.WriteL ine("The a pplication  terminate d with an  error.");        
297                    Cons ole.WriteL ine("Messa ge: {0}",  ex.Message );        
298                    Cons ole.WriteL ine("Stack  Trace: {0 }", ex.Sta ckTrace);        
299                    Cons ole.WriteL ine("Inner  Fault: {0 }",        
300                         null == ex .InnerExce ption.Mess age ? "No  Inner Faul t" : ex.In nerExcepti on.Message );        
301                }        
302                catch (S ystem.Exce ption ex)        
303                {        
304                    Cons ole.WriteL ine("The a pplication  terminate d with an  error.");        
305                    Cons ole.WriteL ine(ex.Mes sage);        
306          
307                    // D isplay the  details o f the inne r exceptio n.        
308                    if ( ex.InnerEx ception !=  null)        
309                    {        
310                         Console.Wr iteLine(ex .InnerExce ption.Mess age);        
311          
312                         FaultExcep tion<Micro soft.Xrm.S dk.Organiz ationServi ceFault> f e        
313                             = ex.I nnerExcept ion        
314                             as Fau ltExceptio n<Microsof t.Xrm.Sdk. Organizati onServiceF ault>;        
315                         if (fe !=  null)        
316                         {        
317                             Consol e.WriteLin e("Timesta mp: {0}",  fe.Detail. Timestamp) ;        
318                             Consol e.WriteLin e("Code: { 0}", fe.De tail.Error Code);        
319                             Consol e.WriteLin e("Message : {0}", fe .Detail.Me ssage);        
320                             Consol e.WriteLin e("Plugin  Trace: {0} ", fe.Deta il.TraceTe xt);        
321                             Consol e.WriteLin e("Inner F ault: {0}" ,        
322                                 nu ll == fe.D etail.Inne rFault ? " No Inner F ault" : "H as Inner F ault");        
323                         }        
324                    }        
325                }        
326                // Addit ional exce ptions to  catch: Sec urityToken Validation Exception,  ExpiredSe curityToke nException ,        
327                // Secur ityAccessD eniedExcep tion, Mess ageSecurit yException , and Secu rityNegoti ationExcep tion.        
328          
329                finally        
330                {        
331                            
332                    Cons ole.WriteL ine("Press  <Enter> t o exit.");        
333                    Cons ole.ReadLi ne();        
334                }        
335          
336           }        
337           #e ndregion M ain        
338          
339       }        
340   }        
341   //</snippe tDumpAttri buteInfo>