コード例 #1
0
ファイル: BookingsController.cs プロジェクト: kuroza/UBD-TABS
        public async Task <IActionResult> CreateBooking([FromBody] SaveBookingResource bookingResource)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var booking = mapper.Map <SaveBookingResource, Booking>(bookingResource);

            var roomExist     = repository.BookingRoomExist(booking);
            var offeringExist = repository.BookingOfferingExist(booking);

            if (roomExist && offeringExist)
            {
                return(Conflict("The room and module is already taken"));
            }
            else if (roomExist)
            {
                return(Conflict("The room is already taken"));
            }
            else if (offeringExist)
            {
                return(Conflict("The module is already booked in the same time slot"));
            }

            repository.Add(booking);
            await unitOfWork.CompleteAsync();

            booking = await repository.GetBooking(booking.Id);

            var result = mapper.Map <Booking, BookingResource>(booking);

            return(Ok(result));
        }
コード例 #2
0
ファイル: BookingsController.cs プロジェクト: kuroza/UBD-TABS
        public async Task <IActionResult> ConfirmCreateBooking([FromBody] SaveBookingResource bookingResource)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var booking = mapper.Map <SaveBookingResource, Booking>(bookingResource);

            repository.Add(booking);
            await unitOfWork.CompleteAsync();

            booking = await repository.GetBooking(booking.Id);

            var result = mapper.Map <Booking, BookingResource>(booking);

            return(Ok(result));
        }
コード例 #3
0
        public async Task <ActionResult <DisplayBookingResource> > PostBooking(SaveBookingResource resource)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState.GetErrorMessages()));
            }

            var booking = _mapper.Map <SaveBookingResource, Booking>(resource);
            var result  = await _bookingService.SaveAsync(booking);

            if (!result.Success)
            {
                return(BadRequest(result.Message));
            }

            var bookingResource = _mapper.Map <Booking, DisplayBookingResource>(result.Booking);

            return(CreatedAtAction("GetBooking", new { id = bookingResource.ID }, bookingResource));
        }
コード例 #4
0
        public async Task <ActionResult <DisplayBookingResource> > PutBooking(int id, SaveBookingResource resource)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState.GetErrorMessages()));
            }

            var booking = _mapper.Map <SaveBookingResource, Booking>(resource);
            var result  = await _bookingService.UpdateAsync(id, booking);

            if (!result.Success)
            {
                return(BadRequest(result.Message));
            }

            var bookingResource = _mapper.Map <Booking, DisplayBookingResource>(result.Booking);

            return(bookingResource);
        }