コード例 #1
0
ファイル: BookOrderService.cs プロジェクト: yakubovych/PetUA
        public async Task ApproveBookOrder(BookOrderForApproveDto order)
        {
            var bookOrder = _bookOrderRepository.Entities.FirstOrDefault(x => x.Id == order.Id);
            var animal    = _animalRepository.Entities.FirstOrDefault(x => x.Id == bookOrder.AnimalId);

            if (AnimalStatus.None != animal.Status)
            {
                throw new ObjectException("Animal is booked or adopted");
            }
            if (bookOrder == null)
            {
                throw new ObjectNotFoundException("Book order not found");
            }
            if (OrderStatus.Pending != bookOrder.Status)
            {
                throw new ObjectException("Book order was declined ot booktime was up");
            }
            animal.Status = AnimalStatus.Booked;
            _animalRepository.Update(animal);
            _mapper.Map(order, bookOrder);

            bookOrder.Status      = OrderStatus.Approved;
            bookOrder.ClosingDate = new DateTime();
            _bookOrderRepository.Update(bookOrder);
            await _bookOrderRepository.SaveAsync();
        }
コード例 #2
0
        public async Task <ActionResult> AppoveBookOrder(BookOrderForApproveDto bookOrder)
        {
            if (bookOrder == null)
            {
                return(BadRequest());
            }
            try
            {
                await _bookOrderService.ApproveBookOrder(bookOrder);

                return(Ok());
            }
            catch (Exception ex)
            {
                return(BadRequest(ex.Message));
            }
        }