public void GetParam_TypeFrequentUpdateIsItemTrue_ReturnsDictionaryEmpty() { // Arrange var analyticsData = new AnalyticsData(CreateXml(true), AnalyticsType.Frequent, AnalyticsAction.Update); // Act var actualResult = FRFQueryParamFactory.GetParam(analyticsData); // Assert actualResult.ShouldBeEmpty(); }
public void GetParam_TypeFavoriteUpdate_ReturnsDictionaryEmpty() { // Arrange var analyticsData = new AnalyticsData(CreateXml(false), AnalyticsType.Favorite, AnalyticsAction.Update); // Act var actualResult = FRFQueryParamFactory.GetParam(analyticsData); // Assert actualResult.ShouldBeEmpty(); }
public void GetParam_TypeFavoriteReadIsItemFalse_ReturnsDictionary() { // Arrange var analyticsData = new AnalyticsData(CreateXml(false), AnalyticsType.Favorite, AnalyticsAction.Read); // Act var actualResult = FRFQueryParamFactory.GetParam(analyticsData); // Assert this.ShouldSatisfyAllConditions( () => actualResult.Count.ShouldBe(4), () => actualResult[SiteIdParamName].ShouldBe(SiteIdGuid), () => actualResult[WebIdParamName].ShouldBe(WebIdGuid), () => actualResult[UserIdParamName].ShouldBe(UserIdInt), () => actualResult[FStringParamName].ShouldBe(DummyString)); }
public void GetParam_TypeFrequentCreate_ReturnsDictionary() { // Arrange var analyticsData = new AnalyticsData(CreateXml(true), AnalyticsType.Frequent, AnalyticsAction.Create); // Act var actualResult = FRFQueryParamFactory.GetParam(analyticsData); // Assert this.ShouldSatisfyAllConditions( () => actualResult.Count.ShouldBe(6), () => actualResult[SiteIdParamName].ShouldBe(SiteIdGuid), () => actualResult[WebIdParamName].ShouldBe(WebIdGuid), () => actualResult[ListIdParamName].ShouldBe(ListIdGuid), () => actualResult[UserIdParamName].ShouldBe(UserIdInt), () => actualResult[IconParamName].ShouldBe(DummyIconName), () => actualResult[TitleParamName].ShouldBe(DummyTitle)); }
public void GetParam_TypeFavoriteWorkspaceDeleteIsItemTrue_ReturnsDictionary() { // Arrange var analyticsData = new AnalyticsData(CreateXml(true), AnalyticsType.FavoriteWorkspace, AnalyticsAction.Delete); // Act var actualResult = FRFQueryParamFactory.GetParam(analyticsData); // Assert this.ShouldSatisfyAllConditions( () => actualResult.Count.ShouldBe(7), () => actualResult[SiteIdParamName].ShouldBe(SiteIdGuid), () => actualResult[WebIdParamName].ShouldBe(WebIdGuid), () => actualResult[ListIdParamName].ShouldBe(ListIdGuid), () => actualResult[ItemIdParamName].ShouldBe(ItemIdInt), () => actualResult[FStringParamName].ShouldBe(DummyString), () => actualResult[UserIdParamName].ShouldBe(UserIdInt), () => actualResult[TitleParamName].ShouldBe(DummyTitle)); }
public override void WebDeleting(SPWebEventProperties properties) { try { var sParentItem = properties.Web.AllProperties["ParentItem"]; var sColl = sParentItem.ToString().Split(new string[] { "^^" }, StringSplitOptions.RemoveEmptyEntries); var webid = sColl[0]; var listid = sColl[1]; var itemid = sColl[2]; var sIsItem = (new Guid(listid) != Guid.Empty) ? "true" : "false"; var bIsItem = (new Guid(listid) != Guid.Empty); var xml = "<Data><Param key=\"SiteId\">" + properties.SiteId + "</Param>" + "<Param key=\"WebId\">" + properties.Web.ID + "</Param>" + "<Param key=\"ItemId\">" + itemid + "</Param>" + "<Param key=\"FString\">" + properties.Web.ServerRelativeUrl + "</Param>" + "<Param key=\"Type\">4</Param>" + "<Param key=\"UserId\">" + properties.Web.CurrentUser.ID + "</Param>" + "<Param key=\"IsItem\">" + sIsItem + "</Param></Data>"; var data = new AnalyticsData(xml, AnalyticsType.FavoriteWorkspace, AnalyticsAction.Delete); var qExec = new QueryExecutor(properties.Web); qExec.ExecuteEpmLiveQuery( FRFQueryFactory.GetQuery(data), FRFQueryParamFactory.GetParam(data)); qExec.ExecuteReportingDBNonQuery( "DELETE FROM RPTWeb WHERE [WebId]=@webid", new Dictionary <string, object>() { { "@webid", properties.WebId } }); qExec.ExecuteReportingDBNonQuery( "DELETE FROM [RPTWEBGROUPS] WHERE [WEBID] NOT IN (SELECT [WebId] FROM [RPTWeb])", new Dictionary <string, object>()); if (bIsItem) { // remove the parent item's workspaceurl field value // so the workspace icon doesn't show up in grid try { SPSecurity.RunWithElevatedPrivileges(delegate { using (var s = new SPSite(properties.SiteId)) { using (var w = s.OpenWeb(new Guid(webid))) { w.AllowUnsafeUpdates = true; var l = w.Lists[new Guid(listid)]; var i = l.GetItemById(int.Parse(itemid)); i["WorkspaceUrl"] = null; i.SystemUpdate(); // var dt = qExec.ExecuteReportingDBQuery( // "SELECT [TableName] FROM [RPTList] WHERE RPTListId = '" + l.ID + "'", new Dictionary<string, object>()); // if (dt != null && dt.Rows.Cast<DataRow>().Any()) // { // var sRptTblName = dt.Rows[0][0].ToString(); // var sDelWsUrlQuery = // @"IF EXISTS (select * from INFORMATION_SCHEMA.COLUMNS where table_name = '" + sRptTblName + @"' and column_name = 'WorkspaceUrl') // BEGIN // UPDATE " + sRptTblName + @" SET [WorkspaceUrl] = NULL WHERE [ListId] = '" + listid + @"' AND [ItemId] = " + itemid + @" // END"; // qExec.ExecuteReportingDBNonQuery(sDelWsUrlQuery, new Dictionary<string, object>()); // } } } }); } catch { } } CacheStore.Current.RemoveSafely(properties.Web.Url, new CacheStoreCategory(properties.Web).Navigation); } catch { } }