Example #1
0
 public List <TransitDiscussion> GetDiscussions(string ticket, ServiceQueryOptions options)
 {
     ICriterion[] expressions = { Expression.Eq("Personal", false) };
     Order[]      orders      = { Order.Desc("Modified") };
     return(WebServiceImpl <TransitDiscussion, ManagedDiscussion, Discussion> .GetList(
                ticket, options, expressions, orders));
 }
Example #2
0
 public List <TransitAccountGroup> GetPublicAccountGroups(string ticket, ServiceQueryOptions options)
 {
     ICriterion[] expressions = { Expression.Eq("IsPrivate", false) };
     Order[]      orders      = { Order.Desc("Created") };
     return(WebServiceImpl <TransitAccountGroup, ManagedAccountGroup, AccountGroup> .GetList(
                ticket, options, expressions, orders));
 }
Example #3
0
 public List <TransitAccountStory> GetAllAccountStories(string ticket, ServiceQueryOptions options)
 {
     ICriterion[] expressions = { Expression.Eq("Publish", true) };
     Order[]      orders      = { Order.Desc("Created") };
     return(WebServiceImpl <TransitAccountStory, ManagedAccountStory, AccountStory> .GetList(
                ticket, options, expressions, orders));
 }
Example #4
0
 public List <TransitAccountLicense> GetAccountLicenses(string ticket, int id, ServiceQueryOptions options)
 {
     ICriterion[] expressions = { Expression.Eq("Account.Id", id) };
     Order[]      orders      = { Order.Desc("Created") };
     return(WebServiceImpl <TransitAccountLicense, ManagedAccountLicense, AccountLicense> .GetList(
                ticket, options, expressions, orders));
 }
Example #5
0
 public List <TransitDiscussionPost> GetLatestDiscussionPostsById(string ticket, int id, ServiceQueryOptions options)
 {
     return(WebServiceImpl <TransitDiscussionPost, ManagedDiscussionPost, DiscussionPost> .GetList(
                ticket, options, string.Format(
                    "SELECT DiscussionPost FROM DiscussionPost DiscussionPost WHERE DiscussionPost.DiscussionThread.Discussion.Id = {0}" +
                    " ORDER BY DiscussionPost.Sticky DESC, DiscussionPost.Created DESC", id)));
 }
Example #6
0
 public List <TransitState> GetStatesByCountryId(string ticket, int id, ServiceQueryOptions options)
 {
     ICriterion[] expressions = { Expression.Eq("Country.Id", id) };
     Order[]      orders      = { Order.Asc("Name") };
     return(WebServiceImpl <TransitState, ManagedState, State> .GetList(
                ticket, options, expressions, orders));
 }
Example #7
0
 public List <TransitAccountGroupAccount> GetPublicAccountGroupAccountsByAccountId(string ticket, int accountid, ServiceQueryOptions options)
 {
     return(WebServiceImpl <TransitAccountGroupAccount, ManagedAccountGroupAccount, AccountGroupAccount> .GetList(
                ticket, options, string.Format("SELECT AccountGroupAccount FROM AccountGroupAccount AccountGroupAccount " +
                                               "WHERE AccountGroupAccount.Account.Id = {0} AND AccountGroupAccount.AccountGroup.IsPrivate = 0 " +
                                               "ORDER BY AccountGroupAccount.Created DESC", accountid)));
 }
Example #8
0
 public List <TransitBugNote> GetBugNotes(string ticket, int bug_id, ServiceQueryOptions options)
 {
     ICriterion[] expressions = { Expression.Eq("Bug.Id", bug_id) };
     Order[]      orders      = { Order.Desc("Modified") };
     return(WebServiceImpl <TransitBugNote, ManagedBugNote, BugNote> .GetList(
                ticket, options, expressions, orders));
 }
Example #9
0
        public List <TransitAccount> SearchTagWordAccounts(string ticket, string search, ServiceQueryOptions options)
        {
            MatchCollection mc = Regex.Matches(search, @"\w+");

            if (mc.Count == 0)
            {
                return(null);
            }

            StringBuilder query = new StringBuilder();

            query.Append("SELECT DISTINCT acct FROM Account acct, TagWordAccount twa");
            query.Append(" WHERE acct.Id = twa.AccountId AND (");
            StringBuilder subquery = new StringBuilder();

            foreach (Match m in mc)
            {
                if (subquery.Length > 0)
                {
                    subquery.Append(" OR ");
                }

                subquery.Append(string.Format("twa.TagWord.Word LIKE '%{0}%'", m.Value.ToLower()));
            }
            query.Append(subquery);
            query.Append(") ORDER BY acct.LastLogin DESC");

            return(WebServiceImpl <TransitAccount, ManagedAccount, Account> .GetList(
                       ticket, options, query.ToString()));
        }
Example #10
0
 public List <TransitBug> GetBugs(string ticket, int project_id, ServiceQueryOptions options)
 {
     ICriterion[] expressions = { Expression.Eq("Project.Id", project_id) };
     Order[]      orders      = { Order.Desc("Created") };
     return(WebServiceImpl <TransitBug, ManagedBug, Bug> .GetList(
                ticket, options, expressions, orders));
 }
Example #11
0
        public List <TransitDiscussionPost> SearchDiscussionPostsById(string ticket, int id, string s, ServiceQueryOptions options)
        {
            if (string.IsNullOrEmpty(s))
            {
                return(new List <TransitDiscussionPost>());
            }

            int maxsearchresults = 128;

            using (SnCore.Data.Hibernate.Session.OpenConnection())
            {
                ISession session = SnCore.Data.Hibernate.Session.Current;
                maxsearchresults = ManagedConfiguration.GetValue(session, "SnCore.MaxSearchResults", 128);
            }

            return(WebServiceImpl <TransitDiscussionPost, ManagedDiscussionPost, DiscussionPost> .GetList(
                       ticket, options, "SELECT {DiscussionPost.*} FROM DiscussionThread t, Discussion d, DiscussionPost {DiscussionPost}" +
                       " INNER JOIN FREETEXTTABLE(DiscussionPost, ([Subject], [Body]), '" + Renderer.SqlEncode(s) + "', " +
                       maxsearchresults.ToString() + ") AS ft " +
                       " ON DiscussionPost.DiscussionPost_Id = ft.[KEY] " +
                       " WHERE t.Discussion_Id = d.Discussion_Id" +
                       " AND t.DiscussionThread_Id = DiscussionPost.DiscussionThread_Id" +
                       " AND d.Discussion_Id = " + id.ToString() +
                       " ORDER BY ft.[RANK] DESC",
                       "DiscussionPost"));
        }
Example #12
0
 public List <TransitNeighborhood> GetNeighborhoodsByCityId(string ticket, int id, ServiceQueryOptions options)
 {
     ICriterion[] expressions = { Expression.Eq("City.Id", id) };
     Order[]      orders      = { Order.Asc("Name") };
     return(WebServiceImpl <TransitNeighborhood, ManagedNeighborhood, Neighborhood> .GetList(
                ticket, options, expressions, orders));
 }
Example #13
0
        public List <TransitAccountFeedItem> SearchAccountFeedItems(string ticket, string s, ServiceQueryOptions options)
        {
            if (string.IsNullOrEmpty(s))
            {
                return(new List <TransitAccountFeedItem>());
            }

            int maxsearchresults = 128;

            using (SnCore.Data.Hibernate.Session.OpenConnection())
            {
                ISession session = SnCore.Data.Hibernate.Session.Current;
                maxsearchresults = ManagedConfiguration.GetValue(session, "SnCore.MaxSearchResults", 128);
            }

            StringBuilder query = new StringBuilder();

            query.Append("SELECT {AccountFeedItem.*} FROM AccountFeedItem {AccountFeedItem}");
            query.AppendFormat(" INNER JOIN FREETEXTTABLE(AccountFeedItem, ([Title], [Description]), '{0}', {1}) as ft ", Renderer.SqlEncode(s), maxsearchresults);
            query.Append(" ON AccountFeedItem.AccountFeedItem_Id = ft.[KEY] ");
            query.Append(" ORDER BY ft.[RANK] DESC");

            return(WebServiceImpl <TransitAccountFeedItem, ManagedAccountFeedItem, AccountFeedItem> .GetList(
                       ticket, options, query.ToString(), "AccountFeedItem"));
        }
Example #14
0
 public List <TransitDiscussionPost> GetDiscussionThreadPostsByOrder(string ticket, int id, ServiceQueryOptions options)
 {
     ICriterion[] expressions = { Expression.Eq("DiscussionThread.Id", id) };
     Order[]      orders      = { Order.Desc("Sticky"), Order.Desc("Created") };
     return(WebServiceImpl <TransitDiscussionPost, ManagedDiscussionPost, DiscussionPost> .GetList(
                ticket, options, expressions, orders));
 }
Example #15
0
        public List <TransitAccountStory> SearchAccountStories(string ticket, string s, ServiceQueryOptions options)
        {
            if (string.IsNullOrEmpty(s))
            {
                return(new List <TransitAccountStory>());
            }

            int maxsearchresults = 128;

            using (SnCore.Data.Hibernate.Session.OpenConnection())
            {
                ISession session = SnCore.Data.Hibernate.Session.Current;
                maxsearchresults = ManagedConfiguration.GetValue(session, "SnCore.MaxSearchResults", 128);
            }

            StringBuilder query = new StringBuilder();

            query.Append("SELECT {AccountStory.*} FROM AccountStory {AccountStory}");
            query.Append(" INNER JOIN FREETEXTTABLE(AccountStory, ([Name], [Summary]), '");
            query.Append(Renderer.SqlEncode(s));
            query.AppendFormat("', {0}) AS ft ", maxsearchresults);
            query.Append(" ON AccountStory.AccountStory_Id = ft.[KEY] ");
            query.Append(" WHERE AccountStory.Publish = 1");
            query.Append(" ORDER BY ft.[RANK] DESC");

            return(WebServiceImpl <TransitAccountStory, ManagedAccountStory, AccountStory> .GetList(
                       ticket, options, query.ToString(), "AccountStory"));
        }
Example #16
0
 public List <TransitAccountGroupPicture> GetAccountGroupPictures(string ticket, int groupid, ServiceQueryOptions options)
 {
     ICriterion[] expressions = { Expression.Eq("AccountGroup.Id", groupid) };
     Order[]      orders      = { Order.Asc("Position"), Order.Desc("Created") };
     return(WebServiceImpl <TransitAccountGroupPicture, ManagedAccountGroupPicture, AccountGroupPicture> .GetList(
                ticket, options, expressions, orders));
 }
Example #17
0
 public List <TransitAccountAuditEntry> GetAccountAuditEntriesByAccountId(string ticket, int id, ServiceQueryOptions options)
 {
     ICriterion[] expressions = { Expression.Eq("AccountId", id) };
     Order[]      orders      = { Order.Desc("Updated") };
     return(WebServiceImpl <TransitAccountAuditEntry, ManagedAccountAuditEntry, AccountAuditEntry> .GetList(
                ticket, options, expressions, orders));
 }
Example #18
0
        public List <TransitTagWord> GetTagWords(string ticket, TransitTagWordQueryOptions queryoptions, ServiceQueryOptions options)
        {
            StringBuilder query = new StringBuilder();

            query.Append("SELECT word FROM TagWord word LEFT JOIN word.TagWordAccounts acct");
            query.Append(" GROUP BY word.Id, word.Promoted, word.Excluded, word.Word");
            switch (queryoptions)
            {
            case TransitTagWordQueryOptions.Excluded:
                query.Append(" WHERE Excluded = 1");
                break;

            case TransitTagWordQueryOptions.New:
                query.Append(" WHERE Excluded = 0 and Promoted = 0");
                break;

            case TransitTagWordQueryOptions.Promoted:
                query.Append(" WHERE Promoted = 1");
                break;
            }
            query.Append(" ORDER BY COUNT(acct) DESC");

            return(WebServiceImpl <TransitTagWord, ManagedTagWord, TagWord> .GetList(
                       ticket, options, query.ToString()));
        }
Example #19
0
 public List <TransitRefererAccount> GetRefererAccounts(string ticket, ServiceQueryOptions options)
 {
     return(WebServiceImpl <TransitRefererAccount, ManagedRefererAccount, RefererAccount> .GetList(
                ticket, options, "SELECT {ra.*} FROM RefererAccount {ra}, RefererHost rh" +
                " WHERE ra.RefererHost_Id = rh.RefererHost_Id" +
                " ORDER BY rh.Total DESC", "ra"));
 }
Example #20
0
        public List <TransitBookmark> GetBookmarksWithOptions(string ticket, BookmarkQueryOptions qopt, ServiceQueryOptions options)
        {
            List <TransitBookmark> bookmarks = WebServiceImpl <TransitBookmark, ManagedBookmark, Bookmark> .GetList(
                ticket, null);

            if (qopt != null)
            {
                for (int i = bookmarks.Count - 1; i >= 0; i--)
                {
                    if (qopt.WithFullBitmaps && !bookmarks[i].HasFullBitmap)
                    {
                        bookmarks.RemoveAt(i);
                        continue;
                    }

                    if (qopt.WithLinkedBitmaps && !bookmarks[i].HasLinkBitmap)
                    {
                        bookmarks.RemoveAt(i);
                        continue;
                    }
                }
            }

            if (options != null)
            {
                Collection <TransitBookmark> .ApplyServiceOptions(options.FirstResult, options.PageSize, bookmarks);
            }

            return(bookmarks);
        }
Example #21
0
 public List <TransitCity> GetCitiesByStateId(string ticket, int id, ServiceQueryOptions options)
 {
     ICriterion[] expressions = { Expression.Eq("State.Id", id) };
     Order[]      orders      = { Order.Asc("Name") };
     return(WebServiceImpl <TransitCity, ManagedCity, City> .GetList(
                ticket, options, expressions, orders));
 }
Example #22
0
 public List <TransitDiscussion> GetDiscussionsByObjectId(string ticket, string typename, int id, ServiceQueryOptions options)
 {
     return(WebServiceImpl <TransitDiscussion, ManagedDiscussion, Discussion> .GetList(
                ticket, options, string.Format("SELECT Discussion FROM Discussion Discussion" +
                                               " WHERE Discussion.ObjectId = {0} AND Discussion.DataObject.Name = '{1}'" +
                                               " ORDER BY Discussion.Name ASC",
                                               id, Renderer.SqlEncode(typename))));
 }
Example #23
0
        public List <TransitAccountFriendRequest> GetAccountFriendRequests(string ticket, int id, ServiceQueryOptions options)
        {
            ICriterion[] expressions =
            {
                Expression.Eq("Keen.Id",  id),
                Expression.Eq("Rejected", false)
            };

            return(WebServiceImpl <TransitAccountFriendRequest, ManagedAccountFriendRequest, AccountFriendRequest> .GetList(
                       ticket, options, expressions, null));
        }
Example #24
0
        public List <TransitDiscussion> GetAccountDiscussions(string ticket, int id, ServiceQueryOptions options)
        {
            ICriterion[] expressions =
            {
                Expression.Eq("Personal",   false),
                Expression.Eq("Account.Id", id)
            };

            return(WebServiceImpl <TransitDiscussion, ManagedDiscussion, Discussion> .GetList(
                       ticket, options, expressions, null));
        }
Example #25
0
 public List <TransitDiscussionPost> GetDiscussionThreadsByDiscussionId(string ticket, int id, ServiceQueryOptions options)
 {
     return(WebServiceImpl <TransitDiscussionPost, ManagedDiscussionPost, DiscussionPost> .GetList(
                ticket, options,
                "SELECT {Post.*} FROM DiscussionPost {Post}, DiscussionThread Thread, Discussion Discussion" +
                " WHERE Post.DiscussionThread_Id = Thread.DiscussionThread_Id" +
                " AND Thread.Discussion_Id = Discussion.Discussion_Id" +
                " AND Discussion.Discussion_Id = " + id.ToString() +
                " AND Post.DiscussionPostParent_Id IS NULL" +
                " ORDER BY Post.Sticky DESC, Thread.Modified DESC",
                "Post"));
 }
Example #26
0
        public List <TransitAccountFriend> GetAccountFriends(string ticket, TransitAccountFriendQueryOptions qopt, ServiceQueryOptions options)
        {
            ManagedAccount account = null;

            using (SnCore.Data.Hibernate.Session.OpenConnection())
            {
                ISession session = SnCore.Data.Hibernate.Session.Current;
                account = new ManagedAccount(session, qopt.AccountId);
            }

            return(WebServiceImpl <TransitAccountFriend, ManagedAccountFriend, AccountFriend> .GetList(
                       ticket, options, qopt.CreateQuery(), account.GetTransformedInstanceFromAccountFriend));
        }
Example #27
0
 public List <TransitAccount> GetActiveAccounts(string ticket, ServiceQueryOptions options)
 {
     return(WebServiceImpl <TransitAccount, ManagedAccount, Account> .GetList(
                ticket, options,
                "SELECT Account FROM Account Account WHERE EXISTS (" +
                " FROM AccountPicture AccountPicture " +
                " WHERE AccountPicture.Account = Account AND AccountPicture.Hidden = 0" +
                ") AND EXISTS (" +
                " FROM AccountEmail AccountEmail " +
                " WHERE AccountEmail.Account = Account AND " +
                " AccountEmail.Verified = 1" +
                ") ORDER BY Account.LastLogin DESC"));
 }
Example #28
0
        public List <TransitBug> GetBugsWithOptions(string ticket, TransitBugQueryOptions qopt, ServiceQueryOptions options)
        {
            string query = null;

            using (SnCore.Data.Hibernate.Session.OpenConnection())
            {
                ISession session = SnCore.Data.Hibernate.Session.Current;
                query = qopt.GetQuery(session);
            }

            return(WebServiceImpl <TransitBug, ManagedBug, Bug> .GetList(
                       ticket, options, query, "Bug"));
        }
Example #29
0
        public List <TransitAccount> FindRefererAccounts(string ticket, string uri, ServiceQueryOptions options)
        {
            string like = string.Format("%{0}%", Renderer.SqlEncode(uri));

            return(WebServiceImpl <TransitAccount, ManagedAccount, Account> .GetList(ticket, options,
                                                                                     "SELECT {Account.*} FROM {Account} WHERE EXISTS ( " +
                                                                                     " SELECT AccountWebsite.AccountWebsite_Id FROM AccountWebsite AccountWebsite " +
                                                                                     " WHERE Account.Account_Id = AccountWebsite.Account_Id AND AccountWebsite.Url LIKE '" + like + "'" +
                                                                                     " ) OR EXISTS (" +
                                                                                     " SELECT AccountFeed.AccountFeed_Id FROM AccountFeed AccountFeed " +
                                                                                     " WHERE Account.Account_Id = AccountFeed.Account_Id " +
                                                                                     " AND ( AccountFeed.LinkUrl LIKE '" + like + "' OR AccountFeed.FeedUrl LIKE '" + like + "')" +
                                                                                     ")", "Account"));
        }
Example #30
0
        public List <TransitAccount> GetTagWordAccountsById(string ticket, int id, ServiceQueryOptions options)
        {
            StringBuilder query = new StringBuilder();

            query.AppendFormat(
                "SELECT acct FROM Account acct, TagWordAccount twa " +
                "WHERE acct.Id = twa.AccountId " +
                "AND twa.TagWord.Id = {0} " +
                "ORDER BY acct.LastLogin DESC",
                id);

            return(WebServiceImpl <TransitAccount, ManagedAccount, Account> .GetList(
                       ticket, options, query.ToString()));
        }