476. Araxis Merge File Comparison Report

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

476.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\Entities DumpEntityPrivileges.cs Tue Dec 20 19:51:46 2016 UTC
2 Wed Feb 1 19:56:47 2017 UTC

476.2 Comparison summary

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

476.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

476.4 Active regular expressions

No regular expressions were active.

476.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 DumpEntity Privileges >        
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  to retriev e and writ e out priv ilege info rmation fo r entities .        
44       /// </ summary>        
45       public  class Dum pEntityPri vileges        
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 DumpEntity Privileges 1>        
86                         RetrieveAl lEntitiesR equest req uest = new  RetrieveA llEntities Request()        
87                         {        
88                             Entity Filters =  EntityFilt ers.Privil eges,        
89                             Retrie veAsIfPubl ished = tr ue        
90                         };        
91          
92                         // Retriev e the Meta Data.        
93                         RetrieveAl lEntitiesR esponse re sponse = ( RetrieveAl lEntitiesR esponse)_s erviceProx y.Execute( request);        
94                                
95          
96                         // Create  an instanc e of Strea mWriter to  write tex t to a fil e.        
97                         // The usi ng stateme nt also cl oses the S treamWrite r.        
98                         // To view  this file , right cl ick the fi le and cho ose open w ith Excel.          
99                         // Excel w ill figure  out the s chema and  display th e informat ion in col umns.        
100          
101                         String fil ename = St ring.Conca t("EntityP rivileges. 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                                 if  (currentE ntity.IsIn tersect.Va lue == fal se)        
116                                 {        
117                                      // Start  Entity No de        
118                                      metadata Writer.Wri teStartEle ment("Enti ty");        
119          
120                                      // Write  the Entit y's Inform ation.        
121                                      metadata Writer.Wri teElementS tring("Ent itySchemaN ame", curr entEntity. SchemaName );        
122                                      metadata Writer.Wri teElementS tring("OTC ", current Entity.Obj ectTypeCod e.ToString ());        
123          
124          
125                                      metadata Writer.Wri teStartEle ment("Priv ileges");        
126          
127                                      foreach  (SecurityP rivilegeMe tadata pri vilege in  currentEnt ity.Privil eges)        
128                                      {        
129                                          meta dataWriter .WriteStar tElement(" Privilege" );        
130                                          meta dataWriter .WriteElem entString( "Privilege Name", pri vilege.Nam e.ToString ());        
131                                          meta dataWriter .WriteElem entString( "Id", priv ilege.Priv ilegeId.To String());        
132                                          meta dataWriter .WriteElem entString( "Type", pr ivilege.Pr ivilegeTyp e.ToString ());        
133                                          meta dataWriter .WriteElem entString( "CanBeBasi c", privil ege.CanBeB asic.ToStr ing());        
134                                          meta dataWriter .WriteElem entString( "CanBeDeep ", privile ge.CanBeDe ep.ToStrin g());        
135                                          meta dataWriter .WriteElem entString( "CanBeGlob al", privi lege.CanBe Global.ToS tring());        
136                                          meta dataWriter .WriteElem entString( "CanBeLoca l", privil ege.CanBeL ocal.ToStr ing());        
137          
138                                          meta dataWriter .WriteEndE lement();        
139          
140          
141                                      }        
142          
143                                      metadata Writer.Wri teEndEleme nt();        
144          
145          
146                                      // End E ntity Node        
147                                      metadata Writer.Wri teEndEleme nt();        
148                                 }        
149                             }        
150          
151                             // End  Metadata  Xml Node        
152                             metada taWriter.W riteEndEle ment();        
153                             metada taWriter.W riteEndDoc ument();        
154          
155                             // Clo se xml wri ter.        
156                             metada taWriter.C lose();        
157                         }        
158          
159          
160          
161          
162                       C onsole.Wri teLine("Do ne.");        
163                         //</snippe tDumpEntit yPrivilege s1>        
164          
165                         //DeleteRe quiredReco rds(prompt ForDelete) ;        
166                    }        
167                }        
168          
169                // Catch  any servi ce fault e xceptions  that Micro soft Dynam ics CRM th rows.        
170                catch (F aultExcept ion<Micros oft.Xrm.Sd k.Organiza tionServic eFault>)        
171                {        
172                    // Y ou can han dle an exc eption her e or pass  it back to  the calli ng method.        
173                    thro w;        
174                }        
175           }        
176          
177           // / <summary >        
178           // / Deletes/ Reverts th e record t hat was cr eated/chan ged for th is sample.        
179           // / <param n ame="promp t">Indicat es whether  to prompt  the user  to delete         
180           // / the reco rds create d in this  sample.</p aram>        
181           // / </summar y>        
182           pu blic void  DeleteRequ iredRecord s(bool pro mpt)        
183           {        
184                bool del eteRecords  = true;        
185          
186                if (prom pt)        
187                {        
188                    Cons ole.WriteL ine(        
189                         "\nDo you  want these  entity re cords to b e deleted?  (y/n)");        
190                    Stri ng answer  = Console. ReadLine() ;        
191          
192                    dele teRecords  = (answer. StartsWith ("y") || a nswer.Star tsWith("Y" ));        
193                }        
194          
195                if (dele teRecords)        
196                {        
197            
198                }        
199           }        
200           #e ndregion H ow To Samp le Code        
201          
202           #r egion Main        
203           // / <summary >        
204           // / Standard  Main() me thod used  by most SD K samples.        
205           // / </summar y>        
206           // / <param n ame="args" ></param>        
207           st atic publi c void Mai n(string[]  args)        
208           {        
209                try        
210                {        
211                    // O btain the  target org anization' s Web addr ess and cl ient logon          
212                    // c redentials  from the  user.        
213                    Serv erConnecti on serverC onnect = n ew ServerC onnection( );        
214                    Serv erConnecti on.Configu ration con fig = serv erConnect. GetServerC onfigurati on();        
215          
216                    Dump EntityPriv ileges app  = new Dum pEntityPri vileges();        
217                    app. Run(config , false);        
218                }        
219                catch (F aultExcept ion<Micros oft.Xrm.Sd k.Organiza tionServic eFault> ex )        
220                {        
221                    Cons ole.WriteL ine("The a pplication  terminate d with an  error.");        
222                    Cons ole.WriteL ine("Times tamp: {0}" , ex.Detai l.Timestam p);        
223                    Cons ole.WriteL ine("Code:  {0}", ex. Detail.Err orCode);        
224                    Cons ole.WriteL ine("Messa ge: {0}",  ex.Detail. Message);        
225                    Cons ole.WriteL ine("Plugi n Trace: { 0}", ex.De tail.Trace Text);        
226                    Cons ole.WriteL ine("Inner  Fault: {0 }",        
227                         null == ex .Detail.In nerFault ?  "No Inner  Fault" :  "Has Inner  Fault");        
228                }        
229                catch (S ystem.Time outExcepti on ex)        
230                {        
231                    Cons ole.WriteL ine("The a pplication  terminate d with an  error.");        
232                    Cons ole.WriteL ine("Messa ge: {0}",  ex.Message );        
233                    Cons ole.WriteL ine("Stack  Trace: {0 }", ex.Sta ckTrace);        
234                    Cons ole.WriteL ine("Inner  Fault: {0 }",        
235                         null == ex .InnerExce ption.Mess age ? "No  Inner Faul t" : ex.In nerExcepti on.Message );        
236                }        
237                catch (S ystem.Exce ption ex)        
238                {        
239                    Cons ole.WriteL ine("The a pplication  terminate d with an  error.");        
240                    Cons ole.WriteL ine(ex.Mes sage);        
241          
242                    // D isplay the  details o f the inne r exceptio n.        
243                    if ( ex.InnerEx ception !=  null)        
244                    {        
245                         Console.Wr iteLine(ex .InnerExce ption.Mess age);        
246          
247                         FaultExcep tion<Micro soft.Xrm.S dk.Organiz ationServi ceFault> f e        
248                             = ex.I nnerExcept ion        
249                             as Fau ltExceptio n<Microsof t.Xrm.Sdk. Organizati onServiceF ault>;        
250                         if (fe !=  null)        
251                         {        
252                             Consol e.WriteLin e("Timesta mp: {0}",  fe.Detail. Timestamp) ;        
253                             Consol e.WriteLin e("Code: { 0}", fe.De tail.Error Code);        
254                             Consol e.WriteLin e("Message : {0}", fe .Detail.Me ssage);        
255                             Consol e.WriteLin e("Plugin  Trace: {0} ", fe.Deta il.TraceTe xt);        
256                             Consol e.WriteLin e("Inner F ault: {0}" ,        
257                                 nu ll == fe.D etail.Inne rFault ? " No Inner F ault" : "H as Inner F ault");        
258                         }        
259                    }        
260                }        
261                // Addit ional exce ptions to  catch: Sec urityToken Validation Exception,  ExpiredSe curityToke nException ,        
262                // Secur ityAccessD eniedExcep tion, Mess ageSecurit yException , and Secu rityNegoti ationExcep tion.        
263          
264                finally        
265                {        
266                            
267                    Cons ole.WriteL ine("Press  <Enter> t o exit.");        
268                    Cons ole.ReadLi ne();        
269                }        
270          
271           }        
272           #e ndregion M ain        
273          
274       }        
275   }        
276   //</snippe tDumpEntit yPrivilege s>