Guest User

Untitled

a guest
Apr 14th, 2018
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
T-SQL 6.08 KB | None | 0 0
  1. USE [SDS_DevSchoolDistrict]
  2. GO
  3. /****** Object:  UserDefinedFunction [dbo].[WidgetDataForQuickLinksAsXml]    Script Date: 11/28/2011 20:10:24 ******/
  4. SET ANSI_NULLS ON
  5. GO
  6. SET QUOTED_IDENTIFIER ON
  7. GO
  8.  
  9.  
  10. --SELECT dbo.WidgetDataForQuickLinksAsXml()
  11.  
  12. CREATE FUNCTION [dbo].[WidgetDataForLoginsAndLinksAsXml]
  13. (
  14.     @ApplicationUserId  int,
  15.     @EncryptIds         bit = 1
  16. )
  17. RETURNS Xml
  18. AS
  19. BEGIN
  20.         ---------------------------------------------
  21.         -- Prepare for performance metrics
  22.         ---------------------------------------------
  23.         DECLARE @XmlAssemblyStartTime time
  24.         DECLARE @XmlAssemblyEndTime time
  25.         DECLARE @XmlAssemblyTimeInMilliseconds int
  26.         SET @XmlAssemblyStartTime = GETDATE()
  27.         ---------------------------------------------
  28.  
  29.  
  30.  
  31.  
  32.         ---------------------------------------------
  33.         -- Declare the return variable here
  34.         ---------------------------------------------
  35.         DECLARE @Xml Xml
  36.         SET @Xml = '<Xml xmlAssemblyTimeInMilliseconds=""></Xml>'
  37.         ---------------------------------------------
  38.  
  39.  
  40.  
  41.  
  42.         ---------------------------------------------
  43.         DECLARE @QuickLinks Xml
  44.         ---------------------------------------------
  45.         SET @QuickLinks = (                
  46.                 SELECT  QL.QuickLinkId AS '@QuickLinkId',
  47.                         QL.QuickLinkText AS '@QuickLinkText',
  48.                         QL.QuickLinkOrdinal AS '@QuickLinkOrdinal'
  49.                 FROM    QuickLinks QL
  50.                 FOR XML PATH('QuickLink'), ROOT('QuickLinks')
  51.         )
  52.         ---------------------------------------------
  53.         --SELECT @QuickLinks AS '@QuickLinks'
  54.         ---------------------------------------------
  55.  
  56.  
  57.  
  58.  
  59.  
  60.  
  61.  
  62.         ---------------------------------------------
  63.         DECLARE @AutomatedLoginAccounts Xml
  64.         ---------------------------------------------
  65.         IF(@EncryptIds = 0)
  66.         BEGIN
  67.                 SET @AutomatedLoginAccounts = (                
  68.                         SELECT  Ap.AutomatedLoginApplicationId AS '@AutomatedLoginApplicationId',
  69.                                 Ap.AutomatedLoginApplication AS '@AutomatedLoginApplication',
  70.                                 Ac.AutomatedLoginUserName AS '@AutomatedLoginUserName',
  71.                                 Ap.AutomatedLoginApplicationLogoFilePath AS '@AutomatedLoginApplicationLogoFilePath',
  72.                                 Ap.AutomatedLoginApplicationActionFilePath AS '@AutomatedLoginApplicationActionFilePath',
  73.                                 Ac.AutomatedLoginAccountId AS '@AutomatedLoginAccountId',
  74.                                 Ac.AutomatedLoginLabel AS '@AutomatedLoginLabel'
  75.                         FROM    AutomatedLoginApplications Ap
  76.                         JOIN    AutomatedLoginAccounts Ac
  77.                           ON    Ap.AutomatedLoginApplicationId = Ac.AutomatedLoginApplicationId
  78.                          AND    Ac.ApplicationUserId = @ApplicationUserId
  79.                         FOR XML PATH('AutomatedLoginAccount'), ROOT('AutomatedLoginAccounts')
  80.                 )
  81.         END
  82.         ELSE
  83.         BEGIN
  84.                 SET @AutomatedLoginAccounts = (                
  85.                         SELECT  EncryptedAutomatedLoginApplicationIds.EncryptedId AS '@AutomatedLoginApplicationId',
  86.                                 Ap.AutomatedLoginApplication AS '@AutomatedLoginApplication',
  87.                                 Ac.AutomatedLoginUserName AS '@AutomatedLoginUserName',
  88.                                 Ap.AutomatedLoginApplicationLogoFilePath AS '@AutomatedLoginApplicationLogoFilePath',
  89.                                 Ap.AutomatedLoginApplicationActionFilePath AS '@AutomatedLoginApplicationActionFilePath',
  90.                                 EncryptedAutomatedLoginAccountIds.EncryptedId AS '@AutomatedLoginAccountId',
  91.                                 Ac.AutomatedLoginLabel AS '@AutomatedLoginLabel'
  92.                         FROM    AutomatedLoginApplications Ap
  93.                         JOIN    EncryptedIds EncryptedAutomatedLoginApplicationIds
  94.                           ON    Ap.AutomatedLoginApplicationId = EncryptedAutomatedLoginApplicationIds.Id
  95.                         JOIN    AutomatedLoginAccounts Ac
  96.                           ON    Ap.AutomatedLoginApplicationId = Ac.AutomatedLoginApplicationId
  97.                         JOIN    EncryptedIds EncryptedAutomatedLoginAccountIds
  98.                           ON    Ac.AutomatedLoginAccountId = EncryptedAutomatedLoginAccountIds.Id
  99.                          AND    Ac.ApplicationUserId = @ApplicationUserId
  100.                         FOR XML PATH('AutomatedLoginAccount'), ROOT('AutomatedLoginAccounts')
  101.                 )
  102.         END
  103.  
  104.         ---------------------------------------------
  105.         -- SELECT @AutomatedLoginAccounts AS '@AutomatedLoginAccounts'
  106.         ---------------------------------------------
  107.  
  108.  
  109.  
  110.  
  111.  
  112.         ---------------------------------------------
  113.         DECLARE @AutomatedLoginApplications Xml
  114.         ---------------------------------------------
  115.         IF(@EncryptIds = 0)
  116.         BEGIN
  117.                 SET @AutomatedLoginApplications = (                
  118.                         SELECT  Ap.AutomatedLoginApplicationId AS '@AutomatedLoginApplicationId',
  119.                                 Ap.AutomatedLoginApplication AS '@AutomatedLoginApplication'
  120.                         FROM    AutomatedLoginApplications Ap
  121.                         FOR XML PATH('AutomatedLoginApplication'), ROOT('AutomatedLoginApplications')
  122.                 )
  123.         END
  124.         ELSE
  125.         BEGIN
  126.                 SET @AutomatedLoginApplications = (                
  127.                         SELECT  EncryptedAutomatedLoginApplicationIds.EncryptedId AS '@AutomatedLoginApplicationId',
  128.                                 Ap.AutomatedLoginApplication AS '@AutomatedLoginApplication'
  129.                         FROM    AutomatedLoginApplications Ap
  130.                         JOIN    EncryptedIds EncryptedAutomatedLoginApplicationIds
  131.                           ON    Ap.AutomatedLoginApplicationId = EncryptedAutomatedLoginApplicationIds.Id
  132.                         FOR XML PATH('AutomatedLoginApplication'), ROOT('AutomatedLoginApplications')
  133.                 )
  134.         END    
  135.         ---------------------------------------------
  136.         --SELECT @AutomatedLoginApplications AS '@AutomatedLoginApplications'
  137.         ---------------------------------------------
  138.  
  139.  
  140.  
  141.         ---------------------------------------------
  142.         -- Assemble output Xml
  143.         ---------------------------------------------
  144.         SET @Xml = dbo.XmlAdopt(@Xml, @AutomatedLoginApplications, 'Xml', 'AutomatedLoginApplication')
  145.         SET @Xml = dbo.XmlAdopt(@Xml, @AutomatedLoginAccounts, 'Xml', 'AutomatedLoginAccount')
  146.         SET @Xml = dbo.XmlAdopt(@Xml, @QuickLinks, 'Xml', 'QuickLink')
  147.         ---------------------------------------------
  148.         --SET @Xml = dbo.XmlNormalize(@Xml)
  149.         ---------------------------------------------
  150.  
  151.  
  152.  
  153.  
  154.         ---------------------------------------------
  155.         -- Track Assembly time
  156.         ---------------------------------------------
  157.         SET @XmlAssemblyEndTime = GETDATE()
  158.         SET @XmlAssemblyTimeInMilliseconds = DATEDIFF(ms, @XmlAssemblyStartTime, @XmlAssemblyEndTime)
  159.         SET @Xml = dbo.XmlAssignAttributeValues(@Xml, '//Xml', 'xmlAssemblyTimeInMilliseconds', @XmlAssemblyTimeInMilliseconds)
  160.         ---------------------------------------------
  161.  
  162.  
  163.     --SELECT @Xml AS '@Xml'
  164.     RETURN @Xml
  165. END
Add Comment
Please, Sign In to add comment