//[ValidateAntiForgeryToken] public ActionResult Create(Models.Show model) { if (ModelState.IsValid) { if (!(showService.ExistsShow(model.CinemaCity) && showService.ExistsShow(model.FilmName) && showService.ExistsShow(model.ShowTimeFilm))) { var dbModel = new Domain.Show(); dbModel.InjectFrom(model); showService.AddShow(dbModel); TempData["message"] = string.Format("{0} has been saved", model.FilmName); } else { ModelState.AddModelError("Show", "Cannot have two identical shows!"); //Cinema var cinemas = cinemaRepository.GetAll(); var cinemaList = cinemas.Select(c => new SelectListItem() { Value = c.Id.ToString(), Text = c.CinemaCity }).ToList(); //Film var films = filmRepository.GetAll(); var filmList = films.Select(f => new SelectListItem() { Value = f.Id.ToString(), Text = f.Name }).ToList(); //ShowTimeFilm var showtimefilms = showtimefilmRepository.GetAll(); var showtimefilmList = showtimefilms.Select(s => new SelectListItem() { Value = s.Id.ToString(), Text = s.ShowTime.ToString("dd/MM/yyyy hh:mm") }).ToList(); ViewBag.Cinemas = cinemaList; ViewBag.Films = filmList; ViewBag.ShowTimeFilms = showtimefilmList; return(View(model)); } //showRepository.Add(dbModel); //transform the object //unitOfWork.Commit(); return(RedirectToAction("Index")); } return(View(model)); }
public async Task <IActionResult> CreateOrUpdateShow(Show data) { ShowViewModel result = null; if (data.Id.Equals(Guid.Empty)) { result = await _showService.AddShow(data.Name, data.ShowDate, data.Duration, data.TicketCount); } else { result = await _showService.UpdateShow(data.Id, data.Name, data.ShowDate, data.Duration, data.TicketCount); } if (result == null) { return(BadRequest()); } return(Ok(result)); }
public async Task <ActionResult <ShowDomainModel> > CreateShowAsync([FromBody] ShowModel showModel) { ShowDomainModel domainModel = new ShowDomainModel { ShowTime = showModel.ShowTime, AuditoriumId = showModel.AuditoriumId, PieceId = showModel.PieceId, TicketPrice = showModel.TicketPrice, ActorsList = showModel.ActorIds }; ShowResultModel createShow; try { createShow = await _showService.AddShow(domainModel); } catch (DbUpdateException e) { ErrorResponseModel errorResponse = new ErrorResponseModel { ErrorMessage = e.InnerException.Message ?? e.Message, StatusCode = System.Net.HttpStatusCode.BadRequest }; return(BadRequest(errorResponse)); } if (!createShow.isSuccessful) { ErrorResponseModel errorResponseModel = new ErrorResponseModel { ErrorMessage = createShow.ErrorMessage }; return(BadRequest(errorResponseModel)); } return(CreatedAtAction(nameof(GetShowById), new { id = createShow.ShowDomainModel.Id }, createShow.ShowDomainModel)); }