Пример #1
0
        public async Task <ActionResult> AddFlightTicketCategoriesAsync(string id, SaveFlightTicketCategoryDTO values)
        {
            var flightAsync = await _unitOfWork.Flights.FindAsync(f =>
                                                                  f.Id.ToLower().Equals(id.ToLower()));

            // Kiểm tra mã chuyến bay
            var flight = flightAsync.SingleOrDefault();

            if (flight == null)
            {
                return(NotFound(new { Id = "Mã chuyến bay này không tồn tại." }));
            }

            var flightTicketCategoryAsync = await _unitOfWork.Flights
                                            .GetFlightTicketCategoriesByIdAsync(id);

            // Kiểm tra mã loại vé đã tồn tại hay chưa
            var flightTicketCategory = flightTicketCategoryAsync
                                       .Where(ftc => ftc.TicketCategoryId == values.TicketCategoryId).SingleOrDefault();

            if (flightTicketCategory != null)
            {
                return(BadRequest(new { Id = "Loại vé của chuyến bay này đã tồn tại." }));
            }

            // Mapping: SaveFlightTicketCategory
            flightTicketCategory = _mapper.Map <SaveFlightTicketCategoryDTO, FlightTicketCategory>(values);

            await _unitOfWork.FlightTicketCategories.AddAsync(flightTicketCategory);

            await _unitOfWork.CompleteAsync();

            return(Ok(new { success = true, message = "Thêm loại vé thành công." }));
        }
Пример #2
0
        public async Task <ActionResult> UpdateFlightAsync(string id, SaveFlightDTO values)
        {
            var flight = await _unitOfWork.Flights.GetByAsync(id);

            // Check flight exists
            if (flight == null)
            {
                return(NotFound(new { Id = "Mã chuyến bay này không tồn tại." }));
            }

            // Check id of flight
            if (id != values.Id)
            {
                return(BadRequest(new { id = "Mã chuyến bay không hợp lệ." }));
            }

            // Create SaveFlightDTO
            SaveFlightDTO saveFlightDTO = new SaveFlightDTO {
                Id          = values.Id,
                StartTime   = values.StartTime,
                FlightTime  = values.FlightTime,
                AirportFrom = values.AirportFrom,
                AirportTo   = values.AirportTo,
                SeatsCount  = values.SeatsCount,
                AirlineId   = values.AirlineId,
                Status      = values.Status
            };

            // Mapping: SaveAirport
            _mapper.Map <SaveFlightDTO, Flight>(saveFlightDTO, flight);

            // Mapping: SaveFlightTicketCategory
            foreach (var val in values.FlightTicketCategories)
            {
                var flightTicketCategoryAsync = await _unitOfWork.Flights
                                                .GetFlightTicketCategoriesByIdAsync(values.Id);

                var flightTicketCategory = flightTicketCategoryAsync
                                           .Where(ftc => ftc.TicketCategoryId == val.TicketCategoryId).SingleOrDefault();

                SaveFlightTicketCategoryDTO save = new SaveFlightTicketCategoryDTO {
                    FlightId         = values.Id,
                    TicketCategoryId = val.TicketCategoryId,
                    Price            = val.Price,
                };
                _mapper.Map <SaveFlightTicketCategoryDTO, FlightTicketCategory>(save, flightTicketCategory);
            }

            await _unitOfWork.CompleteAsync();

            return(Ok(new { success = true, message = "Sửa thành công" }));
        }
Пример #3
0
        public async Task <ActionResult> PostFlightTicketCategoriesAsync(string id, SaveFlightTicketCategoryDTO values)
        {
            var res = await _service.AddFlightTicketCategoriesAsync(id, values);

            return(res);
        }