/// <summary> /// Adding a new TricksProgress /// to the DB /// </summary> /// <param name="tricksProgress"></param> /// <returns>The added TricksProgress</returns> public async Task <Core.Model.TricksProgress> PostTricksProgressAsync(Core.Model.TricksProgress tricksProgress) { var exists = await _dbContext.TricksProgress .FirstOrDefaultAsync(t => t.PetId == tricksProgress.PetId && t.TrickId == tricksProgress.TrickId); if (exists is null) { var newTricks = new TricksProgress { PetId = tricksProgress.PetId, TrickId = tricksProgress.TrickId, }; _logger.LogInformation("Adding a new TricksProgress."); _dbContext.Add(newTricks); await _dbContext.SaveChangesAsync(); // After the Entity is added, return // the Entity by getting the max id (Newest Entity) int id = await _dbContext.TricksProgress.MaxAsync(i => i.Id); var nt = await _dbContext.TricksProgress .Include(t => t.Trick) .FirstOrDefaultAsync(t => t.Id == id); return(Mapper.MapTricksProgress(nt)); } else { _logger.LogInformation("Dog with this ID {tricksProgressId} already knows this Trick.", tricksProgress.PetId); return(null); } }
public async Task <IActionResult> CreateTricksProgressAsync(TricksProgress tricksProgresses) { var newTricksProgress = new TricksProgress { PetId = tricksProgresses.PetId, TrickId = tricksProgresses.TrickId }; var addedtrick = await _userRepo.PostTricksProgressAsync(newTricksProgress); if (addedtrick is null) { return(BadRequest("Your pup already knows this trick!")); } else { return(Ok("Your pup learned a new trick!")); } }
public async Task <IActionResult> PutTricksProgress(int id, TricksProgress tricksProgress) { var exists = await _userRepo.PutTricksProgressAsync(id, tricksProgress); if (exists is null) { return(BadRequest("TricksProgress with ID " + id + " does not exist.")); } else { if (id != tricksProgress.Id) { return(BadRequest()); } return(Ok("Your pups Trick has been updated!")); } }