예제 #1
0
        private ActionResult GetIdeasViewOrRedirectToOnlyIdeaForum(OrganizationServiceContext context)
        {
            var websiteDataAdapter = new WebsiteDataAdapter();

            var ideaForums = websiteDataAdapter.SelectIdeaForums().ToArray();

            var ideaForumCount = websiteDataAdapter.SelectIdeaForumCount();

            foreach (var ideaForum in ideaForums)
            {
                ideaForum.Url = context.GetUrl(ideaForum.Entity);
            }

            if (ideaForums.Count() == 1)
            {
                return(this.RedirectToAction("Ideas", new { ideaForumPartialUrl = ideaForums.First().Url }));
            }

            var ideasViewModel = new IdeasViewModel
            {
                IdeaForums     = ideaForums,
                IdeaForumCount = ideaForumCount
            };

            if (FeatureCheckHelper.IsFeatureEnabled(FeatureNames.TelemetryFeatureUsage))
            {
                PortalFeatureTrace.TraceInstance.LogFeatureUsage(FeatureTraceCategory.Idea, this.HttpContext, "read_ideas_forum", string.Empty, ideaForumCount, "adx_ideaforum", "read");
            }

            return(View("Ideas", ideasViewModel));
        }
예제 #2
0
        // GET: Ideas/Details/5
        public async Task <IActionResult> Details(int?id)
        {
            int meetingId = Convert.ToInt32(HttpContext.Request.Query["meetingId"].ToString());

            if (id == null)
            {
                return(NotFound());
            }

            var idea = await this.ideaRepository.GetByIdAsync(id.Value);

            var viewModel = new IdeasViewModel()
            {
                Description = idea.Description,
                Features    = idea.Features,
                GenderId    = idea.GenderId,
                Genders     = this.GetComboGenders(),
                Id          = idea.Id,
                PublicId    = idea.PublicId,
                Publics     = this.GetComboPublic(),
                MeetingId   = meetingId
            };

            if (idea == null)
            {
                return(NotFound());
            }

            return(View(viewModel));
        }
예제 #3
0
        private Guid userId = new Guid("FB944136-E6ED-4D6F-8481-A83C427AF132");//User.Identity.GetUserId();
        // GET: IdeaRequest
        public ActionResult Index()
        {
            var userIdeasRequests = new IdeasDto();

            IdeasViewModel ivm = new IdeasViewModel();

            ivm.IdeaRequestsPending = userIdeasRequests.GetIdeaRequest().Where(u => u.IdeaRequesterId == userId && u.IsDeleted != true).ToList();
            ivm.IdeaRequestsCollabo = userIdeasRequests.GetIdeaRequest().Where(u => u.IdeaRequesterId == userId && u.RequestType == "Collaborate" && u.Status == "Accepted").ToList();
            ivm.IdeaRequestsFund    = userIdeasRequests.GetIdeaRequest().Where(u => u.IdeaRequesterId == userId && u.RequestType == "Fund" && u.Status == "Accepted").ToList();
            return(View(ivm));
        }
예제 #4
0
        // GET: Ideas/Create
        public IActionResult Create()
        {
            int meetingId = Convert.ToInt32(HttpContext.Request.Query["meetingId"].ToString());

            var ideaModel = new IdeasViewModel()
            {
                Genders   = this.GetComboGenders(),
                Publics   = this.GetComboPublic(),
                MeetingId = meetingId
            };

            return(View(ideaModel));
        }
예제 #5
0
        // GET: Innovation
        public ActionResult Index()
        {
            var userId = new Guid("AD350B67-86E3-4AFD-955F-1315B111EAFD");
            //var userId = new Guid(User.Identity.GetUserId());

            var userIdeas = new IdeasDto();

            IdeasViewModel ivm = new IdeasViewModel();

            //TAKE THE MOST RECENT (LAST) IDEA SEARCHED BY THE CURRENTLY LOGGED IN USER
            var userSearchedIdeas = _db.UserIdeaSearchHistory.Where(u => u.UserID == userId).Take(1).OrderByDescending(s => s.ID).FirstOrDefault();

            //TAKE 5 RECENT IDEAS VIEWED BY THE USER CURRENTLY LOGGED IN
            var userViewedIdeas = _db.UserIdeaViewed.Where(uvi => uvi.UserID == userId).Take(5).OrderByDescending(uvi => uvi.ID).Select(uvi => uvi.UserIdeaID);

            //var requestedIdeas = new IdeasDto().GetIdeaRequest().Where(ri => ri.IdeaRequesterId == userId).Select(i => i.IdeasId);


            //ALL IDEAS
            ivm.RecentIdeas = userIdeas.GetIdeas().Take(10).OrderByDescending(ri => ri.IdeasId).ToList();

            //TODO: Ensure that the system pulls all ideas except my own??



            if (userViewedIdeas.Any())
            {
                foreach (var ideas in userViewedIdeas)
                {
                    //BASED ON USER PREFERENCES AND SEARCHES
                    ivm.ViewedIdeas = userIdeas.GetIdeas().Where(vi => vi.IdeasId.ToString().Contains(ideas.ToString()) && vi.UserId == userId).Take(10).OrderByDescending(vi => vi.IdeasId).ToList();
                }
            }


            if (userSearchedIdeas != null)
            {
                ivm.LastSearchedTerm = userSearchedIdeas.SearchedTerm;
                ivm.SearchedIdeas    = userIdeas.GetIdeas().Where(si => si.Title.Contains(userSearchedIdeas.SearchedTerm) && si.UserId == userId).Take(10).OrderByDescending(si => si.IdeasId).ToList();
            }


            return(View(ivm));
        }
예제 #6
0
        public async Task <IActionResult> Edit(int id, IdeasViewModel idea)
        {
            if (id != idea.Id)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    Idea ideaToUpdate = new Idea()
                    {
                        Description = idea.Description,
                        Features    = idea.Features,
                        GenderId    = idea.GenderId,
                        PublicId    = idea.PublicId,
                        Id          = id,
                        MeetingId   = idea.MeetingId
                    };

                    await this.ideaRepository.UpdateAsync(ideaToUpdate);
                }
                catch (DbUpdateConcurrencyException)
                {
                    var result = await this.ideaRepository.GetByIdAsync(idea.Id);

                    if (result == null)
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }

                return(RedirectToAction("Details", "Meetings", new { id = idea.MeetingId }));
            }

            return(View(idea));
        }
예제 #7
0
        public async Task <IActionResult> Create(IdeasViewModel idea)
        {
            if (ModelState.IsValid)
            {
                Idea ideaToSave = new Idea()
                {
                    Description = idea.Description,
                    Features    = idea.Features,
                    GenderId    = idea.GenderId,
                    PublicId    = idea.PublicId,
                    MeetingId   = idea.MeetingId
                };

                await this.ideaRepository.CreateAsync(ideaToSave);

                return(RedirectToAction("Details", "Meetings", new { id = ideaToSave.MeetingId }));
            }

            return(View(idea));
        }
예제 #8
0
        private ActionResult GetIdeasViewOrRedirectToOnlyIdeaForum()
        {
            var websiteDataAdapter = new WebsiteDataAdapter();

            var ideaForums = websiteDataAdapter.SelectIdeaForums().ToArray();

            var ideaForumCount = websiteDataAdapter.SelectIdeaForumCount();

            if (ideaForums.Count() == 1)
            {
                return(RedirectToAction("Ideas", new { ideaForumPartialUrl = ideaForums.First().PartialUrl }));
            }

            var ideasViewModel = new IdeasViewModel
            {
                IdeaForums     = ideaForums,
                IdeaForumCount = ideaForumCount
            };

            return(View("Ideas", ideasViewModel));
        }