Пример #1
0
        // Search within catalog (browsing)
        public ActionResult BrowseCatalog(int?id, PaginationFormModel p)
        {
            var catId = (id.HasValue) ? id.Value : -1;
            var rec   = GetRecommendations();
            var ic    = new IdComparer();
            var publ  = ReaderManager.Instance.GetPublished(catId).Union(rec).Distinct(ic).OrderByDescending(pb => pb.Rating);
            // get pricing previews
            var medias         = OrderManager.Instance.GetMedias();
            var pricingPreview = new Dictionary <int, Dictionary <string, decimal> >();

            foreach (var pb in publ)
            {
                decimal subscriptionPrice;
                decimal price;
                var     pricing = new Dictionary <string, decimal>();
                foreach (var media in medias)
                {
                    var m = new List <OrderMedia>(new[] { media });
                    OrderManager.Instance.CalculateProductionCost(
                        m,
                        ControllerContext.HttpContext.Application["ProductionCalc"] as XDocument,
                        true,
                        pb.Marketing.BasePrice,
                        out price,
                        out subscriptionPrice);
                    pricing.Add(media.Name, price);
                }
                pricingPreview.Add(pb.Id, pricing);
            }
            ViewBag.PricingPreview = pricingPreview;
            return(PartialView("_BrowseCatalog", publ.AsQueryable().ToPagedList(p.Page, p.PageSize, p.FilterValue, p.FilterName, p.Order, p.Dir)));
        }
Пример #2
0
        public ActionResult ListMember(int groupId, PaginationFormModel p)
        {
            var group = UnitOfWork <ReaderManager>().GetGroup(groupId);

            ViewBag.GroupAdmin  = group.Owner.Id;
            ViewBag.ReaderGroup = group.Id;
            return(PartialView("Member/_ListMembers", group.Members.AsQueryable().ToPagedList(p.Page, p.PageSize, p.FilterValue, p.FilterName, p.Order, p.Dir)));
        }
Пример #3
0
        public ActionResult AllPublishables(PaginationFormModel pg)
        {
            var ids = UnitOfWork <ProjectManager>().GetProjectsWhereUserIsMember(UserName)
                      .Where(p => p.Team.Members.Any(t => t.TeamLead && t.Member.UserName == UserName))
                      .Select(p => p.Id)
                      .ToList();
            List <KeyValuePair <Opus, string> > misses;
            var publishables = UnitOfWork <ProjectManager>().GetPublishables(ids, UserName, out misses);

            return(PartialView("Lists/_Publishables", publishables.AsQueryable().ToPagedList(pg.Page, pg.PageSize, pg.FilterValue, pg.FilterName, pg.Order, pg.Dir)));
        }
Пример #4
0
        public ActionResult ListTeams(PaginationFormModel p)
        {
            var user = Manager <UserManager> .Instance.GetCurrentUser(UserName);

            var members            = UnitOfWork <ProjectManager>().GetTeamMembersOfAllTeamsForUser(user);
            var teamOverviewModels = members as List <TeamOverviewModel> ?? members.ToList();

            ViewBag.ContributorRole = Manager <UserManager> .Instance.GetContributorTypesByMembers(teamOverviewModels, user);

            return(PartialView("Teams/_List", teamOverviewModels.AsQueryable().ToPagedList(p.Page, p.PageSize, p.FilterValue, p.FilterName, p.Order, p.Dir)));
        }
Пример #5
0
        public ActionResult ListUsers(PaginationFormModel p)
        {
            var authors = UnitOfWork <UserManager>().GetUsersByRole(UserRole.Author);
            var contrib = UnitOfWork <UserManager>().GetUsersByRole(UserRole.Contributor);
            var users   = authors
                          .Union(contrib)
                          .Distinct()
                          .Where(u => !u.IsLockedOut)
                          .AsQueryable();

            return(PartialView("Users/_ListUsers", users.ToPagedList(p.Page, p.PageSize, p.FilterValue, p.FilterName, p.Order, p.Dir)));
        }
Пример #6
0
        public ActionResult Recommendations(PaginationFormModel p)
        {
            if (p == null)
            {
                p = new PaginationFormModel {
                    FilterValue = "",
                    FilterName  = "",
                    Order       = "Rating",
                    Dir         = false
                };
            }
            var rec = GetRecommendations();

            return(PartialView("_BrowseCatalog", rec.AsQueryable().ToPagedList(p.Page, p.PageSize, p.FilterValue, p.FilterName, p.Order, p.Dir)));
        }