public async Task<PieceDomainModel> AddPiece(PieceDomainModel newPiece) { Piece pieceToCreate = new Piece() { Description = newPiece.Description, Genre = newPiece.Genre, IsActive = newPiece.isActive, Title = newPiece.Title, Year = newPiece.Year }; Piece data = _pieceRepository.Insert(pieceToCreate); if(data == null) { return null; } _pieceRepository.Save(); return new PieceDomainModel { Description = data.Description, Genre = data.Genre, Id = data.Id, isActive = data.IsActive, Title = data.Title, Year = data.Year }; }
public void TestInitialize() { _mockPieceRepository = new Mock <IPiecesRepository>(); _pieceService = new PieceService(_mockPieceRepository.Object); _piece = new Piece { Id = 1, Description = "komad", Genre = Genre.COMEDY, IsActive = true, Year = 1999, Shows = new List <Show> { new Show { ShowTime = DateTime.Now.AddDays(-5) }, new Show { ShowTime = DateTime.Now.AddDays(-25) } } }; _pieceDomainModel = new PieceDomainModel { Id = _piece.Id, Description = "opis", Genre = _piece.Genre, isActive = _piece.IsActive, Title = _piece.Title, Year = _piece.Year }; }
public async Task<IEnumerable<PieceDomainModel>> GetTop10ByYearAsync(int year) { var data = await _pieceRepository.GetTop10ByYearAsync(year); if(data.Count() == 0) { return null; } List<PieceDomainModel> result = new List<PieceDomainModel>(); foreach (var item in data) { PieceDomainModel piece = new PieceDomainModel() { Description = item.Description, Genre = item.Genre, Id = item.Id, isActive = item.IsActive, Title = item.Title, Year = item.Year }; result.Add(piece); } return result; }
public async Task <ActionResult> Post([FromBody] PieceModel pieceModel) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } PieceDomainModel domainModel = new PieceDomainModel { Description = pieceModel.Description, Genre = pieceModel.Genre, isActive = pieceModel.IsActive, Title = pieceModel.Title, Year = pieceModel.Year }; PieceDomainModel createPiece; try { createPiece = await _pieceService.AddPiece(domainModel); } catch (DbUpdateException e) { ErrorResponseModel errorResponse = new ErrorResponseModel { ErrorMessage = e.InnerException.Message ?? e.Message, StatusCode = System.Net.HttpStatusCode.BadRequest }; return(BadRequest(errorResponse)); } if (createPiece == null) { ErrorResponseModel errorResponse = new ErrorResponseModel { ErrorMessage = Messages.PIECE_CREATION_ERROR, StatusCode = System.Net.HttpStatusCode.InternalServerError }; return(BadRequest(errorResponse)); } return(CreatedAtAction(nameof(Get), new { Id = createPiece.Id }, createPiece)); }
public async Task <IEnumerable <ShowDomainModel> > GetFutureShowsByPieceId(PieceDomainModel domainModel) { var shows = await _showsRepository.GetFutureShowsByPieceIdAsync(domainModel.Id); if (shows == null) { return(null); } var showsList = shows.Select(show => new ShowDomainModel { Id = show.Id, AuditoriumId = show.AuditoriumId, PieceId = show.PieceId, ShowTime = show.ShowTime, TicketPrice = show.TicketPrice }); return(showsList); }
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)); }
public async Task<PieceDomainModel> UpdatePiece(PieceDomainModel updatePiece) { Piece piece = await _pieceRepository.GetByIdAsync(updatePiece.Id); if(piece == null) { return null; } Piece pieceToUpdate = new Piece() { Id = piece.Id, Title = updatePiece.Title, Description = updatePiece.Description, Genre = updatePiece.Genre, IsActive = updatePiece.isActive, Year = updatePiece.Year }; Piece data = _pieceRepository.Update(pieceToUpdate); if(data == null) { return null; } _pieceRepository.Save(); return new PieceDomainModel() { Id = data.Id, Title = data.Title, Description = data.Description, Genre = data.Genre, Year = data.Year }; }