public async Task <ActionResult <PieceDomainModel> > ActivateDeactivePiece(int id)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var futureShows = await _showService.GetFutureShowsByPieceId(id);

            if (futureShows.Count() > 0)
            {
                return(BadRequest(Messages.SHOWS_AT_THE_SAME_TIME));
            }

            PieceDomainModel pieceToUpdate = await _pieceService.GetPieceByIdAsyncc(id);

            pieceToUpdate.isActive = !pieceToUpdate.isActive;

            PieceDomainModel pieceDomainModel;

            try
            {
                pieceDomainModel = await _pieceService.UpdatePiece(pieceToUpdate);
            }
            catch (DbUpdateException e)
            {
                ErrorResponseModel errorResponse = new ErrorResponseModel
                {
                    ErrorMessage = e.InnerException.Message ?? e.Message,
                    StatusCode   = System.Net.HttpStatusCode.BadRequest
                };

                return(BadRequest(errorResponse));
            }

            return(Accepted("activate-deactivate//" + pieceDomainModel.Id, pieceDomainModel));
        }