public void Verify_Update_Should_SetTheEntityStateToModified() { // Arrange Mock <IDbSet <Team> > mockSetTeams; var mockContext = TeamsMockingSetup.DoMockingSetupForContext(true, out mockSetTeams); var repository = new TeamsRepository(mockContext.Object); var teams = repository.Get(1); teams.ApiDetailUrl = "/TEST"; // Act repository.Update(teams); // Assert mockContext.Verify(x => x.SetModified(It.IsAny <object>()), Times.Once); }
public ActionResult Edit(TeamsEditViewModel viewModel) { ValidateTeam(viewModel.Team); if (ModelState.IsValid) { var team = viewModel.Team; _teamsRepository.Update(team); TempData["Message"] = "Your team was successfully updated!"; return(RedirectToAction("Detail", new { id = team.Id })); } viewModel.Init(Repository, _eventsRepository, _teamMembersRepository); return(View(viewModel)); }
public async Task UpdatesTeam() { var teamName = "Team"; var teamName2 = "Team1"; var mockTeams = new List <Team> { new Team { Id = 1, Name = teamName }, new Team { Id = 2 }, new Team { Id = 3 } }; using (var context = new ApplicationDbContext(_options)) { context.Teams.AddRange(mockTeams); context.SaveChanges(); } using (var context = new ApplicationDbContext(_options)) { var teamsRepository = new TeamsRepository(context); var existingTeam = mockTeams[0]; var updatedTeam = mockTeams[0]; updatedTeam.Name = teamName2; await teamsRepository.Update(existingTeam, updatedTeam); } using (var context = new ApplicationDbContext(_options)) { Assert.NotNull(context.Teams.SingleOrDefault(x => x.Id == 1)); Assert.Equal(teamName2, context.Teams.Single(x => x.Id == 1).Name); } }
public async Task <IActionResult> OnPostAsync() { if (HttpContext.Session.GetString("EventId") == null) { string returnUrl = HttpContext.Request.Path.ToString(); return(RedirectToPage("/Account/Login", new { area = "Identity", returnUrl })); } ViewData["IsParticipating"] = HttpContext.Session.GetString("IsParticipating"); int eventId = int.Parse(HttpContext.Session.GetString("EventId"), CultureInfo.CurrentCulture); DinnerEvent dinnerEvent = DinnerEventsRepository.GetById(eventId); if (dinnerEvent != null) { // Values are passed-through to layout page ViewData["EventName"] = dinnerEvent.EventName; ViewData["EventDate"] = dinnerEvent.EventDate.ToShortDateString(); ViewData["EventCity"] = dinnerEvent.City; ViewData["EventPictureLink"] = dinnerEvent.EventPictureLink; } if (!ModelState.IsValid) { return(Page()); } var user = await UserManager.GetUserAsync(User); if (user == null) { throw new ApplicationException($"Unable to load user with ID '{UserManager.GetUserId(User)}'."); } // Load Team Team team = TeamsRepository.SearchFor(x => x.Event.Id == dinnerEvent.Id && (x.Partner1.Id == user.Id || x.Partner2.Id == user.Id)).Include("Partner1").Include("Partner2").Include("Event").FirstOrDefault(); if (team != null) { team.DinnerSaver = Input.DinnerSaver; team.SelectedCourse = Input.SelectedCourse; team.AddressStreet = Input.AddressStreet; team.AddressAdditions = Input.AddressAdditions; team.AddressNumber = Input.AddressNumber; team.FullAddress = Input.AddressStreet + " " + Input.AddressNumber; TeamsRepository.Update(team); TeamsRepository.SaveChanges(); TempData["StatusMessage"] = @"Die Einstellungen für dein Team wurden gespeichert."; } else { EventParticipation participation = EventParticipationsRepository.SearchFor(x => x.User.Id == user.Id && x.Event.Id == eventId).FirstOrDefault(); if (participation == null) { participation = new EventParticipation { InvitationMailSent = true, User = user, Event = dinnerEvent, PartnerName = Input.PartnerFirstName, PartnerLastName = Input.PartnerLastName, PartnerEmail = Input.PartnerEmail, Address = Input.AddressStreet, AddressNumber = Input.AddressNumber, AddressAdditions = Input.AddressAdditions, Phone = Input.Phone, Allergies = Input.Allergies, SelectedCourse = Input.SelectedCourse, IsWithoutPartner = Input.IsWithoutPartner, DinnerSaver = Input.DinnerSaver, RegistrationComplete = true }; EventParticipationsRepository.Insert(participation); EventParticipationsRepository.SaveChanges(); // Add contact to Mailjet Contacts, save ContactId string apiKey = Configuration?.GetEmailSettings("apiKey"); string apiSecret = Configuration?.GetEmailSettings("apiSecret"); long listRecipientId = await EmailSender.AddContactToContactListAsync(apiKey, apiSecret, user.ContactId.ToString(CultureInfo.InvariantCulture), dinnerEvent.ContactList.ToString(CultureInfo.InvariantCulture)); user.ListRecipientId = listRecipientId; await UserManager.UpdateAsync(user); } else { participation.Phone = Input.Phone; participation.Allergies = Input.Allergies; participation.Address = Input.AddressStreet; participation.AddressNumber = Input.AddressNumber; participation.AddressAdditions = Input.AddressAdditions; participation.PartnerName = Input.PartnerFirstName; participation.PartnerLastName = Input.PartnerLastName; participation.PartnerEmail = Input.PartnerEmail; participation.SelectedCourse = Input.SelectedCourse; participation.IsWithoutPartner = Input.IsWithoutPartner; participation.DinnerSaver = Input.DinnerSaver; participation.RegistrationComplete = true; EventParticipationsRepository.Update(participation); EventParticipationsRepository.SaveChanges(); } await OnPostSendPartnerInvitation(eventId, Input.PartnerFirstName, Input.PartnerLastName, Input.PartnerEmail, user.Id); TempData["StatusMessage"] = "Deine Anmeldung wurde gespeichert. Eine Einladung wurde an " + Input.PartnerEmail + " geschickt. Die Anmeldung ist vollständig sobald dein Partner bestätigt hat."; } return(RedirectToPage("./RegistrationData", eventId)); }
public MainViewModel() { Instance = this; LabDbContext cntxt = new LabDbContext(); //PlayersRepository = new Repository<Player>(cntxt); //TeamsRepository = new Repository<Team>(cntxt); TeamsCollection = new List <Team>(); AddTeamCommand = new RelayCommand(() => { NewTeamWindow newTeamWindow = new NewTeamWindow(); // Show window modally // NOTE: Returns only when window is closed bool?dialogResult = newTeamWindow.ShowDialog(); if (dialogResult == true) { Team t = new Team() { Name = newTeamWindow.TeamName.Text, Region = newTeamWindow.TeamRegion.Text }; TeamsRepository.Create(t); UpdateTeamsList(); //TeamsRepository.Update(t); SelectedTeam = t; } }); RemoveTeamCommand = new RelayCommand(() => { if (SelectedTeam != null) { TeamsRepository.Remove(SelectedTeam); CurrentPage = null; UpdateTeamsList(); } }); EditTeamCommand = new RelayCommand(() => { Team teamToChange = SelectedTeam; // Instantiate window NewTeamWindow newTeamWindow = new NewTeamWindow(); newTeamWindow.TeamName.Text = SelectedTeam.Name; newTeamWindow.TeamRegion.Text = SelectedTeam.Region; // Show window modally // NOTE: Returns only when window is closed bool?dialogResult = newTeamWindow.ShowDialog(); if (dialogResult == true) { SelectedTeam.Name = newTeamWindow.TeamName.Text; SelectedTeam.Region = newTeamWindow.TeamRegion.Text; TeamsRepository.Update(SelectedTeam); UpdateTeamsList(); CurrentPage = new TeamPage(SelectedTeam); } }); UpdateTeamsList(); }
public void Verify_Update_Should_SetTheEntityStateToModified() { // Arrange Mock<IDbSet<Team>> mockSetTeams; var mockContext = TeamsMockingSetup.DoMockingSetupForContext(true, out mockSetTeams); var repository = new TeamsRepository(mockContext.Object); var teams = repository.Get(1); teams.ApiDetailUrl = "/TEST"; // Act repository.Update(teams); // Assert mockContext.Verify(x => x.SetModified(It.IsAny<object>()), Times.Once); }