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 })); }
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++; } }
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 })); }