예제 #1
0
        public async Task <IHttpActionResult> DeleteAirport(ViewModels.Airport dto)
        {
            var entity = await unitOfWork.AirportRepository.GetByID(dto.Id);

            if (entity == null)
            {
                return(NotFound());
            }



            var canDelete = unitOfWork.AirportRepository.CanDelete(entity);

            if (canDelete.Code != HttpStatusCode.OK)
            {
                return(canDelete);
            }

            unitOfWork.AirportRepository.Delete(entity);

            var saveResult = await unitOfWork.SaveAsync();

            if (saveResult.Code != HttpStatusCode.OK)
            {
                return(saveResult);
            }

            return(Ok(dto));
        }
예제 #2
0
 // public string ImportId { get; set; }
 // public string Type { get; set; }
 public static void Fill(Models.Airport entity, ViewModels.Airport airport)
 {
     entity.Id     = airport.Id;
     entity.Name   = airport.Name;
     entity.IATA   = airport.IATA;
     entity.ICAO   = airport.ICAO;
     entity.CityId = airport.CityId;
     // entity.ImportId = airport.ImportId;
     //entity.Type = airport.Type;
 }
예제 #3
0
        public virtual CustomActionResult  Validate(ViewModels.Airport dto)
        {
            var checkByName = GetByName(dto.Id, dto.Name);

            if (checkByName != null)
            {
                return(Exceptions.getDuplicateException("AIRPORT-01", "Name"));
            }

            return(new CustomActionResult(HttpStatusCode.OK, ""));
        }
예제 #4
0
        public async Task <IHttpActionResult> PostAirport(ViewModels.Airport dto)
        {
            // return Ok(client);
            if (dto == null)
            {
                return(Exceptions.getNullException(ModelState));
            }
            if (!ModelState.IsValid)
            {
                // return BadRequest(ModelState);
                return(Exceptions.getModelValidationException(ModelState));
            }
            var validate = unitOfWork.AirportRepository.Validate(dto);

            if (validate.Code != HttpStatusCode.OK)
            {
                return(validate);
            }

            Airport entity = null;

            if (dto.Id == -1)
            {
                entity = new Airport();
                unitOfWork.AirportRepository.Insert(entity);
            }

            else
            {
                entity = await unitOfWork.AirportRepository.GetByID(dto.Id);
            }

            if (entity == null)
            {
                return(Exceptions.getNotFoundException());
            }

            ViewModels.Airport.Fill(entity, dto);

            var saveResult = await unitOfWork.SaveAsync();

            if (saveResult.Code != HttpStatusCode.OK)
            {
                return(saveResult);
            }

            dto.Id = entity.Id;
            return(Ok(dto));
        }