|
| 1 | +/******* TRIGGERS *******/ |
| 2 | +/******* VIEWS AND FUNCTIONS *******/ |
| 3 | +IF EXISTS (SELECT * FROM sys.views WHERE object_id = OBJECT_ID(N'{databaseOwner}{objectQualifier}vw_Connect_LPM_PackageLinks')) |
| 4 | +DROP VIEW {databaseOwner}{objectQualifier}vw_Connect_LPM_PackageLinks |
| 5 | +GO |
| 6 | + |
| 7 | +SET ANSI_NULLS ON |
| 8 | +GO |
| 9 | +SET QUOTED_IDENTIFIER ON |
| 10 | +GO |
| 11 | +CREATE VIEW {databaseOwner}{objectQualifier}vw_Connect_LPM_PackageLinks |
| 12 | +AS |
| 13 | +SELECT |
| 14 | + pl.*, |
| 15 | + m.PortalID, |
| 16 | + cu.DisplayName CreatedByUser, |
| 17 | + mu.DisplayName ModifiedByUser |
| 18 | +FROM {databaseOwner}{objectQualifier}Connect_LPM_PackageLinks pl |
| 19 | +INNER JOIN {databaseOwner}{objectQualifier}Modules m ON m.ModuleID=pl.ModuleId |
| 20 | +LEFT JOIN {databaseOwner}{objectQualifier}Users cu ON cu.UserID=pl.CreatedByUserID |
| 21 | +LEFT JOIN {databaseOwner}{objectQualifier}Users mu ON mu.UserID=pl.LastModifiedByUserID |
| 22 | +GO |
| 23 | + |
| 24 | +IF EXISTS (SELECT * FROM sys.views WHERE object_id = OBJECT_ID(N'{databaseOwner}{objectQualifier}vw_Connect_LPM_Packages')) |
| 25 | +DROP VIEW {databaseOwner}{objectQualifier}vw_Connect_LPM_Packages |
| 26 | +GO |
| 27 | + |
| 28 | +SET ANSI_NULLS ON |
| 29 | +GO |
| 30 | +SET QUOTED_IDENTIFIER ON |
| 31 | +GO |
| 32 | +CREATE VIEW {databaseOwner}{objectQualifier}vw_Connect_LPM_Packages |
| 33 | +AS |
| 34 | +SELECT |
| 35 | + p.*, |
| 36 | + pl.Name, |
| 37 | + pl.LastChecked, |
| 38 | + pl.ModuleId |
| 39 | +FROM {databaseOwner}{objectQualifier}Connect_LPM_Packages p |
| 40 | +INNER JOIN {databaseOwner}{objectQualifier}Connect_LPM_PackageLinks pl ON pl.PackageLinkId=p.LinkId |
| 41 | +GO |
| 42 | + |
| 43 | +IF EXISTS (SELECT * FROM sys.views WHERE object_id = OBJECT_ID(N'{databaseOwner}{objectQualifier}vw_Connect_LPM_PackageVersionLocaleTextCounts')) |
| 44 | +DROP VIEW {databaseOwner}{objectQualifier}vw_Connect_LPM_PackageVersionLocaleTextCounts |
| 45 | +GO |
| 46 | + |
| 47 | +SET ANSI_NULLS ON |
| 48 | +GO |
| 49 | +SET QUOTED_IDENTIFIER ON |
| 50 | +GO |
| 51 | +CREATE VIEW {databaseOwner}{objectQualifier}vw_Connect_LPM_PackageVersionLocaleTextCounts |
| 52 | +AS |
| 53 | +SELECT |
| 54 | +tc.*, |
| 55 | +pv.NrTexts OriginalNr, |
| 56 | +pv.PackageId |
| 57 | +FROM {databaseOwner}{objectQualifier}Connect_LPM_PackageVersionLocaleTextCounts tc |
| 58 | +INNER JOIN {databaseOwner}{objectQualifier}Connect_LPM_PackageVersions pv ON pv.PackageVersionId=tc.PackageVersionId |
| 59 | +GO |
| 60 | + |
| 61 | +IF EXISTS (SELECT * FROM sys.views WHERE object_id = OBJECT_ID(N'{databaseOwner}{objectQualifier}vw_Connect_LPM_PackageVersions')) |
| 62 | +DROP VIEW {databaseOwner}{objectQualifier}vw_Connect_LPM_PackageVersions |
| 63 | +GO |
| 64 | + |
| 65 | +SET ANSI_NULLS ON |
| 66 | +GO |
| 67 | +SET QUOTED_IDENTIFIER ON |
| 68 | +GO |
| 69 | +CREATE VIEW {databaseOwner}{objectQualifier}vw_Connect_LPM_PackageVersions |
| 70 | +AS |
| 71 | +SELECT |
| 72 | + pv.*, |
| 73 | + p.PackageName, |
| 74 | + p.FriendlyName, |
| 75 | + p.PackageType, |
| 76 | + pl.Name PackageLinkName, |
| 77 | + pl.LastChecked, |
| 78 | + pl.ModuleId, |
| 79 | + m.PortalID |
| 80 | +FROM {databaseOwner}{objectQualifier}Connect_LPM_PackageVersions pv |
| 81 | +INNER JOIN {databaseOwner}{objectQualifier}Connect_LPM_Packages p ON p.PackageId=pv.PackageId |
| 82 | +INNER JOIN {databaseOwner}{objectQualifier}Connect_LPM_PackageLinks pl ON pl.PackageLinkId=p.LinkId |
| 83 | +INNER JOIN {databaseOwner}{objectQualifier}Modules m ON m.ModuleID=pl.ModuleId |
| 84 | +GO |
| 85 | + |
| 86 | +IF EXISTS (SELECT * FROM sys.views WHERE object_id = OBJECT_ID(N'{databaseOwner}{objectQualifier}vw_Connect_LPM_Texts')) |
| 87 | +DROP VIEW {databaseOwner}{objectQualifier}vw_Connect_LPM_Texts |
| 88 | +GO |
| 89 | + |
| 90 | +SET ANSI_NULLS ON |
| 91 | +GO |
| 92 | +SET QUOTED_IDENTIFIER ON |
| 93 | +GO |
| 94 | +CREATE VIEW {databaseOwner}{objectQualifier}vw_Connect_LPM_Texts |
| 95 | +AS |
| 96 | +SELECT |
| 97 | + t.*, |
| 98 | + rf.FilePath, |
| 99 | + pv.PackageId, |
| 100 | + pv.Version FirstInVersion, |
| 101 | + ISNULL(pve.Version, '99.99.99') DeprecatedInVersion |
| 102 | +FROM {databaseOwner}{objectQualifier}Connect_LPM_Texts t |
| 103 | +INNER JOIN {databaseOwner}{objectQualifier}Connect_LPM_PackageVersions pv ON pv.PackageVersionId=t.PackageVersionId |
| 104 | +LEFT JOIN {databaseOwner}{objectQualifier}Connect_LPM_PackageVersions pve ON pve.PackageVersionId=t.DeprecatedInVersionId |
| 105 | +INNER JOIN {databaseOwner}{objectQualifier}Connect_LPM_ResourceFiles rf ON rf.ResourceFileId=t.ResourceFileId |
| 106 | +GO |
| 107 | + |
| 108 | +IF EXISTS (SELECT * FROM sys.views WHERE object_id = OBJECT_ID(N'{databaseOwner}{objectQualifier}vw_Connect_LPM_Translations')) |
| 109 | +DROP VIEW {databaseOwner}{objectQualifier}vw_Connect_LPM_Translations |
| 110 | +GO |
| 111 | + |
| 112 | +SET ANSI_NULLS ON |
| 113 | +GO |
| 114 | +SET QUOTED_IDENTIFIER ON |
| 115 | +GO |
| 116 | +CREATE VIEW {databaseOwner}{objectQualifier}vw_Connect_LPM_Translations |
| 117 | +AS |
| 118 | +SELECT |
| 119 | + pv.PackageId, |
| 120 | + tr.*, |
| 121 | + rf.FilePath, |
| 122 | + t.TextKey, |
| 123 | + pv.Version FirstInVersion, |
| 124 | + ISNULL(pve.Version, '99.99.99') DeprecatedInVersion, |
| 125 | + cu.DisplayName CreatedByUser, |
| 126 | + mu.DisplayName ModifiedByUser |
| 127 | +FROM {databaseOwner}{objectQualifier}Connect_LPM_Translations tr |
| 128 | +INNER JOIN {databaseOwner}{objectQualifier}Connect_LPM_Texts t ON t.TextId=tr.TextId |
| 129 | +INNER JOIN {databaseOwner}{objectQualifier}Connect_LPM_PackageVersions pv ON pv.PackageVersionId=t.PackageVersionId |
| 130 | +INNER JOIN {databaseOwner}{objectQualifier}Connect_LPM_ResourceFiles rf ON rf.ResourceFileId=t.ResourceFileId |
| 131 | +LEFT JOIN {databaseOwner}{objectQualifier}Connect_LPM_PackageVersions pve ON pve.PackageVersionId=t.DeprecatedInVersionId |
| 132 | +LEFT JOIN {databaseOwner}{objectQualifier}Users cu ON cu.UserID=tr.CreatedByUserID |
| 133 | +LEFT JOIN {databaseOwner}{objectQualifier}Users mu ON mu.UserID=tr.LastModifiedByUserID |
| 134 | +GO |
| 135 | + |
| 136 | +/******* SPROCS *******/ |
| 137 | +IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'{databaseOwner}{objectQualifier}Connect_LPM_GetLastEditTime') AND type in (N'P', N'PC')) |
| 138 | +DROP PROCEDURE {databaseOwner}{objectQualifier}Connect_LPM_GetLastEditTime |
| 139 | +GO |
| 140 | + |
| 141 | +SET ANSI_NULLS ON |
| 142 | +GO |
| 143 | +SET QUOTED_IDENTIFIER ON |
| 144 | +GO |
| 145 | +CREATE PROCEDURE {databaseOwner}{objectQualifier}Connect_LPM_GetLastEditTime |
| 146 | +@PackageId INT, |
| 147 | +@Version VARCHAR(10), |
| 148 | +@LocaleMain INT, |
| 149 | +@LocaleSpecific INT |
| 150 | +AS |
| 151 | +SELECT TOP 1 |
| 152 | + t.LastModifiedOnDate |
| 153 | +FROM {databaseOwner}{objectQualifier}vw_Connect_LPM_Translations t |
| 154 | +WHERE t.PackageId=@PackageId |
| 155 | +AND t.FirstInVersion <= @Version |
| 156 | +AND @Version < t.DeprecatedInVersion |
| 157 | +AND (t.Locale=@LocaleMain OR t.Locale=@LocaleSpecific) |
| 158 | +ORDER BY t.LastModifiedOnDate DESC |
| 159 | +GO |
| 160 | + |
| 161 | +IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'{databaseOwner}{objectQualifier}Connect_LPM_GetPack') AND type in (N'P', N'PC')) |
| 162 | +DROP PROCEDURE {databaseOwner}{objectQualifier}Connect_LPM_GetPack |
| 163 | +GO |
| 164 | + |
| 165 | +SET ANSI_NULLS ON |
| 166 | +GO |
| 167 | +SET QUOTED_IDENTIFIER ON |
| 168 | +GO |
| 169 | +CREATE PROCEDURE {databaseOwner}{objectQualifier}Connect_LPM_GetPack |
| 170 | +@PackageId INT, |
| 171 | +@Version VARCHAR(10), |
| 172 | +@LocaleGeneric INT, |
| 173 | +@LocaleSpecific INT |
| 174 | +AS |
| 175 | +SELECT |
| 176 | +* |
| 177 | +FROM |
| 178 | +(SELECT |
| 179 | + txt.FilePath, |
| 180 | + txt.TextKey, |
| 181 | + ISNULL(trs.TextValue, trg.TextValue) TextValue |
| 182 | +FROM {databaseOwner}{objectQualifier}vw_Connect_LPM_Texts txt |
| 183 | +LEFT JOIN {databaseOwner}{objectQualifier}Connect_LPM_Translations trg ON trg.TextId=txt.TextId AND trg.Locale=@LocaleGeneric |
| 184 | +LEFT JOIN {databaseOwner}{objectQualifier}Connect_LPM_Translations trs ON trs.TextId=txt.TextId AND trs.Locale=@LocaleSpecific |
| 185 | +WHERE txt.PackageId=@PackageId |
| 186 | +AND txt.FirstInVersion <= @Version |
| 187 | +AND @Version < txt.DeprecatedInVersion) x |
| 188 | +WHERE NOT x.TextValue IS NULL |
| 189 | +ORDER BY FilePath, TextKey |
| 190 | +GO |
| 191 | + |
| 192 | +IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'{databaseOwner}{objectQualifier}Connect_LPM_RefreshLocaleTextCount') AND type in (N'P', N'PC')) |
| 193 | +DROP PROCEDURE {databaseOwner}{objectQualifier}Connect_LPM_RefreshLocaleTextCount |
| 194 | +GO |
| 195 | + |
| 196 | +SET ANSI_NULLS ON |
| 197 | +GO |
| 198 | +SET QUOTED_IDENTIFIER ON |
| 199 | +GO |
| 200 | +CREATE PROCEDURE {databaseOwner}{objectQualifier}Connect_LPM_RefreshLocaleTextCount |
| 201 | +@LocaleId INT |
| 202 | +AS |
| 203 | +DELETE FROM {databaseOwner}{objectQualifier}Connect_LPM_PackageVersionLocaleTextCounts |
| 204 | +WHERE LocaleId=@LocaleId; |
| 205 | +INSERT INTO {databaseOwner}{objectQualifier}Connect_LPM_PackageVersionLocaleTextCounts |
| 206 | + ([PackageVersionId] |
| 207 | + ,[LocaleId] |
| 208 | + ,[NrTexts]) |
| 209 | +SELECT |
| 210 | +pv.PackageVersionId, |
| 211 | +loc.LocaleId, |
| 212 | +(SELECT COUNT(txt.TextId) |
| 213 | +FROM {databaseOwner}{objectQualifier}vw_Connect_LPM_Texts txt |
| 214 | +LEFT JOIN {databaseOwner}{objectQualifier}Connect_LPM_Translations trg ON txt.TextId=trg.TextId AND trg.Locale=loc.GenericLocaleId |
| 215 | +LEFT JOIN {databaseOwner}{objectQualifier}Connect_LPM_Translations trs ON txt.TextId=trs.TextId AND trs.Locale=loc.LocaleId |
| 216 | +WHERE txt.PackageId=pv.PackageId |
| 217 | +AND txt.FirstInVersion <= pv.Version |
| 218 | +AND pv.Version < txt.DeprecatedInVersion |
| 219 | +AND NOT ISNULL(trg.TextValue, trs.TextValue) IS NULL) NrTexts |
| 220 | +FROM {databaseOwner}{objectQualifier}vw_Connect_LPM_PackageVersions pv |
| 221 | +INNER JOIN {databaseOwner}{objectQualifier}Connect_LPM_Locales loc ON loc.LocaleId=@LocaleId; |
| 222 | +GO |
| 223 | + |
| 224 | +IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'{databaseOwner}{objectQualifier}Connect_LPM_RefreshNrTexts') AND type in (N'P', N'PC')) |
| 225 | +DROP PROCEDURE {databaseOwner}{objectQualifier}Connect_LPM_RefreshNrTexts |
| 226 | +GO |
| 227 | + |
| 228 | +SET ANSI_NULLS ON |
| 229 | +GO |
| 230 | +SET QUOTED_IDENTIFIER ON |
| 231 | +GO |
| 232 | +CREATE PROCEDURE {databaseOwner}{objectQualifier}Connect_LPM_RefreshNrTexts |
| 233 | +AS |
| 234 | +UPDATE {databaseOwner}{objectQualifier}Connect_LPM_PackageVersions |
| 235 | +SET NrTexts=x.NrTexts |
| 236 | +FROM {databaseOwner}{objectQualifier}Connect_LPM_PackageVersions pv1 |
| 237 | +INNER JOIN |
| 238 | +(SELECT |
| 239 | +pv.PackageVersionId, |
| 240 | +(SELECT COUNT(txt.TextId) |
| 241 | +FROM {databaseOwner}{objectQualifier}vw_Connect_LPM_Texts txt |
| 242 | +WHERE txt.PackageId=pv.PackageId |
| 243 | +AND txt.FirstInVersion <= pv.Version |
| 244 | +AND pv.Version < txt.DeprecatedInVersion) NrTexts |
| 245 | +FROM {databaseOwner}{objectQualifier}vw_Connect_LPM_PackageVersions pv) x ON x.PackageVersionId=pv1.PackageVersionId; |
| 246 | +DELETE FROM {databaseOwner}{objectQualifier}Connect_LPM_PackageVersionLocaleTextCounts; |
| 247 | +INSERT INTO {databaseOwner}{objectQualifier}Connect_LPM_PackageVersionLocaleTextCounts |
| 248 | +([PackageVersionId],[LocaleId],[NrTexts]) |
| 249 | +SELECT |
| 250 | +pv.PackageVersionId, |
| 251 | +loc.LocaleId, |
| 252 | +(SELECT COUNT(txt.TextId) |
| 253 | +FROM {databaseOwner}{objectQualifier}vw_Connect_LPM_Texts txt |
| 254 | +LEFT JOIN {databaseOwner}{objectQualifier}Connect_LPM_Translations trg ON txt.TextId=trg.TextId AND trg.Locale=loc.GenericLocaleId |
| 255 | +LEFT JOIN {databaseOwner}{objectQualifier}Connect_LPM_Translations trs ON txt.TextId=trs.TextId AND trs.Locale=loc.LocaleId |
| 256 | +WHERE txt.PackageId=pv.PackageId |
| 257 | +AND txt.FirstInVersion <= pv.Version |
| 258 | +AND pv.Version < txt.DeprecatedInVersion |
| 259 | +AND NOT ISNULL(trg.TextValue, trs.TextValue) IS NULL) NrTexts |
| 260 | +FROM {databaseOwner}{objectQualifier}vw_Connect_LPM_PackageVersions pv |
| 261 | +INNER JOIN {databaseOwner}{objectQualifier}Connect_LPM_Locales loc ON 1=1 |
| 262 | +WHERE NOT loc.GenericLocaleId IS NULL; |
| 263 | +GO |
| 264 | + |
| 265 | +IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'{databaseOwner}{objectQualifier}Connect_LPM_SetTranslation') AND type in (N'P', N'PC')) |
| 266 | +DROP PROCEDURE {databaseOwner}{objectQualifier}Connect_LPM_SetTranslation |
| 267 | +GO |
| 268 | + |
| 269 | +SET ANSI_NULLS ON |
| 270 | +GO |
| 271 | +SET QUOTED_IDENTIFIER ON |
| 272 | +GO |
| 273 | +CREATE PROCEDURE {databaseOwner}{objectQualifier}Connect_LPM_SetTranslation |
| 274 | + @TextId INT, |
| 275 | + @Locale INT, |
| 276 | + @TextValue NVARCHAR(MAX), |
| 277 | + @UserId INT |
| 278 | +AS |
| 279 | +IF EXISTS (SELECT * FROM {databaseOwner}{objectQualifier}Connect_LPM_Translations WHERE TextId=@TextId AND Locale=@Locale) |
| 280 | +BEGIN |
| 281 | + IF NOT EXISTS (SELECT * FROM {databaseOwner}{objectQualifier}Connect_LPM_Translations WHERE TextId=@TextId AND Locale=@Locale AND TextValue=@TextValue) |
| 282 | + UPDATE {databaseOwner}{objectQualifier}Connect_LPM_Translations |
| 283 | + SET TextValue=@TextValue, LastModifiedByUserID=@UserId, LastModifiedOnDate=GETDATE() |
| 284 | + WHERE TextId=@TextId AND Locale=@Locale |
| 285 | +END |
| 286 | +ELSE |
| 287 | +BEGIN |
| 288 | +INSERT INTO {databaseOwner}{objectQualifier}Connect_LPM_Translations |
| 289 | + ([TextId] |
| 290 | + ,[Locale] |
| 291 | + ,[TextValue] |
| 292 | + ,[CreatedByUserID] |
| 293 | + ,[CreatedOnDate] |
| 294 | + ,[LastModifiedByUserID] |
| 295 | + ,[LastModifiedOnDate]) |
| 296 | +VALUES |
| 297 | + (@TextId, @Locale, @TextValue, @UserId, GETDATE(), @UserId, GETDATE()) |
| 298 | +END |
| 299 | +GO |
| 300 | + |
0 commit comments