Пример #1
0
        private void CreateOpenTicketsQueryAndProjection()
        {
            var query = _queriesAndProjectionsGenerator.CreateQuery(QueryNames.MyOpenTickets, "Ticket", "SidebarTickets", "Shape", "TitleOnly", true, false);

            string state = string.Format(CultureInfo.InvariantCulture, "<Form><Description></Description><NotEqual>true</NotEqual><StatusType_Id>{0}</StatusType_Id></Form>", StatusRecord.ClosedStatus);

            _queriesAndProjectionsGenerator.CreateFilter(TicketFieldsFilter.CategoryName, TicketFieldsFilter.StatusTypeFilter, state, query.Record.FilterGroups.First());

            // assigned to current user
            state = string.Format(CultureInfo.InvariantCulture, "<Form><Description></Description><AccessType>{0}</AccessType><Users>{1}</Users></Form>", ContentItemPermissionAccessTypes.Assignee, "{LoggedOnUser.Id}");
            _queriesAndProjectionsGenerator.CreateFilter(ContentItemPermissionFilter.CategoryName, ContentItemPermissionFilter.CurrentUserPermissions, state, query.Record.FilterGroups.First());

            _queriesAndProjectionsGenerator.CreateProjection(Consts.SidebarProjectionPortletTemplateType, QueryNames.MyOpenTickets, T(ProjectionNames.MyOpenTicketsProjectionTitle).Text, "Ticket", ItemsPerSidebarPortlet);
        }