<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:atom="https://www.w3.org/2005/Atom" xmlns:sy="https://purl.org/rss/1.0/modules/syndication/" xmlns:dc="https://purl.org/dc/elements/1.1/" xmlns:content="https://purl.org/rss/1.0/modules/content/" xmlns:wfw="https://wellformedweb.org/CommentAPI/" xmlns:slash="https://purl.org/rss/1.0/modules/slash/"
  version="2.0">
  <channel>
    <title>Rohit Pasrija's Blog</title>
    <atom:link
      href="https://docs.microsoft.com/archive/blogs/rohit_pasrija/feed.xml"
      rel="self"
      type="application/rss+xml" />
    <link>https://docs.microsoft.com/archive/blogs/rohit_pasrija/feed.xml</link>
    <description />
    <lastBuildDate>Wed, 17 Apr 2019 03:50:13 GMT</lastBuildDate>
    <language>en-US</language>
    <sy:updatePeriod>hourly</sy:updatePeriod>
    <sy:updateFrequency>1</sy:updateFrequency>
    <item>
      <title>How Single Sign on works in claims authentication</title>
      <link>https://docs.microsoft.com/archive/blogs/rohit_pasrija/how-single-sign-on-works-in-claims-authentication</link>
      <pubDate>Mon, 04 Jan 2016 00:07:00 GMT</pubDate>
      <dc:creator><![CDATA[Rohit_P]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/rohit_pasrija/2016/01/04/how-single-sign-on-works-in-claims-authentication/</guid>
      <description><![CDATA[These days users are very much demanding, they want to access lot of interactive applications on the...]]></description>
      <content:encoded><![CDATA[<p><span style="font-family: arial,helvetica,sans-serif;"><span style="font-size: medium;">These days users are very much demanding, they want to access lot of interactive applications on the </span><span style="font-size: medium;">web but do not want to re-enter their credentials from one application </span></span></p>
<p><span style="font-family: arial,helvetica,sans-serif;"><span style="font-size: medium;">to another application. it is because of this reason claim </span><span style="font-size: medium;">based authentication has to support single sign on so that it can be used for various scenarios.</span></span></p>
<p><span style="font-family: arial,helvetica,sans-serif;"><span style="font-size: medium;">Single sign on is very common in window authentication scenarios where users enters their credentials in morning and access lot </span><span style="font-size: medium;">of resource in their company throught the </span></span></p>
<p><span style="font-family: arial,helvetica,sans-serif; font-size: medium;">day.</span></p>
<p><span style="font-family: arial,helvetica,sans-serif;"><span style="font-size: medium;">With use of kerberos it cannot include all claims like users email address as kerberos is not competent to provide all claims. Also </span><span style="font-size: medium;">Active directory is key server for company so it is </span></span></p>
<p><span style="font-family: arial,helvetica,sans-serif;"><span style="font-size: medium;">behind firewall so you cannot access it untill you configure some thing like </span><span style="font-size: medium;">VPN from outside company network.</span></span></p>
<p><span style="font-family: arial,helvetica,sans-serif;"><span style="font-size: medium;">Because of above limitation there is need for better flexibility which can override above limitations. Here comes the claims </span><span style="font-size: medium;">which comes with all possibilities and features </span></span></p>
<p><span style="font-family: arial,helvetica,sans-serif;"><span style="font-size: medium;">designed to work cross boundaries such as realms, Firewalls and different </span><span style="font-size: medium;">platforms for secure communications. </span><span style="font-size: medium;">With claims your application do not need to authenticate </span></span></p>
<p><span style="font-family: arial,helvetica,sans-serif;"><span style="font-size: medium;">users , it completely decouples from authentication all it needs is </span><span style="font-size: medium;">security token from the issuer which it trusts. Application will not break if there is change in security </span></span></p>
<p><span style="font-family: arial,helvetica,sans-serif; font-size: medium;">authentication.</span></p>
<p><span style="font-family: arial,helvetica,sans-serif;"><span style="font-size: medium;">The end goal for any claim based architecture is to communicate claims from issuer to application in secure way. Some of the </span><span style="font-size: medium;">application has goals to enable federation. </span></span></p>
<p><span style="font-family: arial,helvetica,sans-serif;"><span style="font-size: medium;">There are two type of federation one is with smart client and other is through b</span><span style="font-size: medium;">rowser.</span></span></p>
<p><span style="font-family: arial,helvetica,sans-serif;"><span style="font-size: medium;">When we are using window based application(smart client) then communication is to request token and pass to services(like WCF). </span><span style="font-size: medium;">When we are using browser based web </span></span></p>
<p><span style="font-family: arial,helvetica,sans-serif;"><span style="font-size: medium;">application which relies on HTTP get and Post to get and pass security Tokens. </span><span style="font-size: medium;">For browser based claim aware application it works like Form based authentication. If users </span></span></p>
<p><span style="font-family: arial,helvetica,sans-serif;"><span style="font-size: medium;">needs to sign in users are redirected </span><span style="font-size: medium;">to issuer's Login page here the user is authenticated and then redirect to Application. Issues Login Page doesnt neccesarry be&nbsp;</span>&nbsp;</span></p>
<p><span style="font-family: arial,helvetica,sans-serif;"><span style="font-size: medium;">Login.aspx like in Form Authentication it can be empty html page which is configured in IIS to accept Window authentication, </span><span style="font-size: medium;">client certificate or smart card etc. </span></span></p>
<p><span style="font-family: arial,helvetica,sans-serif; font-size: medium;"><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/47/96/6811.1.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-47-96/6811.1.png"><img src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/47/96/6811.1.png" original-url="https://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-47-96/6811.1.png" alt="" border="0" /></a></span></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><span style="font-family: arial,helvetica,sans-serif; font-size: medium;">When user is redirected to Issuer Page for Authentication two Important values are passed</span></p>
<p><span style="font-family: arial,helvetica,sans-serif; font-size: medium;">as part of query string</span></p>
<p><span style="font-family: arial,helvetica,sans-serif; font-size: medium;">1) wa :- Signin or signout to tell issuer if user is logging in or logging off.</span><br /><span style="font-family: arial,helvetica,sans-serif; font-size: medium;">2) realm :- The url for the application which is used by Issuer to identify the application.</span></p>
<p><span style="font-family: arial,helvetica,sans-serif;"><span style="font-size: medium;">After authentication, issuer grant the claims configured for that application , package claims into security token and sign it with </span><span style="font-size: medium;">private key. If application requires claims to </span></span></p>
<p><span style="font-family: arial,helvetica,sans-serif;"><span style="font-size: medium;">be encrypted it encrypt with public key of application certificate too. After this </span><span style="font-size: medium;">issuer send the html page to browser with Form tag and security token wrapped inside that. </span></span></p>
<p><span style="font-family: arial,helvetica,sans-serif;"><span style="font-size: medium;">The action is configured to submit </span><span style="font-size: medium;">with URL of application it also emit some javascript so that user dont see the page and page is automatically posted to</span></span></p>
<p><span style="font-family: arial,helvetica,sans-serif; font-size: medium;">application url so that application can use security token inside the form tag. Application recieves it and validate the token</span></p>
<p><span style="font-family: arial,helvetica,sans-serif; font-size: medium;">and store it in a cookie for subsquent requests.</span></p>
<p><span style="font-family: arial,helvetica,sans-serif;"><span style="font-size: medium;">Now assume if issuer is using Integrated Authentication then user go to application which redirects user to issuer login which </span><span style="font-size: medium;">post the security token and back to application. </span></span></p>
<p><span style="font-family: arial,helvetica,sans-serif;"><span style="font-size: medium;">As we know WIF(Windows Identity framework) is used to make any application claim </span><span style="font-size: medium;">aware. After issuer Post the Authentication token WIF of application takes over. It </span></span></p>
<p><span style="font-family: arial,helvetica,sans-serif;"><span style="font-size: medium;">listens for "AuthenticateRequest" event and </span><span style="font-size: medium;">validates the incoming token by using issuer public key to make sure it is trusted with Issuer. It also validate AudienceURI</span></span></p>
<p><span style="font-family: arial,helvetica,sans-serif;"><span style="font-size: medium;">element to make sure token is issued for correct application. Then it parses the claims in the application create IclaimPrinciple </span><span style="font-size: medium;">object and assign it to User.Identity in page </span></span></p>
<p><span style="font-family: arial,helvetica,sans-serif;"><span style="font-size: medium;">life cycle. It also create session token to store these values so that </span><span style="font-size: medium;">authentication process is not repeated for same session until user sign off or expiration of cookie is done.</span></span></p>
<p><span style="font-family: arial,helvetica,sans-serif; font-size: medium;"><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/47/96/2313.1.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-47-96/2313.1.png"><img src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/47/96/2313.1.png" original-url="https://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-47-96/2313.1.png" alt="" border="0" /></a></span></p>
<p>&nbsp;</p>
<p><span style="font-family: arial,helvetica,sans-serif; font-size: medium;">On subsequent request session cookie is checked and if values are present then recreate the claim principle using values in cookie</span></p>
<p><span style="font-family: arial,helvetica,sans-serif; font-size: medium;">to reassign current user property.</span></p>
<p><span style="font-family: arial,helvetica,sans-serif; font-size: medium;"><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/47/96/0027.1.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-47-96/0027.1.png"><img src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/47/96/0027.1.png" original-url="https://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-47-96/0027.1.png" alt="" border="0" /></a></span></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>]]></content:encoded>
    </item>
    <item>
      <title>To generate Sequential Reference ID for infopath forms across sites without using code</title>
      <link>https://docs.microsoft.com/archive/blogs/rohit_pasrija/to-generate-sequential-reference-id-for-infopath-forms-across-sites-without-using-code</link>
      <pubDate>Wed, 16 May 2012 03:02:00 GMT</pubDate>
      <dc:creator><![CDATA[Rohit_P]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/rohit_pasrija/2012/05/16/to-generate-sequential-reference-id-for-infopath-forms-across-sites-without-using-code/</guid>
      <description><![CDATA[&nbsp;
In one of the projects we got a requirement to generate Sequenctial Reference ID's for all...]]></description>
      <content:encoded><![CDATA[<p>&nbsp;</p>
<p>In one of the projects we got a requirement to generate Sequenctial Reference ID's for all infopath forms across sites and thats too without using Code. It means i have form A in a site A and form is submitted so reference ID of that form&nbsp;should come as &nbsp;1.&nbsp; After that</p>
<p>another Form B is submitted ,reference ID for that form should be 2 and so on for all forms across sites. We could take sql server help to achieve that functionality but we had to achieve it without using code.</p>
<p>&nbsp;</p>
<p><strong>Approach</strong></p>
<p>We created a master list at root level site with just title field in it. Now for every infopath form&nbsp;created in a form&nbsp;library&nbsp;we create a new item in this list using infopath submit connections, and there has to be a unique mapping between each infopath</p>
<p>submitted&nbsp; form and a item of master list.&nbsp;The title of each item is mapped to one of the field in Infopath Form, so that for every infopath form submitted we can retrieve the corresponding item from master list. The ID of item in master list is taken</p>
<p>as reference ID of infopath form. As ID is always sequential we can take it as reference ID for infopath Form.</p>
<p>&nbsp;</p>
<p><strong>Steps</strong></p>
<p><strong></strong>&nbsp;</p>
<p><strong>1) </strong>Create a Sample Infopath form. We have just created basic form.</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/47/96/1537.Image1.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-47-96/1537.Image1.png"><img border="0" alt="" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/47/96/1537.Image1.png" original-url="https://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-47-96/1537.Image1.png" /></a></p>
<p>&nbsp;<strong>2) DataConnections</strong></p>
<p></p>
<p>&nbsp;</p>
<p></p>
<p></p>
<p><strong></strong>&nbsp;</p>
<p></p>
<p>&nbsp;&nbsp; <strong>a) SharePoint Library Submit</strong>:- This is the usual Submit connection used to submit Infopath Form to a form Library. The Field "frmFormName" is used as form Name in Submit Connection as shown Below.</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/47/96/5187.Image3.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-47-96/5187.Image3.png"><img border="0" alt="" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/47/96/5187.Image3.png" original-url="https://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-47-96/5187.Image3.png" /></a></p>
<p>&nbsp;</p>
<p>Where field "frmName" is configured as below :-</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/47/96/8737.Image4.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-47-96/8737.Image4.png"><img border="0" alt="" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/47/96/8737.Image4.png" original-url="https://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-47-96/8737.Image4.png" /></a></p>
<p>&nbsp;</p>
<p><strong>b) Data</strong> :- This Data connection is recieve data connection(XML File). This XML file is used to pass as paramter in "Web Service Data Connection" which will be described in next point. The content of this XML File is as shown below:-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</p>
<p>&lt;Batch OnError="Continue"&gt;<br />&nbsp;&nbsp;&nbsp; &lt;Method ID="1" Cmd="New"&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;Field Name='Title'&gt;&lt;/Field&gt;<br />&nbsp;&nbsp;&nbsp; &lt;/Method&gt;<br />&lt;/Batch&gt;</p>
<p>&nbsp;</p>
<p><strong>c) Web Service Submit</strong>:- This Dataconnection is WebService Submit Connection. As i described in approach, we need to create item in Master list for each&nbsp;Form. As we don't have direct way to create item in a list using Infopath forms. We are doing it using webservice Connections. Webmethod "UpdateListItems" from "Lists.asmx" webservice is used to&nbsp; create item in Master List. This Webmethod(UpdateListItems) require two parameters as a input. First is ListName which is provided by "fldListName" of Infopath Form. Second one is Batch XML which is provided by XMl Dataconnection as shown above.</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/47/96/6283.Image5.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-47-96/6283.Image5.png"><img border="0" alt="" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/47/96/6283.Image5.png" original-url="https://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-47-96/6283.Image5.png" /></a></p>
<p>&nbsp;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/47/96/7827.Image6.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-47-96/7827.Image6.png"><img border="0" alt="" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/47/96/7827.Image6.png" original-url="https://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-47-96/7827.Image6.png" /></a></p>
<p>&nbsp;<a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/47/96/7571.Image7.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-47-96/7571.Image7.png"><img border="0" alt="" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/47/96/7571.Image7.png" original-url="https://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-47-96/7571.Image7.png" /></a></p>
<p>&nbsp;</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/47/96/2308.Image8.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-47-96/2308.Image8.png"><img border="0" alt="" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/47/96/2308.Image8.png" original-url="https://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-47-96/2308.Image8.png" /></a></p>
<p>&nbsp;</p>
<p>&nbsp;This is how Webservice Data Connection is configured. As it is displayedi in Screen shot, UpdateListItems operation take two parameter as input. 1) Name of List in which items needs to be created</p>
<p>2) tns:Updates :- This paramter takes data as XML Format(Which is provided by Secondry Data Connection(Named as Data)). This will contain the values for each field in item. For this Demo we are just passing value of Title Field. Now if you carefully examine the Batch XML which was shown Earlier, Look at this node:-</p>
<p><strong>&lt;Field Name='Title'&gt;&lt;/Field&gt;</strong></p>
<p>Right now this is empty node i.e. it doesnt contain any value. This XML Node must have to be populated with some value so that item can be created in master list. We will set this value Using Submit Options Rules which will be described later in this section. This value is populated by "frmFormName" field of Infopath Form using Submit Option Rule.</p>
<p>&nbsp;</p>
<p>d) <strong>MasterFormList :- </strong>This is Recieve DataConnection which is used to get reference number of Infopath Form once it is submitted. It will take data from "MasterForm" List.</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/47/96/0763.Image9.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-47-96/0763.Image9.png"><img border="0" alt="" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/47/96/0763.Image9.png" original-url="https://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-47-96/0763.Image9.png" /></a></p>
<p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/47/96/7360.Image10.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-47-96/7360.Image10.png"><img border="0" alt="" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/47/96/7360.Image10.png" original-url="https://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-47-96/7360.Image10.png" /></a></p>
<p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/47/96/5078.Image11.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-47-96/5078.Image11.png"><img border="0" alt="" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/47/96/5078.Image11.png" original-url="https://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-47-96/5078.Image11.png" /></a></p>
<p><strong></strong>&nbsp;and seqNo field will take value from this dataconnection using filter of title field as shown below: -</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/47/96/5008.Image21.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-47-96/5008.Image21.png"><img border="0" alt="" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/47/96/5008.Image21.png" original-url="https://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-47-96/5008.Image21.png" /></a></p>
<p><strong>3) Submit Rules</strong></p>
<p>&nbsp;There are two submit Rules Configured.</p>
<p>1) Rule 1:- (will execute on this condition When "IsSubmitted= N")[The Default value of IsSubmitted is N ]</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp; Actions</p>
<ul>
<li>&nbsp;&nbsp;&nbsp;Set Title Field of XML(Secondry Data Connection)</li>
</ul>
<p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/47/96/3252.Image15.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-47-96/3252.Image15.png"><img border="0" alt="" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/47/96/3252.Image15.png" original-url="https://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-47-96/3252.Image15.png" /></a><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/47/96/5280.Image14.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-47-96/5280.Image14.png"></a></p>
<ul>
<li>&nbsp;&nbsp; Submit WebService Connection</li>
<li>&nbsp;&nbsp; Submit SharePoint Library Connection</li>
<li>&nbsp;&nbsp; Set IsSubmitted = "Y" (This is used so that this rule will not execute again)</li>
</ul>
<p>2) Rule 2 (will execute on this condition When "IsSubmitted= Y")</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp; Actions</p>
<ul>
<li>&nbsp;&nbsp; Submit SharePoint Library Connection</li>
</ul>
<p><strong><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/47/96/2084.Image13.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-47-96/2084.Image13.png"><img border="0" alt="" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/47/96/2084.Image13.png" original-url="https://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-47-96/2084.Image13.png" /></a></strong></p>
<p></p>
<p><strong><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/47/96/7563.Image16.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-47-96/7563.Image16.png"><img border="0" alt="" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/47/96/7563.Image16.png" original-url="https://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-47-96/7563.Image16.png" /></a></strong></p>
<p><strong></strong>&nbsp;</p>
<p><strong>Demo </strong></p>
<p>1) &nbsp;i opened a new infopath form. Fill it with same value and submitted it.</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/47/96/5822.Image17.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-47-96/5822.Image17.png"><img border="0" alt="" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/47/96/5822.Image17.png" original-url="https://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-47-96/5822.Image17.png" /></a></p>
<p>&nbsp;</p>
<p></p>
<p><strong></strong>&nbsp;</p>
<p></p>
<p></p>
<p>So a form is submitted and new entry is created in form library as well as in MasterForm list which is used to store all reference ID's. Notice the title of item in Master list this is mapped to "frmFormname" Field of Infopath Form.</p>
<p><img border="0" alt="" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/47/96/4375.Image18.png" original-url="https://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-47-96/4375.Image18.png" /></p>
<p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/47/96/3010.Image19.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-47-96/3010.Image19.png"><img border="0" alt="" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/47/96/3010.Image19.png" original-url="https://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-47-96/3010.Image19.png" /></a><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/47/96/5722.Image19.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-47-96/5722.Image19.png"></a></p>
<p>&nbsp;</p>
<p>Now if i open existing form. it should give me reference ID as "1".</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/47/96/7077.Image20.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-47-96/7077.Image20.png"><img border="0" alt="" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/47/96/7077.Image20.png" original-url="https://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-47-96/7077.Image20.png" /></a></p>
<p>&nbsp;</p>
<p></p>]]></content:encoded>
    </item>
    <item>
      <title>Create Custom Ribbon and launch application page from it in SharePoint 2010</title>
      <link>https://docs.microsoft.com/archive/blogs/rohit_pasrija/create-custom-ribbon-and-launch-application-page-from-it-in-sharepoint-2010</link>
      <pubDate>Sun, 18 Sep 2011 06:13:54 GMT</pubDate>
      <dc:creator><![CDATA[Rohit_P]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/rohit_pasrija/2011/09/18/create-custom-ribbon-and-launch-application-page-from-it-in-sharepoint-2010/</guid>
      <description><![CDATA[One of the features which is extensively used with SharePoint 2010 is Ribbons controls. In this post...]]></description>
      <content:encoded><![CDATA[<p>One of the features which is extensively used with SharePoint 2010 is Ribbons controls. In this post we would be creating a custom ribbon and open up a application page when ribbon is clicked using client object model using javascript</p>
<p><span style="color: #008000;">//// Creating Ribbon XML</span></p>
<p>&lt;CustomAction<br />&nbsp;&nbsp; Id="CustomRibbonButton" <span style="color: #008000;">/// Represent Unique Id of custom action</span><br />&nbsp;&nbsp; Location="CommandUI.Ribbon.ListView" <span style="color: #008000;">// Represent Location where Ribbon will be visible( I have kept it at List View, for other options you can try out "<a href="https://msdn.microsoft.com/en-us/library/bb802730.aspx"><span style="color: #008000;">https://msdn.microsoft.com/en-us/library/bb802730.aspx</span></a>"</span><br />&nbsp;&nbsp; RegistrationId="0x01003E510038825141608FE2D66FF6804EDD"<span style="color: #008000;"> // Guid of Element specified in Registration type, make sure it is all capital letters, i have seen issues with lowercase letters"</span><br />&nbsp;&nbsp; Rights="EditListItems" <span style="color: #008000;">// Represent security rights i.e. users who has edit list items will only see this ribbon</span><br />&nbsp;&nbsp; RegistrationType="ContentType"&gt; <span style="color: #008000;">// Type for which ribbon is attached for e.g. list,content type</span><br />&nbsp;&nbsp;&nbsp; &lt;CommandUIExtension&gt; <span style="color: #008000;">// Tag for user Interface</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;CommandUIDefinitions&gt; <span style="color: #008000;">// Represent commands for user interface</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;CommandUIDefinition<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Location="Ribbon.ListItem.Actions.Controls._children"&gt; <span style="color: #008000;">// Location of RIbbon Tab{ For this example it is under actions tab of list item}</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;Button<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Id="Ribbon.ListItem.Manage.Controls.TestButton"<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Command="ShowAlert" <span style="color: #008000;">// The command to execute When Button is clicked</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; LabelText="Sample Ribbon"<span style="color: #008000;">// The label to be shown under ribbon</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Image32by32="/_layouts/images/menupersonalize.gif"<span style="color: #008000;">//The image to shown as ribbon icon</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TemplateAlias="o2"<span style="color: #008000;"> //The TemplateAlias attribute is used to size and position controls within a group when a template is applied to the group. This is used when we have created Group tab and sections for showing ribbons</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Sequence="501" /&gt; <span style="color: #008000;">// Represent order of placement among other ribbons</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/CommandUIDefinition&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/CommandUIDefinitions&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;CommandUIHandlers&gt; <span style="color: #008000;">// Represent Commands</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;CommandUIHandler<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Command="ShowAlert" <span style="color: #008000;">// Name should match Command attribute of Button</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CommandAction ="javascript:CustomCommandAction('{SiteUrl}', 'mybutton');" <span style="color: #008000;">// Javascript function to execute when command(click event of button in this case as defined in button control)</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; EnabledScript="javascript:EnableOnSingleItemSelection();" &gt;<span style="color: #008000;"> // Javascript function to execute to enable/disable the ribbon</span> <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/CommandUIHandler&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/CommandUIHandlers&gt;<br />&nbsp;&nbsp;&nbsp; &lt;/CommandUIExtension&gt;<br />&nbsp; &lt;/CustomAction&gt;</p>
<p>// <span style="color: #008000;">Custom Action to Specify the JS File</span><br />&lt;CustomAction<br />&nbsp;&nbsp;&nbsp; Id="CustomRibbonButton.Script"<br />&nbsp;&nbsp;&nbsp; Location="ScriptLink"<br />&nbsp;&nbsp;&nbsp; ScriptSrc ="/_layouts/SampleFolder/js/CustomRibbon.js"/&gt;<br />&lt;/Elements&gt;</p>
<p><span style="color: #008000;">-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------</span></p>
<p><span style="color: #008000;">Javascript functions in CustomRibbon.js</span></p>
<p>var listItem;<br />var buttonpressed;<br />var siteURL;</p>
<p>function EnableOnSingleItemSelection() {<br />&nbsp;&nbsp;&nbsp; var items = SP.ListOperation.Selection.getSelectedItems();<br />&nbsp;&nbsp;&nbsp; var itemsCount = CountDictionary(items);<br />&nbsp;&nbsp;&nbsp; return (itemsCount == 1)<br />}</p>
<p>function CustomCommandAction(siteurl, buttonpressed) {<br />this.buttonpressed = buttonpressed;&nbsp;&nbsp; <br />this.currentSiteUrl = siteurl;<br />var ctx = SP.ClientContext.get_current();<span style="color: #008000;">// get client context</span><br />&nbsp;&nbsp;&nbsp; var web = context.get_web();<br />&nbsp;&nbsp;&nbsp; var selectedItems = SP.ListOperation.Selection.getSelectedItems(); <span style="color: #008000;">// Get selected List items</span><br />&nbsp;&nbsp;&nbsp;&nbsp; var listItm = selectedItems[0]; <span style="color: #008000;">// this will only return ID of list item, to get list object server call has to be mad</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; this.listItem = sdlist.getItemById(listItm.id); <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; this.spContext.load(this.listItem);<span style="color: #008000;">// Load listitem in spcontext to fetch all properties of listitem</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; this.spContext.load(this.spContext.get_site());<span style="color: #008000;">// To fetch site properties</span> <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; this.spContext.executeQueryAsync(Function.createDelegate(this, this.onQuerySucceeded), Function.createDelegate(this, this.onQueryFailed));<br />}</p>
<p><span style="color: #008000;">/// spContext.executeQueryAsync make asyncronous call to server and return the requested objects, two delegates are attached to handle success(onQuerySucceeded) and faliure(onQueryFailed) operations</span></p>
<p>function onQuerySucceeded(sender, args) {</p>
<p>&nbsp; <br />&nbsp;&nbsp;&nbsp; var title = this.listItem.get_item('Title');&nbsp;&nbsp;&nbsp; <span style="color: #008000;">// get the selected item title</span><br />&nbsp;&nbsp;&nbsp; var options = SP.UI.$create_DialogOptions();<br />&nbsp;&nbsp;&nbsp; var siteguid = spContext.get_site().get_id(); <span style="color: #008000;">// get current site guid</span><br />&nbsp;&nbsp;&nbsp; var itemid = this.listItem.get_item('ID'); <span style="color: #008000;">// get the selected item id</span><br />&nbsp;&nbsp;&nbsp; var appUrl;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp; appUrl = this.currentSiteUrl + "/_layouts/SampleFolder/SamplePage.aspx?title=" + title + "&amp;siteguid=" + siteguid;<span style="color: #008000;">// To redirect to SamplePage.aspx with query string parameter as selected item title and current siteguid</span><br />&nbsp;&nbsp;</p>
<p>&nbsp;&nbsp;&nbsp; options.url = appUrl;<br />&nbsp;&nbsp;&nbsp; options.height = 600;<br />&nbsp;&nbsp;&nbsp; options.width = 800;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp; options.dialogReturnValueCallback=Function.createDelegate(null, DialogClosedCallback);<br />&nbsp;&nbsp;&nbsp; SP.UI.ModalDialog.showModalDialog(options); // To Open Page in Model Dialogue<br />}<br />function DialogClosedCallback() {SP.UI.ModalDialog.RefreshPage(SP.UI.DialogResult.OK);} <span style="color: #008000;">// To refresh the parent&nbsp; page after model dialogue closes</span></p>
<p>function onQueryFailed(sender, args) {<br />&nbsp;&nbsp;&nbsp; alert('failed ' + args.toString());<br />}</p>
<p></p>
<p></p>]]></content:encoded>
    </item>
    <item>
      <title>Add and Configure ListViewWebpart programitically In SharePoint Webpart Publishing Page</title>
      <link>https://docs.microsoft.com/archive/blogs/rohit_pasrija/add-and-configure-listviewwebpart-programitically-in-sharepoint-webpart-publishing-page</link>
      <pubDate>Sun, 18 Sep 2011 03:23:00 GMT</pubDate>
      <dc:creator><![CDATA[Rohit_P]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/rohit_pasrija/2011/09/18/add-and-configure-listviewwebpart-programitically-in-sharepoint-webpart-publishing-page/</guid>
      <description><![CDATA[List View Webpart is one of the most commonly used webpart in SharePoint. It is nothing but a view...]]></description>
      <content:encoded><![CDATA[<p><span style="font-size: small;">List View Webpart is one of the most commonly used webpart in SharePoint. It is nothing but a view of a list. When we add listview webpart to a page&nbsp;it creates a new hidden view of the &nbsp;list. There are ways by which we </span></p>
<p><span style="font-size: small;">can customize </span><span style="font-size: small;">list view webpart like security settings, view fields, tool bar options etc.&nbsp; A important point related to List View Webparts is :-</span></p>
<p>&nbsp;</p>
<p><span style="font-size: small;"><strong>If we set the viewGuid Property of List view webpart to any existing view guid( for e.g default view guid) then copy of that view will be created and attached to list view webpart. Any changes to existing view will not reflect </strong></span><span style="font-size: small;"><strong>automatically </strong><strong>in list view webpart.</strong></span></p>
<p>&nbsp;</p>
<p><span style="font-size: small;">//// <span style="color: #008000;">Here i am creating helper class for defining properties of ListViewWebpart, it will be helpful if you have to configure many list view parts in your solution</span></span></p>
<p><span style="font-size: small;">public class ListViewWebpartHelper</span><br /><span style="font-size: small;">&nbsp;&nbsp;&nbsp; {</span><br /><span style="font-size: small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; private bool _customView = false;</span><br /><span style="font-size: small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; private&nbsp; string _query = string.Empty;</span><br /><span style="font-size: small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; private&nbsp; string _toolbar = string.Empty;</span><br /><span style="font-size: small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; private string _authorizationlevel = string.Empty;</span></p>
<p><span style="font-size: small;">//// <span style="color: #008000;">To Define if we are going to use custom view of default list view of webpart</span></span><br /><span style="font-size: small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public bool customView</span><br /><span style="font-size: small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {</span><br /><span style="font-size: small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; get</span><br /><span style="font-size: small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {</span><br /><span style="font-size: small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return _customView;</span><br /><span style="font-size: small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</span><br /><span style="font-size: small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; set</span><br /><span style="font-size: small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {</span><br /><span style="font-size: small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; _customView = value;</span><br /><span style="font-size: small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</span><br /><span style="font-size: small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</span><br /><span style="font-size: small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public string&nbsp; AuthorizationLevel</span><br /><span style="font-size: small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {</span><br /><span style="font-size: small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; get</span><br /><span style="font-size: small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {</span><br /><span style="font-size: small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return _authorizationlevel;</span><br /><span style="font-size: small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</span><br /><span style="font-size: small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; set</span><br /><span style="font-size: small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {</span><br /><span style="font-size: small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; _authorizationlevel = value;</span><br /><span style="font-size: small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</span><br /><span style="font-size: small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br /><span style="font-size: small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public string[] ViewFields&nbsp; {get;set;}</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br /><span style="font-size: small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public string query&nbsp; {</span><br /><span style="font-size: small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; get</span><br /><span style="font-size: small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {</span><br /><span style="font-size: small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return _query;</span><br /><span style="font-size: small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</span><br /><span style="font-size: small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; set</span><br /><span style="font-size: small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {</span><br /><span style="font-size: small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; _query = value;</span><br /><span style="font-size: small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</span><br /><span style="font-size: small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</span><br /><span style="font-size: small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public string toolbar</span><br /><span style="font-size: small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {</span><br /><span style="font-size: small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; get</span><br /><span style="font-size: small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {</span><br /><span style="font-size: small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return _toolbar;</span><br /><span style="font-size: small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</span><br /><span style="font-size: small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; set</span><br /><span style="font-size: small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {</span><br /><span style="font-size: small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; _toolbar = value;</span><br /><span style="font-size: small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</span><br /><span style="font-size: small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</span></p>
<p><span style="font-size: small;">&nbsp;&nbsp;&nbsp; }</span></p>
<p><span style="font-size: small;">//// <span style="color: #008000;">Set Properties of List View webpart</span></span></p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</p>
<p><span style="font-size: small;">file URL = "<a href="https://sitename/pages/MyPage.aspx&quot;////">https://sitename/pages/MyPage.aspx"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ////</a>&nbsp;&nbsp;&nbsp; <span style="color: #008000;">Set Page URL</span></span></p>
<p><span style="font-size: small;">string[] OCGroup = "UserGroup"//// <span style="color: #008000;">Set Group Names for which List View Webpart will be visible</span></span></p>
<p><br /><span style="font-size: small;">helper = new ListViewWebpartHelper();</span></p>
<p><br /><span style="font-size: small;">helper.customView = true;// if needs Custom View</span></p>
<p><br /><span style="font-size: small;">helper.ViewFields = { "Title", "AssignedTo", "StartDate" };// <span style="color: #008000;">Set Fields which should be visible in List view Webpart</span></span></p>
<p><br /><span style="font-size: small;">helper.query = string.Format("&lt;GroupBy Collapse=\"FALSE\"&gt;&lt;FieldRef Name=\"{0}\"/&gt;&lt;/GroupBy&gt;","Title");// <span style="color: #008000;">Set SP Query for View</span></span></p>
<p><br /><span style="font-size: small;">AddListViewWebPart(web, ListName, "title" URL, "Center", 2, true, helper);</span></p>
<p>&nbsp;</p>
<p><span style="color: #008000; font-size: small;">///// Add ListViewWebpart into a Page</span></p>
<p><span style="color: #008000; font-size: small;">&lt;summary&gt;</span><br /><span style="color: #008000; font-size: small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /// Adds the list view web part.</span><br /><span style="color: #008000; font-size: small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /// &lt;/summary&gt;</span><br /><span style="color: #008000; font-size: small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /// &lt;param name="web"&gt;The web.&lt;/param&gt;</span><br /><span style="color: #008000; font-size: small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /// &lt;param name="ListName"&gt;Name of the list.&lt;/param&gt;</span><br /><span style="color: #008000; font-size: small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /// &lt;param name="title"&gt;The title.&lt;/param&gt;</span><br /><span style="color: #008000; font-size: small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /// &lt;param name="PageURL"&gt;The page URL.&lt;/param&gt;</span><br /><span style="color: #008000; font-size: small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /// &lt;param name="ZoneID"&gt;The zone ID.&lt;/param&gt;</span><br /><span style="color: #008000; font-size: small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /// &lt;param name="ZoneIndex"&gt;Index of the zone.&lt;/param&gt;</span><br /><span style="color: #008000; font-size: small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /// &lt;param name="publish"&gt;if set to &lt;c&gt;true&lt;/c&gt; [publish].&lt;/param&gt;</span><br /><span style="color: #008000; font-size: small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /// &lt;param name="viewHelper"&gt;The view helper.&lt;/param&gt;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</p>
<p>&nbsp;</p>
<p><span style="font-size: small;">&nbsp;public static void AddListViewWebPart(SPWeb web, string ListName, string title, string PageURL, string ZoneID, int ZoneIndex, bool publish, ListViewWebpartHelper viewHelper)</span><br /><span style="font-size: small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {</span><br /><span style="font-size: small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SPFile file = web.GetFile(PageURL);</span><br /><span style="font-size: small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (file.CheckOutType == SPFile.SPCheckOutType.None)</span><br /><span style="font-size: small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; file.CheckOut();</span><br /><span style="font-size: small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; string DisplayTitle = string.Empty;</span><br /><span style="font-size: small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ListViewWebPart lvw = null;</span><br /><span style="font-size: small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; bool isDuplicate = false;</span><br /><span style="font-size: small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; try</span><br /><span style="font-size: small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {</span><br /><span style="font-size: small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; using (SPLimitedWebPartManager webPartManagerLimited = web.GetLimitedWebPartManager(PageURL, PersonalizationScope.Shared))</span><br /><span style="font-size: small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {</span><br /><span style="font-size: small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; lvw = new ListViewWebPart();</span><br /><span style="font-size: small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SPList list = web.Lists[ListName];</span><br /><span style="font-size: small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (list == null)</span><br /><span style="font-size: small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; throw new ArgumentException("List not found ");</span><br /><span style="font-size: small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; lvw.ListName = list.ID.ToString("B").ToUpperInvariant();</span><br /><span style="font-size: small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; lvw.TitleUrl = list.DefaultViewUrl;</span><br /><span style="font-size: small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; lvw.Title = title;</span><br /><span style="font-size: small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; lvw.BorderStyle = System.Web.UI.WebControls.BorderStyle.None;</span><br /><span style="font-size: small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; lvw.ChromeType = PartChromeType.TitleOnly;</span><br /><span style="font-size: small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (viewHelper != null &amp;&amp; viewHelper.customView)</span><br /><span style="font-size: small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {</span><br /><span style="font-size: small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//// <span style="color: #008000;">To Set Security settings of View&nbsp; </span></span></p>
<p><span style="font-size: small;">if (!string.IsNullOrEmpty(viewHelper.AuthorizationLevel))</span><br /><span style="font-size: small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {</span><br /><span style="font-size: small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; lvw.AuthorizationFilter = viewHelper.AuthorizationLevel;</span></p>
<p><span style="font-size: small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</span></p>
<p><span style="font-size: small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //// <span style="color: #008000;">To Set View Guid with Default View Guid</span></span></p>
<p><span style="font-size: small;">if (viewHelper.ViewFields == null || viewHelper.ViewFields.Count() == 0)</span><br /><span style="font-size: small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {</span><br /><span style="font-size: small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; lvw.ViewGuid = list.DefaultView.ID.ToString("B").ToUpperInvariant();</span><br /><span style="font-size: small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</span><br /><span style="font-size: small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</span><br /><span style="font-size: small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else</span><br /><span style="font-size: small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {</span><br /><span style="font-size: small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; lvw.ViewGuid = list.DefaultView.ID.ToString("B").ToUpperInvariant();</span><br /><span style="font-size: small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</span><br /><span style="font-size: small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; foreach (System.Web.UI.WebControls.WebParts.WebPart webpart in webPartManagerLimited.WebParts)</span><br /><span style="font-size: small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {</span><br /><span style="font-size: small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (webpart.Title == title) <span style="color: #008000;">/ //// To&nbsp;Prevent Duplicates Webparts into a page</span></span><br /><span style="font-size: small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {</span><br /><span style="font-size: small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; isDuplicate = true;</span><br /><span style="font-size: small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; break;</span><br /><span style="font-size: small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</span><br /><span style="font-size: small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</span><br /><span style="font-size: small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (!isDuplicate)</span><br /><span style="font-size: small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {</span><br /><span style="font-size: small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; webPartManagerLimited.AddWebPart(lvw, ZoneID, ZoneIndex);</span><br /><span style="font-size: small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</span><br /><span style="font-size: small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; list.Update();</span><br /><span style="font-size: small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; web.Update();</span><br /><span style="font-size: small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; webPartManagerLimited.Web.Dispose();</span><br /><span style="font-size: small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</span><br /><span style="color: #008000; font-size: small;">////&nbsp; Override existing view with&nbsp;&nbsp;Custom Fields&nbsp;&nbsp;and custom query....</span></p>
<p><span style="font-size: small;">&nbsp;if (viewHelper != null &amp;&amp; viewHelper.customView &amp;&amp; !isDuplicate)</span><br /><span style="font-size: small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {</span><br /><span style="font-size: small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; using (SPLimitedWebPartManager webPartManagerLimited = web.GetLimitedWebPartManager(PageURL, PersonalizationScope.Shared))</span><br /><span style="font-size: small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {</span><br /><span style="font-size: small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var ViewWebPart = (ListViewWebPart)webPartManagerLimited.WebParts.Cast&lt;System.Web.UI.WebControls.WebParts.WebPart&gt;().FirstOrDefault(w =&gt; w.Title.Equals(title));</span><br /><span style="font-size: small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var list = web.Lists[ListName];</span><br /><span style="font-size: small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var view = list.Views.Cast&lt;SPView&gt;().FirstOrDefault(w =&gt; w.ID.ToString("B").Equals(ViewWebPart.ViewGuid, StringComparison.OrdinalIgnoreCase));</span><br /><span style="font-size: small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (viewHelper.ViewFields != null &amp;&amp; viewHelper.ViewFields.Count() &gt; 0)</span><br /><span style="font-size: small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {</span><br /><span style="font-size: small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; view.ViewFields.DeleteAll();</span><br /><span style="font-size: small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; foreach (string field in viewHelper.ViewFields)</span><br /><span style="font-size: small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {</span><br /><span style="font-size: small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; view.ViewFields.Add(field);&nbsp;&nbsp;&nbsp; ///// <span style="color: #008000;">Add New fields</span></span><br /><span style="font-size: small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</span><br /><span style="font-size: small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</span><br /><span style="font-size: small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (!string.IsNullOrEmpty(viewHelper.query))</span><br /><span style="font-size: small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; view.Query = viewHelper.query; /<span style="color: #008000;">//// Set SP Query</span></span><br /><span style="font-size: small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; view.Toolbar = viewHelper.toolbar;</span><br /><span style="font-size: small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; view.Update();</span><br /><span style="font-size: small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; webPartManagerLimited.Web.Dispose();</span><br /><span style="font-size: small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</span><br /><span style="font-size: small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</span><br /><span style="font-size: small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</span><br /><span style="font-size: small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; finally</span><br /><span style="font-size: small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {</span><br /><span style="font-size: small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (lvw != null)</span><br /><span style="font-size: small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; lvw.Dispose();</span><br /><span style="font-size: small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; file.CheckIn(string.Empty);</span><br /><span style="font-size: small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (publish &amp;&amp; file.InDocumentLibrary)</span><br /><span style="font-size: small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {</span><br /><span style="font-size: small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; file.Publish("Publishing Changes Added");</span><br /><span style="font-size: small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (file.Item.ModerationInformation != null)</span><br /><span style="font-size: small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; file.Approve("Changes are approved");</span><br /><span style="font-size: small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</span><br /><span style="font-size: small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; web.Update();</span><br /><span style="font-size: small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</span><br /><span style="font-size: small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</span></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>]]></content:encoded>
    </item>
  </channel>
</rss>