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 })); } }
/// <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); }