public IActionResult Create() { var viewModel = new GroupTripCreateInputModel(); viewModel.FishSpeciesItems = this.fishService.GetAllForSelectList(); return(this.View(viewModel)); }
public async Task CreatingGroupTripShouldIncreaseGroupTripsCount() { var groupTripslist = new List <GroupTrip>() { new GroupTrip { Id = 1, }, new GroupTrip { Id = 2, }, new GroupTrip { Id = 3, }, }; var userGroupTripsList = new List <UserGroupTrip>(); var mockTownRepo = new Mock <IDeletableEntityRepository <Town> >(); var townService = new TownsService(mockTownRepo.Object); var mockUserGroupTripRepo = new Mock <IDeletableEntityRepository <UserGroupTrip> >(); mockUserGroupTripRepo.Setup(x => x.AllAsNoTracking()).Returns(userGroupTripsList.AsQueryable()); var mockGroupTripRepo = new Mock <IDeletableEntityRepository <GroupTrip> >(); mockGroupTripRepo.Setup(x => x.All()).Returns(groupTripslist.AsQueryable()); mockGroupTripRepo.Setup(x => x.AddAsync(It.IsAny <GroupTrip>())).Callback((GroupTrip groupTrip) => groupTripslist.Add(groupTrip)); var service = new GroupTripsService(townService, mockGroupTripRepo.Object, mockUserGroupTripRepo.Object); var groupTrip = new GroupTripCreateInputModel { WaterPoolName = "река Марица", Description = "асдасдасдадс", MeetingTime = DateTime.UtcNow.AddDays(1), MeetingSpotLatitude = 1, MeetingSpotLongtitude = 1, FishingTime = DateTime.UtcNow.AddDays(2), FishingSpotLatitude = 2, FishingSpotLongtitude = 2, FreeSeats = 2, FishingMethodId = 3, TargetFishSpeciesId = 5, }; await service.CreateAsync(groupTrip, "1"); Assert.Equal(4, groupTripslist.Count()); }
public async Task <IActionResult> Create(GroupTripCreateInputModel inputModel) { if (!this.ModelState.IsValid) { var viewModel = new GroupTripCreateInputModel(); viewModel.FishSpeciesItems = this.fishService.GetAllForSelectList(); return(this.View(viewModel)); } var user = await this.userManager.GetUserAsync(this.User); var id = await this.groupTripsService.CreateAsync(inputModel, user.Id); return(this.RedirectToAction(nameof(this.ById), new { id })); }
public async Task <int> CreateAsync(GroupTripCreateInputModel inputModel, string userId) { var groupTrip = new GroupTrip { WaterPoolName = inputModel.WaterPoolName, Description = inputModel.Description, FreeSeats = inputModel.FreeSeats, MeetingTime = inputModel.MeetingTime, MeetingSpotLatitude = inputModel.MeetingSpotLatitude, MeetingSpotLongtitude = inputModel.MeetingSpotLongtitude, FishingTime = inputModel.FishingTime, FishingSpotLatitued = inputModel.FishingSpotLatitude, FishingSpotLongtitude = inputModel.FishingSpotLongtitude, TargetFishSpeciesId = inputModel.TargetFishSpeciesId, FishingMethod = (FishingMethodEnum)inputModel.FishingMethodId, HostId = userId, }; await this.groupTripsRepository.AddAsync(groupTrip); await this.groupTripsRepository.SaveChangesAsync(); return(groupTrip.Id); }