Пример #1
0
        //[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));
        }
Пример #2
0
        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));
        }
Пример #3
0
        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));
        }