public ActionResult Index(PagedModel <StaticTextViewModel> pageModel) { pageModel.LoadData(RepositoryFactory.Action <IStaticTextData>().GetAll().OrderByDescending(item => item.PublishDate)); return(ViewWithAjax(pageModel)); }
/// <summary> /// URL: StaticPage/Edit /// </summary> /// <param name="id">The id.</param> /// <returns>Action result.</returns> public ActionResult Edit(Guid id) { return(ViewWithAjax(RepositoryFactory.Action <IStaticTextCrud>().FindByPk(id))); }
/// <summary> /// URL: /Project/Details /// </summary> /// <param name="id">The id.</param> /// <returns>Action result.</returns> public ActionResult Details(string id) { var job = RepositoryFactory.Action <JobAction>().Load("jobs/" + id); return(ViewWithAjax(job)); }
/// <summary> /// Does the job. /// </summary> protected override void DoJob() { // actions declaration var twitterConnection = RepositoryFactory.Action <ITwitterConnection>(); var twitterData = RepositoryFactory.Action <ITwitterStatusAction>(); var searchAction = RepositoryFactory.Action <ISearchAction>(); // token declaration var oAuthToken = new OAuthToken { ConsumerKey = Settings.Twitter.ConsumerKey.Value, ConsumerSecret = Settings.Twitter.ConsumerSecret.Value, Token = Settings.Twitter.Token.Value, TokenSecret = Settings.Twitter.TokenSecret.Value }; var twitterUser = Settings.Twitter.TwitterAccount.Value; // check if token is not valid log if (!twitterConnection.IsTokenValid(oAuthToken)) { Logger.Fatal("Twitter OAuthToken is not valid go to /Admin/Twitter/Authorize to register new one!!"); return; } bool proceedNextPage = false; int currentPage = 0; var statusToStore = new List <TwitterStatus>(); do { var items = twitterConnection.GetStatusesForUser(oAuthToken, twitterUser, currentPage); using (RepositoryFactory.StartUnitOfWork()) { var storedItems = twitterData.GetByTwitterIds(items.Select(status => status.TwitterId)); // add if item not yet stored foreach (var twitterStatus in items) { if (!storedItems.Any(item => item.TwitterId == twitterStatus.TwitterId) && !statusToStore.Any(item => item.TwitterId == twitterStatus.TwitterId)) { statusToStore.Add(twitterStatus); } } ++currentPage; proceedNextPage = items.Length > 0 && storedItems.Length < items.Length; } } while (proceedNextPage); using (var tran = RepositoryFactory.StartTransaction(IoC.Resolve <SearchUpdateContext>())) { foreach (var twitterStatus in statusToStore.OrderByDescending(item => item.TwitterId)) { twitterStatus.Modified = twitterStatus.CreatedDate; twitterStatus.CreatedBy = null; twitterStatus.PublishDate = twitterStatus.CreatedDate; twitterStatus.AreCommentAllowed = false; searchAction.IndexTwitterStatus(tran, twitterData.CreateStatus(twitterStatus)); } tran.Commit(); } Logger.Debug("There were '{0}' new statuses to store for {1}", statusToStore.Count, twitterUser); }
public void Test_save() { using (RepositoryFactory.StartUnitOfWork()) { var item = new RssItemCRUDModel() { FeedItemId = "new", Title = "title_new", Text = "Text_new", Description = "DescriptionNew", Author = "twit_usernew", Url = "url_new", FeedId = _feed.Id, Published = DateTime.Now }; var action = RepositoryFactory.Action <IRssItemAction>(); using (var tran = RepositoryFactory.StartTransaction()) { item = action.Save(item); tran.Commit(); } WaitForIndexing(); var storedItem = SessionFactory <RssItem> .Queryable.First(rssItem => rssItem.FeedItemId == item.FeedItemId); Assert.AreEqual(item.FeedItemId, storedItem.FeedItemId); Assert.AreEqual(item.FeedId, storedItem.RssFeed.Id); Assert.AreEqual(item.Title, storedItem.Title); Assert.AreEqual(item.Text, storedItem.Text); Assert.AreEqual(item.Description, storedItem.Description); Assert.AreEqual(item.Published, storedItem.CreatedDate); Assert.AreEqual(item.Published, storedItem.Modified); Assert.AreEqual(item.Published, storedItem.PublishDate); Assert.AreEqual(item.Author, storedItem.Author); Assert.AreEqual(item.Url, storedItem.Url); Assert.AreEqual(false, storedItem.Hidden); Assert.AreEqual(false, storedItem.AreCommentAllowed); item = new RssItemCRUDModel() { FeedItemId = "change", Title = "title_change", Text = "Text_change", Description = "Descriptionchange", Author = "twit_userchange", Url = "url_change", FeedId = _feed.Id, Published = DateTime.Now }; using (var tran = RepositoryFactory.StartTransaction()) { item = action.Save(item); tran.Commit(); } WaitForIndexing(); storedItem = SessionFactory <RssItem> .Queryable.First(rssItem => rssItem.FeedItemId == item.FeedItemId); Assert.AreEqual(item.FeedItemId, storedItem.FeedItemId); Assert.AreEqual(item.FeedId, storedItem.RssFeed.Id); Assert.AreEqual(item.Title, storedItem.Title); Assert.AreEqual(item.Text, storedItem.Text); Assert.AreEqual(item.Description, storedItem.Description); Assert.AreEqual(item.Published, storedItem.CreatedDate); Assert.AreEqual(item.Published, storedItem.Modified); Assert.AreEqual(item.Published, storedItem.PublishDate); Assert.AreEqual(item.Author, storedItem.Author); Assert.AreEqual(item.Url, storedItem.Url); Assert.AreEqual(false, storedItem.Hidden); Assert.AreEqual(false, storedItem.AreCommentAllowed); } using (RepositoryFactory.StartUnitOfWork()) { var storedItem = SessionFactory <RssItem> .Queryable.First(rssItem => rssItem.FeedItemId == "change"); var id = storedItem.RssFeed.Id; } }