public async Task <IActionResult> Edit(decimal id, [Bind("SERIALNUMBER,COMPONENTID,SUBSTITUTEID,LOCATION,QUANTITY,DATEINSTALLED,EMPLOYEEID,id")] BikeParts bikeParts) { if (id != bikeParts.id) { return(NotFound()); } if (ModelState.IsValid) { try { _context.Update(bikeParts); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!BikePartsExists(bikeParts.id)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } return(View(bikeParts)); }
public BikeParts AddBikePart(BikeParts part) { this.context.BikeParts.Add(part); this.context.SaveChanges(); return(part); }
public void DisusePart_ShouldSetIsUsedFalseAndRemoveBikePartId() { var options = GetDbOptions("DisusePart_Database"); var dummyBikePart = new BikeParts(); var dummyPlayerPart1 = new PlayerParts() { Id = 10, IsUsed = true, BikePart = dummyBikePart }; var dummyPlayerPart2 = new PlayerParts() { Id = 20, IsUsed = true, BikePart = dummyBikePart }; var dummyPlayerPart3 = new PlayerParts() { Id = 30, IsUsed = true, BikePart = dummyBikePart }; using (var context = new RiderDBContext(options)) { context.PlayerParts.Add(dummyPlayerPart1); context.PlayerParts.Add(dummyPlayerPart2); context.PlayerParts.Add(dummyPlayerPart3); context.SaveChanges(); } Assert.True(dummyPlayerPart1.IsUsed); Assert.True(dummyPlayerPart2.IsUsed); Assert.NotNull(dummyPlayerPart1.BikePart); Assert.NotNull(dummyPlayerPart2.BikePart); PlayerParts actual1; PlayerParts actual2; bool isDisused1; bool isDisused2; bool isDisused3; using (var context = new RiderDBContext(options)) { var userManager = GetMockUserManager(); var playersService = new PlayersService(context, userManager.Object); isDisused1 = playersService.DisusePart(10); isDisused2 = playersService.DisusePart(20); isDisused3 = playersService.DisusePart(221); actual1 = context.PlayerParts.FirstOrDefault(x => x.Id == 10); actual2 = context.PlayerParts.FirstOrDefault(x => x.Id == 20); } Assert.True(isDisused1); Assert.True(isDisused2); Assert.False(isDisused3); Assert.False(actual1.IsUsed); Assert.False(actual2.IsUsed); Assert.Null(actual1.BikePart); Assert.Null(actual2.BikePart); }
public async Task <IActionResult> Create([Bind("SERIALNUMBER,COMPONENTID,SUBSTITUTEID,LOCATION,QUANTITY,DATEINSTALLED,EMPLOYEEID,id")] BikeParts bikeParts) { if (ModelState.IsValid) { _context.Add(bikeParts); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } return(View(bikeParts)); }
public ActionResult Equip(EquipPartModel model) { var username = this.User.Identity.Name; var player = this.playersService.GetPlayerByUsername(username); if (!player.Bikes.Any(x => x.Id == model.BikeId)) { this.ModelState.AddModelError("", "Bike not found!"); } if (model.NewPlayerPartId == 0) { TempData["Error"] = "No part was selected!"; return(RedirectToAction(nameof(Equip), new { b = model.BikeId })); } if (!ModelState.IsValid) { return(View(model)); } var newPlayerPart = this.playersService.GetPlayerPartById(model.NewPlayerPartId); var bike = this.bikesService.GetBikeById(model.BikeId); var bikeParts = bike.BikeParts.Where(x => x.PlayerPart.Part.Type == newPlayerPart.Part.Type); if ((newPlayerPart.Part.Type != PartType.Other && bikeParts.Count() >= 1) || bikeParts.Count() >= 3) { var oldBikePart = bikeParts.FirstOrDefault(); this.playersService.DisusePart(oldBikePart.PlayerPartId); this.bikesService.RemoveBikePart(oldBikePart.Id); } var newBikePart = new BikeParts(); newBikePart.PlayerPart = newPlayerPart; newBikePart.Bike = bike; var addedBikePart = this.bikesService.AddBikePart(newBikePart); this.playersService.UsePart(model.NewPlayerPartId, addedBikePart.Id); return(RedirectToAction(nameof(Equip), new { b = model.BikeId })); }
public void GetBikePartById_ShouldReturnCorrectBikePart() { var options = GetDbOptions("GetBikePartById_Database"); var testId = 128; var dummyBikePart = new BikeParts() { Id = testId }; var dummyBikePartFake1 = new BikeParts() { Id = 1 }; var dummyBikePartFake2 = new BikeParts() { Id = 2 }; using (var context = new RiderDBContext(options)) { context.BikeParts.Add(dummyBikePart); context.BikeParts.Add(dummyBikePartFake1); context.BikeParts.Add(dummyBikePartFake2); context.SaveChanges(); } BikeParts actual = null; using (var context = new RiderDBContext(options)) { var playersService = new Mock <IPlayersService>(); var bikesService = new BikesService(context, playersService.Object); actual = bikesService.GetBikePartById(testId); } Assert.Equal(testId, actual.Id); }
public void AddBikePart_ShouldAddPartToBike() { var options = GetDbOptions("AddBikePart_Database"); var dummyBikePart = new BikeParts(); using (var context = new RiderDBContext(options)) { var playersService = new Mock <IPlayersService>(); var bikesService = new BikesService(context, playersService.Object); bikesService.AddBikePart(dummyBikePart); } List <BikeParts> actual = null; using (var context = new RiderDBContext(options)) { actual = context.BikeParts.ToList(); } Assert.Single(actual); Assert.Contains(actual, x => x.Id == dummyBikePart.Id); }