public void SelectNomineeAsAwardWinner(AwardType awardType, Person nominee) { if (awardType == null) { throw new ArgumentNullException(nameof(awardType)); } if (nominee == null) { throw new ArgumentNullException(nameof(nominee)); } if (GetIsAwardWinner(awardType, nominee)) { return; } var nominations = GetNominationsForNominee(awardType, nominee); if (nominations.Count == 0) { throw new ArgumentException(@"There is no such nominee for that award type.", nameof(awardType)); } var awardWinner = new AwardWinner(awardType, nominee); _awardWinners.Add(awardWinner); MarkAsDirty($@"Upserted winner {nominee.Name.FullName}"); }
public async Task <IActionResult> Edit([Bind("AwardShowInstanceId,AwardId,FilmMemberId,MovieId")] AwardWinner awardWinner) { if (ModelState.IsValid) { try { _context.Update(awardWinner); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!AwardWinnerExists(awardWinner.AwardShowInstanceId)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } CreateAwardIdSelectList(); ViewData["AwardShowInstanceId"] = new SelectList(_context.AwardShowInstance, "Id", "Id", awardWinner.AwardShowInstanceId); ViewData["FilmMemberId"] = new SelectList(_context.FilmMember, "Id", "FirstName", awardWinner.FilmMemberId); ViewData["MovieId"] = new SelectList(_context.Movie, "Id", "Description", awardWinner.MovieId); return(View(awardWinner)); }
internal AwardWinnerDto(AwardWinner awardWinner) { if (awardWinner == null) { throw new ArgumentNullException(nameof(awardWinner)); } AwardType = awardWinner.AwardType.ToString(); Name = awardWinner.Name.ToString(); OfficeLocation = awardWinner.OfficeLocation.ToString(); EmailAddress = awardWinner.EmailAddress.ToString(); }
public void UnselectAwardWinner(AwardWinner awardWinner) { if (awardWinner == null) { throw new ArgumentNullException(nameof(awardWinner)); } var removed = _awardWinners.Remove(awardWinner); if (removed) { MarkAsDirty( $@"Removed {awardWinner.Name.FullName} from winner list for {awardWinner.AwardType.PrettyName}"); } }
public bool GetIsAwardWinner(AwardType awardType, Person person) { if (awardType == null) { throw new ArgumentNullException(nameof(awardType)); } if (person == null) { throw new ArgumentNullException(nameof(person)); } var awardWinner = new AwardWinner(awardType, person); return(AwardWinners.Contains(awardWinner)); }
public async Task <IActionResult> WinnerNominationAsync([FromBody] AwardWinner details) { try { if (details == null || details.Winners == null) { return(this.BadRequest(new { message = "Award winner details can not be null." })); } var emails = string.Join(",", details.Winners.Select(row => row.NomineeUserPrincipalNames)).Split(",").Select(row => row.Trim()).Distinct(); string teamId = details.TeamId; var claims = this.GetUserClaims(); var teamDetails = await this.teamStorageProvider.GetTeamDetailAsync(teamId); string serviceUrl = teamDetails.ServiceUrl; string appBaseUrl = this.botSettingsOptions.Value.AppBaseUri; MicrosoftAppCredentials.TrustServiceUrl(serviceUrl); var conversationParameters = new ConversationParameters() { ChannelData = new TeamsChannelData() { Channel = new ChannelInfo() { Id = teamId } }, Activity = (Activity)MessageFactory.Carousel(WinnerCarouselCard.GetAwardWinnerCard(appBaseUrl, details.Winners, this.localizer)), Bot = new ChannelAccount() { Id = this.microsoftAppCredentials.MicrosoftAppId }, IsGroup = true, TenantId = this.botSettingsOptions.Value.TenantId, }; await((BotFrameworkAdapter)this.adapter).CreateConversationAsync( Constants.TeamsBotFrameworkChannelId, serviceUrl, this.microsoftAppCredentials, conversationParameters, async(turnContext, cancellationToken) => { Activity mentionActivity = await CardHelper.GetMentionActivityAsync(emails, claims.FromId, teamId, turnContext, this.localizer, this.logger, MentionActivityType.Winner, default); await turnContext.SendActivityAsync(mentionActivity, cancellationToken); await turnContext.SendActivityAsync(MessageFactory.Text(this.localizer.GetString("ViewWinnerTabText")), cancellationToken); }, default);
public async Task <IActionResult> Create([Bind("AwardShowInstanceId,AwardId,FilmMemberId,MovieId")] AwardWinner awardWinner) { if (ModelState.IsValid) { using (var sqlConn = new SqlConnection(_context.Database.GetDbConnection().ConnectionString)) { await InsertMovieAwardWinnerAsync(sqlConn, awardWinner.AwardShowInstanceId, awardWinner.AwardId, awardWinner.FilmMemberId, awardWinner.MovieId); } //await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } CreateAwardIdSelectList(); ViewData["FilmMemberId"] = new SelectList(_context.FilmMember, "Id", "FirstName", awardWinner.FilmMemberId); ViewData["MovieId"] = new SelectList(_context.Movie, "Id", "Title", awardWinner.MovieId); return(View(awardWinner)); }
public async Task <IActionResult> DeleteConfirmed(int?awardShowInstanceId, int?awardId, long?filmMemberId) { if (awardShowInstanceId == null || awardId == null || filmMemberId == null) { return(NotFound()); } var awardWinner = new AwardWinner() { AwardId = awardId.Value, AwardShowInstanceId = awardShowInstanceId.Value, FilmMemberId = filmMemberId.Value }; _context.Entry(awardWinner).State = EntityState.Deleted; await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); }
// GET: AwardWinners/Edit/5 public async Task <IActionResult> Edit(int?awardShowInstanceId, int?awardId, long?filmMemberId) { if (awardShowInstanceId == null || awardId == null || filmMemberId == null) { return(NotFound()); } AwardWinner awardWinner = await _context.AwardWinner .FirstOrDefaultAsync(aw => aw.AwardId == awardId && aw.AwardShowInstanceId == awardShowInstanceId && aw.FilmMemberId == filmMemberId); if (awardWinner == null) { return(NotFound()); } CreateAwardIdSelectList(); ViewData["AwardShowInstanceId"] = new SelectList(_context.AwardShowInstance, "Id", "Id", awardWinner.AwardShowInstanceId); ViewData["FilmMemberId"] = new SelectList(_context.FilmMember, "Id", "FirstName", awardWinner.FilmMemberId); ViewData["MovieId"] = new SelectList(_context.Movie, "Id", nameof(Movie.Title), awardWinner.MovieId); return(View(awardWinner)); }
private void UnselectAwardWinner(AwardType awardType, Person person) { var awardWinner = new AwardWinner(awardType, person); UnselectAwardWinner(awardWinner); }
public IReadOnlyList <NominationWriteUp> GetNominationWriteUpsForAwardWinner(AwardWinner awardWinner) { var nominations = GetNominationsForNominee(awardWinner.AwardType, awardWinner.Person); return(nominations.Select(n => n.WriteUp).ToList()); }
public IReadOnlyList <CompanyValue> GetCompanyValuesForAwardWinner(AwardWinner awardWinner) { var nominations = GetNominationsForNominee(awardWinner.AwardType, awardWinner.Person); return(nominations.SelectMany(n => n.CompanyValues).Distinct().OrderBy(cv => cv.Value).ToList()); }