示例#1
0
        public IList <Author> SearchAuthor(AuthorCriteria criteria)
        {
            using (var uow = UnitOfWorkFactory.Create <NovelContext>())
            {
                var qAuthor = uow.Repository <Author>().All();

                if (!string.IsNullOrWhiteSpace(criteria.Query))
                {
                    qAuthor = qAuthor.Where(w => w.Name.Contains(criteria.Query));
                }

                return(qAuthor.ToList());
            }
        }
示例#2
0
        public ActionResult Detail(AuthorCriteria criteria)
        {
            criteria.ByUserID = UserSession.UserID;
            var detail = Facade <AuthorFacade>().Get(criteria);

            // log views
            var viewForm = new ViewForm {
                UserID = criteria.ByUserID, SourceID = detail.ID, SourceTable = R.SourceTable.AUTHOR
            };

            Facade <UserActionFacade>().Viewing(viewForm);

            return(View(detail));
        }
示例#3
0
        // GET: Group
        public ActionResult Index(AuthorCriteria criteria)
        {
            var searchModel = CreateSearchModel(criteria);
            var pagedList   = Facade <AuthorFacade>().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.Name,
                    Url          = Url.Action("Detail", "Author", new { ID = s.ID, Seo = s.Name.ToSeo() }),
                });
                return(FeedGenerator(feedItems, criteria.Alt));
            }

            return(View(pagedList));
        }
示例#4
0
        public AuthorDetail Get(AuthorCriteria criteria)
        {
            var qAuthor = View <Author>().All();

            if (criteria.IDToInt > 0)
            {
                qAuthor = qAuthor.Where(w => w.ID == criteria.IDToInt);
            }

            var author = qAuthor.SingleOrDefault();

            if (author == null)
            {
                return(null);
            }

            var detail = new AuthorDetail();

            MapProperty(author, detail);

            return(detail);
        }
示例#5
0
        public AuthorDetail Get(AuthorCriteria criteria)
        {
            using (var uow = UnitOfWorkFactory.Create <NovelContext>())
            {
                var service = new AuthorService(uow);
                var detail  = service.Get(criteria);

                var seriesIDs = service.View <Connector>().Where(w => w.IsDeleted == false && w.ConnectorType == R.ConnectorType.SERIES_AUTHOR && w.TargetID == detail.ID).Select(s => s.SourceID).ToList();
                detail.Series = service.View <Series>().Where(w => seriesIDs.Contains(w.ID)).ToList();

                detail.Releases = service.View <Release>().Where(w => seriesIDs.Contains(w.SeriesID)).ToList();

                detail.Summarize = service.View <Summarize>().Where(w => w.SourceTable == R.SourceTable.AUTHOR && w.SourceID == detail.ID).SingleOrDefault() ?? new Summarize();

                detail.UserAction = new UserActionFacade().Get(new ViewForm {
                    UserID = criteria.ByUserID, SourceID = detail.ID, SourceTable = R.SourceTable.AUTHOR
                });

                detail.Akas = service.View <Aka>().Where(w => w.IsDeleted == false && w.SourceID == detail.ID && w.SourceTable == R.SourceTable.AUTHOR).ToList();

                return(detail);
            }
        }
示例#6
0
        public JsonResult Authors(AuthorCriteria criteria)
        {
            var groupList = Facade <QueryFacade>().SearchAuthor(criteria);

            return(Json(groupList, JsonRequestBehavior.AllowGet));
        }