public async Task <IActionResult> PutMascotasVacunas(int id, [FromBody] MascotasVacunas mascotasvacunas)
        {
            Mascotas mascota = await _context.Mascotas.FirstOrDefaultAsync(u => u.Id == mascotasvacunas.MascotaId);

            if (!_permissions.isOwnerOrAdmin(this.User, mascota.idUsuario))
            {
                return(Forbid());
            }

            if (id != mascotasvacunas.Id)
            {
                return(BadRequest());
            }

            _context.Entry(mascotasvacunas).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!MascotasVacunasExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(NoContent());
        }
        public async Task <ActionResult <MascotasVacunas> > PostMascotasVacunas(MascotasVacunas mascotasvacunas)
        {
            Mascotas mascota = await _context.Mascotas.FirstOrDefaultAsync(u => u.Id == mascotasvacunas.MascotaId);

            if (!_permissions.isAdmin(this.User))
            {
                mascota.idUsuario = _permissions.getUserId(this.User);
            }
            _context.MascotasVacunas.Add(mascotasvacunas);

            await _context.SaveChangesAsync();

            return(Ok());
        }
        public async Task <IActionResult> PatchMascotasVacunas(int id, [FromBody] JsonPatchDocument <MascotasVacunas> MascotasVacunasPatch)
        {
            MascotasVacunas mascotasvacunas = await _context.MascotasVacunas.FirstOrDefaultAsync(u => u.Id == id);

            if (mascotasvacunas == null)
            {
                return(NotFound());
            }

            Mascotas mascota = await _context.Mascotas.FirstOrDefaultAsync(u => u.Id == mascotasvacunas.MascotaId);

            if (!_permissions.isOwnerOrAdmin(this.User, mascota.idUsuario))
            {
                return(Forbid());
            }

            try
            {
                MascotasVacunasPatch.ApplyTo(mascotasvacunas);

                _context.Entry(mascotasvacunas).State = EntityState.Modified;

                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!MascotasVacunasExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(NoContent());
        }