public async Task <Result <TicketsResult> > HandlePurchase(TicketsOptions options) { try { var tickets = await _ticketsService.ReserveTickets(options, true); var city = await _cityService.GetCity(options.DepartureCityId); var result = new TicketsResult { Tickets = tickets.Select(x => _mapper.Map <TicketDto>(x)), PlacesToBuy = city.Stations.Select(x => x.Name) }; return(Result.Ok(result)); } catch (DbUpdateConcurrencyException ex) { return(Result.Fail <TicketsResult>(HttpStatusCode.InternalServerError, $"Sorry! It seems that your seats are already busy.")); } catch (Exception ex) { return(Result.Fail <TicketsResult>(HttpStatusCode.InternalServerError, $"Something went wrong. Please repeat the operation. {ex.Message}")); } }
public TicketsResult Search(TicketSearchParams Criteria, RequestState RequestState) { InitCusRelContext(); var result = new TicketsResult { Tickets = Criteria.Search(RequestState) }; if (result.Tickets == null) { result.SetFail("No tickets found"); } return(result); }
public async Task <Result <TicketsResult> > HandlePurchaseReserve(Reservation reservation) { try { var tickets = await _ticketsService.PurchaseReservationTickets(reservation); var result = new TicketsResult { Tickets = tickets.Select(x => _mapper.Map <TicketDto>(x)) }; return(Result.Ok(result)); } catch (DbUpdateConcurrencyException ex) { return(Result.Fail <TicketsResult>(HttpStatusCode.InternalServerError, $"Sorry! It seems that your seats are already busy.")); } catch (Exception ex) { return(Result.Fail <TicketsResult>(HttpStatusCode.InternalServerError, $"Something went wrong. Please repeat the operation. {ex.Message}")); } }
public Page <Ticket> MapFromTicketResult(TicketsResult result) { return(AutoMapper.Mapper.Map <TicketsResult, Page <Ticket> >(result)); }