public IActionResult UpdateAirlineDetails(long id, UpdateAirlineCompanyDTO updateAirlineCompanyDTO)
        {
            LoginToken <Administrator> admin_token = DesirializeToken();

            if (id == 0)
            {
                return(NotFound());
            }

            if (id != updateAirlineCompanyDTO.Id)
            {
                return(BadRequest());
            }

            AirlineCompany airline = _mapper.Map <AirlineCompany>(updateAirlineCompanyDTO);

            try
            {
                _loggedInAdministratorFacade.UpdateAirlineDetails(admin_token, airline);
            }
            catch (RecordAlreadyExistsException)
            {
                return(Conflict());
            }
            catch (RelatedRecordNotExistsException)
            {
                return(NotFound());
            }

            return(NoContent());
        }
Пример #2
0
        public IActionResult MofidyAirlineDetails(UpdateAirlineCompanyDTO updateAirlineCompanyDTO)
        {
            LoginToken <AirlineCompany> airline_token = DesirializeToken();

            if (airline_token.User.Id != updateAirlineCompanyDTO.Id)
            {
                return(Forbid());
            }

            AirlineCompany airline = _mapper.Map <AirlineCompany>(updateAirlineCompanyDTO);

            try
            {
                _loggedInAirlineFacade.MofidyAirlineDetails(airline_token, airline);
            }
            catch (NotAllowedAirlineActionException)
            {
                return(Forbid());
            }
            catch (RelatedRecordNotExistsException)
            {
                return(NotFound());
            }

            return(NoContent());
        }
        public async Task Update_Airline_Details_With_Another_Id_Should_Return_Forbidden()
        {
            await TestHelpers.Airline_Company_Login(_httpClient);

            UpdateAirlineCompanyDTO updateAirlineCompanyDTO = new UpdateAirlineCompanyDTO
            {
                Id        = 2,
                Name      = "Arkia",
                CountryId = 1
            };

            var putResponse = await _httpClient.PutAsync($"api/airline-companies",
                                                         new StringContent(JsonSerializer.Serialize(updateAirlineCompanyDTO), Encoding.UTF8, MediaTypeNames.Application.Json));

            Assert.AreEqual(HttpStatusCode.Forbidden, putResponse.StatusCode);
        }