private ChallengeSelectionIdeaDto InsertSelectionIdea(ChallengeSelectionIdeaDto challengeSelectionIdeaDto)
        {
            foreach (var idea in challengeSelectionIdeaDto.Review)
            {
                var reviewIdea = new IdeaStatus
                {
                    IdeaId   = idea.Id,
                    StatusId = Guid.Parse("11f4e235-bbee-4527-a88a-2d239aa91ee6"),
                    UserId   = Guid.Parse("5b7127e5-b581-4a87-bbdb-5312b9ded2cc")
                };
                _ideaStatusRepository.Add(reviewIdea);
            }

            foreach (var idea in challengeSelectionIdeaDto.Keep)
            {
                var keepIdea = new IdeaStatus
                {
                    IdeaId   = idea.Id,
                    StatusId = Guid.Parse("6b2ac6fa-0895-448b-8016-70b26355b211"),
                    UserId   = Guid.Parse("5b7127e5-b581-4a87-bbdb-5312b9ded2cc")
                };
                _ideaStatusRepository.Add(keepIdea);
            }

            foreach (var idea in challengeSelectionIdeaDto.Kill)
            {
                var killIdea = new IdeaStatus
                {
                    IdeaId   = idea.Id,
                    StatusId = Guid.Parse("e23a5191-5f41-4c00-b855-d87b14dc9180"),
                    UserId   = Guid.Parse("5b7127e5-b581-4a87-bbdb-5312b9ded2cc")
                };
                _ideaStatusRepository.Add(killIdea);
            }

            foreach (var idea in challengeSelectionIdeaDto.Multiply)
            {
                var multiplyIdea = new IdeaStatus
                {
                    IdeaId   = idea.Id,
                    StatusId = Guid.Parse("410031b0-0975-4769-88fb-ef742e2f7702"),
                    UserId   = Guid.Parse("5b7127e5-b581-4a87-bbdb-5312b9ded2cc")
                };
                _ideaStatusRepository.Add(multiplyIdea);
            }

            var challenge = _challengeRepository.GetById(challengeSelectionIdeaDto.ChallengeId);

            if (challenge.ChallengeState == 4)
            {
                challenge.ChallengeState += 1;
            }
            return(challengeSelectionIdeaDto);
        }
 public ChallengeSelectionIdeaDto GetSelectionIdea(ChallengeSelectionIdeaDto challengeSelectionIdeaDto)
 {
     if (challengeSelectionIdeaDto.Kill == null &&
         challengeSelectionIdeaDto.Keep == null &&
         challengeSelectionIdeaDto.Review == null &&
         challengeSelectionIdeaDto.Multiply == null)
     {
         return(GetSelectionIdeaList(challengeSelectionIdeaDto));
     }
     return(InsertSelectionIdea(challengeSelectionIdeaDto));
 }
示例#3
0
 public IActionResult Post([FromBody] ChallengeSelectionIdeaDto challengeSelectionIdeaDto)
 {
     try
     {
         challengeSelectionIdeaDto = _ideaStatusService.GetSelectionIdea(challengeSelectionIdeaDto);
         _unitOfWork.Commit();
         return(Ok(challengeSelectionIdeaDto));
     }
     catch (Exception e)
     {
         return(BadRequest(e.Message));
     }
 }
示例#4
0
        public FilterIdeaDto GetFilterIdea(Guid challengeId)
        {
            var selectionFilterDto = new ChallengeSelectionFilterDto {
                ChallengeId = challengeId
            };
            var selectionIdeaDto = new ChallengeSelectionIdeaDto {
                ChallengeId = challengeId
            };
            var challengeSelectionFilterDto = _filterStatusService.GetSelectionFilter(selectionFilterDto);
            var challengeSelectionIdeaDto   = _ideaStatusService.GetSelectionIdea(selectionIdeaDto);
            var filterIdeaDto = new FilterIdeaDto
            {
                ChallengeId   = challengeId,
                FilterPasseds = new List <FilterPassedDto>()
            };

            foreach (var filter in challengeSelectionFilterDto.Keep)
            {
                var tmpFilter = new Filter
                {
                    Id          = filter.Id,
                    Title       = filter.Title,
                    Description = filter.Description
                };
                var filterPassedDto = new FilterPassedDto
                {
                    Filter = tmpFilter,
                    Ideas  = challengeSelectionIdeaDto.Keep.Select(x => new Idea
                    {
                        Id          = x.Id,
                        Title       = x.Title,
                        Description = x.Description
                    }).ToList()
                };
                filterIdeaDto.FilterPasseds.Add(filterPassedDto);
            }

            return(filterIdeaDto);
        }
        private ChallengeSelectionIdeaDto GetSelectionIdeaList(ChallengeSelectionIdeaDto challengeSelectionIdeaDto)
        {
            var ideaStatuses  = _ideaStatusRepository.GetSelectionIdea(null, challengeSelectionIdeaDto.ChallengeId);
            var reviewIdeas   = new List <Idea>();
            var killIdeas     = new List <Idea>();
            var keepIdeas     = new List <Idea>();
            var multiplyIdeas = new List <Idea>();

            foreach (var ideaStatus in ideaStatuses)
            {
                switch (ideaStatus.Status.Title.ToLower())
                {
                case "review":
                    reviewIdeas.Add(ideaStatus.Idea);
                    break;

                case "kill":
                    killIdeas.Add(ideaStatus.Idea);
                    break;

                case "keep":
                    keepIdeas.Add(ideaStatus.Idea);
                    break;

                case "multiply":
                    multiplyIdeas.Add(ideaStatus.Idea);
                    break;
                }
            }

            challengeSelectionIdeaDto.Keep     = keepIdeas;
            challengeSelectionIdeaDto.Review   = reviewIdeas;
            challengeSelectionIdeaDto.Kill     = killIdeas;
            challengeSelectionIdeaDto.Multiply = multiplyIdeas;

            return(challengeSelectionIdeaDto);
        }