public async Task <IActionResult> AddMultiplex([FromBody] MultiplexDTO multiplexDTO)
        {
            if (multiplexDTO == null)
            {
                return(StatusCode(400, new { message = Constants.MissingOrInvalidBody }));
            }

            if (!ModelState.IsValid || multiplexDTO.CityId <= 0)
            {
                return(StatusCode(400, new { message = Constants.MissingOrInvalidBody }));
            }

            try
            {
                var result = await _movieService.AddMultiplex(multiplexDTO);

                return(Created("AddedMultiplex", new { id = result.CityId, Name = result.MultiplexName }));
            }
            catch (CustomException ex)
            {
                return(StatusCode(400, new { message = ex.Message }));
            }
            catch (Exception ex)
            {
                return(StatusCode(500, new { message = ex.Message }));
            }
        }
Exemple #2
0
        /// <summary>
        /// Adds multiplex
        /// </summary>
        /// <param name="multiplexDto">multiplex object</param>
        /// <returns></returns>
        public async Task <MultiplexDTO> AddMultiplex(MultiplexDTO multiplexDto)
        {
            // Check if Same has been already added into DB
            var result = await this.GetMultiplexesByCity(multiplexDto.CityId);

            if (result.Any(a => a.MultiplexName == multiplexDto.MultiplexName))
            {
                throw new CustomException($"Multilex with the name {multiplexDto.MultiplexName} already added.");
            }

            Multiplex multiplex = new Multiplex
            {
                MultiplexName = multiplexDto.MultiplexName,
                CityId        = multiplexDto.CityId
            };

            var multiplexAdded = await _movieRepository.AddMultiplex(multiplex);

            multiplexDto.Id = multiplexAdded.Id;
            return(multiplexDto);
        }