/// <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);
            }
        }
Esempio n. 2
0
        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!"));
            }
        }
Esempio n. 3
0
        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!"));
            }
        }