Exemple #1
0
        public OkObjectResult NewEnsembleMember([FromBody] EnsembleMember dto)
        {
            var userId = GetUserId();
            var user   = _context.Users.Find(userId);

            var validMod = _context.EnsembleModerators
                           .Any(em => em.EnsembleId == dto.EnsembleId &&
                                em.UserIdRecipient == userId &&
                                em.Status == RequestStatus.Accepted);

            if (!validMod)
            {
                return(new OkObjectResult(new { success = false, error = "Permission denied" }));
            }

            var ens = _context.Ensembles.Find(dto.EnsembleId);

            _context.EnsembleMembers.Add(new EnsembleMember
            {
                EnsembleId      = dto.EnsembleId,
                UserIdRecipient = dto.UserIdRecipient,
                UserIdRequester = userId,
                Text            = $"{user.FullName} wants you to join {ens.Name}"
            });
            _context.SaveChanges();

            return(new OkObjectResult(new { success = true }));
        }
Exemple #2
0
        public OptimizedEnsembleSearch(IndexManager indexManager, IEnumerable <EnsembleMemberParameters> memberParameters) : base(indexManager)
        {
            if (memberParameters == null)
            {
                throw new ArgumentException("No parameters provided for ensemble members. Please provide at least one set of parameters.");
            }

            //Create ensemble members based on provided parameters for individual members
            m_searchMembers = new EnsembleMember[memberParameters.Count()];
            int i = 0;

            foreach (var currentParameters in memberParameters)
            {
                m_searchMembers[i] = new EnsembleMember
                {
                    Searcher = new OptimizedParametrizedSearch(indexManager,
                                                               currentParameters.DocumentTopicWeight,
                                                               currentParameters.SectionTopicWeight,
                                                               currentParameters.ParagraphTopicWeight,
                                                               currentParameters.SentenceTopicWeight,
                                                               currentParameters.DocumentSingleTermWeight,
                                                               currentParameters.SectionSingleTermWeight,
                                                               currentParameters.ParagraphSingleTermWeight,
                                                               currentParameters.SentenceIATEWeight,
                                                               currentParameters.SentenceEVWeight,
                                                               currentParameters.DocumentTopicLimit,
                                                               currentParameters.SectionTopicLimit,
                                                               currentParameters.ParagraphTopicLimit,
                                                               currentParameters.SentenceTopicLimit,
                                                               currentParameters.DocumentTokenLimit,
                                                               currentParameters.SectionTokenLimit,
                                                               currentParameters.ParagraphTokenLimit,
                                                               currentParameters.SentenceIATELimit,
                                                               currentParameters.SentenceEVLimit,
                                                               currentParameters.UseDocumentSimilarity,
                                                               currentParameters.UseSectionSimilarity,
                                                               currentParameters.UseDocumentTokens,
                                                               currentParameters.UseSectionTokens,
                                                               currentParameters.UseParagraphTokens,
                                                               currentParameters.UseSentenceTokens,
                                                               currentParameters.UseDocumentTopics,
                                                               currentParameters.UseSectionTopics,
                                                               currentParameters.UseParagraphTopics,
                                                               currentParameters.UseSentenceTopics
                                                               ),
                    ScoringStrategy    = currentParameters.ScoringStrategy,
                    StartPositionShift = currentParameters.StartPositionShift
                };
                i++;
            }
        }
Exemple #3
0
        public OkObjectResult NewEnsemble([FromBody] EnsembleDto dto)
        {
            var userId = GetUserId();

            var ensemble = new Ensemble
            {
                Name = dto.Name
            };

            _context.Ensembles.Add(ensemble);

            // Make ensemble creator Mod
            var mod = new EnsembleModerator
            {
                UserIdRecipient = userId,
                UserIdRequester = userId,
                EnsembleId      = ensemble.EnsembleId,
                Status          = RequestStatus.Accepted,
                ConfirmedAt     = DateTime.Now
            };

            _context.EnsembleModerators.Add(mod);
            // Make ensemble creator Member
            var mem = new EnsembleMember
            {
                EnsembleId      = ensemble.EnsembleId,
                UserIdRecipient = userId,
                UserIdRequester = userId,
                Status          = RequestStatus.Accepted,
                ConfirmedAt     = DateTime.Now
            };

            _context.EnsembleMembers.Add(mem);

            _context.SaveChanges();

            return(new OkObjectResult(new { success = true, ensembleId = ensemble.EnsembleId }));
        }