public ReleaseDetail GetRelease(ReleaseCriteria criteria) { using (var uow = UnitOfWorkFactory.Create <NovelContext>()) { var service = new ReleaseService(uow); var detail = service.Get(criteria); detail.Series = service.View <Series>().Where(w => w.ID == detail.SeriesID).SingleOrDefault() ?? new Series(); detail.Group = service.View <Group>().Where(w => w.ID == detail.GroupID).SingleOrDefault() ?? new Group(); detail.Summarize = service.View <Summarize>().Where(w => w.SourceTable == R.SourceTable.RELEASE && w.SourceID == detail.ID).SingleOrDefault() ?? new Summarize(); // get data for user lists detail.Connectors = service.View <Connector>().Where(w => w.IsDeleted == false && w.SourceID == detail.SeriesID).ToList(); detail.UserLists = service.View <UserList>().Where(w => w.IsDeleted == false && w.UserID == criteria.ByUserID) .OrderBy(o => o.Priority == 0 ? int.MaxValue : o.Priority).ThenBy(o => o.Name).ToList(); detail.UserAction = new UserActionFacade().Get(new ViewForm { UserID = criteria.ByUserID, SourceID = detail.ID, SourceTable = R.SourceTable.RELEASE }); detail.Sticky = service.View <Sticky>().Where(w => w.SourceID == detail.ID && w.SourceTable == R.SourceTable.RELEASE).SingleOrDefault() ?? new Sticky(); return(detail); } }
public ActionResult Detail(ReleaseCriteria criteria) { criteria.ByUserID = UserSession.UserID; var detail = Facade <SeriesFacade>().GetRelease(criteria); // log views var viewForm = new ViewForm { UserID = criteria.ByUserID, SourceID = detail.ID, SourceTable = R.SourceTable.RELEASE }; Facade <UserActionFacade>().Viewing(viewForm); return(View(detail)); }
public IList <Release> SearchRelease(ReleaseCriteria criteria) { using (var uow = UnitOfWorkFactory.Create <NovelContext>()) { var qRelease = uow.Repository <Release>().All(); if (!string.IsNullOrWhiteSpace(criteria.Query)) { qRelease = qRelease.Where(w => w.Title.Contains(criteria.Query)); } return(qRelease.ToList()); } }
// GET: Release public ActionResult Index(ReleaseCriteria criteria) { var searchModel = CreateSearchModel(criteria); var pagedList = Facade <SearchFacade>().Search(searchModel); // alternative version if (!string.IsNullOrWhiteSpace(criteria.Alt)) { var feedItems = pagedList.Data.Select(s => new FeedGrid() { InsertedDate = s.InsertedDate, UpdatedDate = s.UpdatedDate, Title = s.Title, Url = Url.Action("Detail", "Release", new { ID = s.ID, Seo = s.PrettyTitle.ToSeo() }), }); return(FeedGenerator(feedItems, criteria.Alt)); } return(View(pagedList)); }
public JsonResult Release(ReleaseCriteria criteria) { var results = Facade <QueryFacade>().SearchRelease(criteria); return(Json(results, JsonRequestBehavior.AllowGet)); }