public async Task <IActionResult> Reject(int bookingId, [FromBody] ManualBookingRejectionRequest rejectionRequest) { var(_, _, admin, _) = await _administratorContext.GetCurrent(); var(_, isFailure, error) = await _bookingManagementService.RejectManually(bookingId, rejectionRequest.Reason, admin); if (isFailure) { return(BadRequest(ProblemDetailsBuilder.Build(error))); } return(NoContent()); }
public async Task <IActionResult> Refresh(int bookingId) { var(_, _, admin, _) = await _administratorContext.GetCurrent(); var(_, isFailure, error) = await _bookingManagementService.RefreshStatus(bookingId, admin); if (isFailure) { return(BadRequest(ProblemDetailsBuilder.Build(error))); } return(NoContent()); }
public async Task <IActionResult> GetCounterparty() { var agent = await _agentContextService.GetAgent(); var(_, isFailure, counterpartyInfo, error) = await _counterpartyService.Get(agent.CounterpartyId, LanguageCode); if (isFailure) { return(BadRequest(ProblemDetailsBuilder.Build(error))); } return(Ok(counterpartyInfo)); }
public async Task <IActionResult> GetChildAgencyPolicies([FromRoute] int agencyId) { var agent = await _agentContext.GetAgent(); var(_, isFailure, markupList, error) = await _policyManager.GetForChildAgency(agencyId, agent); if (isFailure) { return(BadRequest(ProblemDetailsBuilder.Build(error))); } return(Ok(markupList)); }
public async Task <IActionResult> InviteAdministrator([FromBody] SendAdminInvitationRequest request) { var(_, _, admin, _) = await _administratorContext.GetCurrent(); var(_, isFailure, _, error) = await _adminInvitationCreateService.Send(request.ToUserInvitationData(), admin.Id); if (isFailure) { return(BadRequest(ProblemDetailsBuilder.Build(error))); } return(NoContent()); }
public async Task <IActionResult> GetAvailabilityForAccommodation([FromRoute] Guid searchId, [FromRoute] string htId) { Counters.AccommodationAvailabilitySearchTimes.Inc(); var(_, isFailure, response, error) = await _roomSelectionService.Get(searchId, htId, await _agentContextService.GetAgent(), LanguageCode); if (isFailure) { return(BadRequest(ProblemDetailsBuilder.Build(error))); } return(Ok(response)); }
public async Task <IActionResult> GetContractFile() { var agent = await _agentContextService.GetAgent(); var(_, isFailure, (stream, contentType), error) = await _contractFileService.Get(agent); if (isFailure) { return(BadRequest(ProblemDetailsBuilder.Build(error))); } return(File(stream, contentType)); }
public async Task <IActionResult> RefreshStatus([FromRoute] int bookingId) { var agent = await _agentContextService.GetAgent(); var(_, isFailure, error) = await _bookingManagementService.RefreshStatus(bookingId, agent); if (isFailure) { return(BadRequest(ProblemDetailsBuilder.Build(error))); } return(Ok()); }
public async Task <IActionResult> FinalizeBooking([FromRoute] string referenceCode) { var agent = await _agentContextService.GetAgent(); var(_, isFailure, bookingDetails, error) = await _bankCreditCardBookingFlow.Finalize(referenceCode, agent, LanguageCode); if (isFailure) { return(BadRequest(ProblemDetailsBuilder.Build(error))); } return(Ok(bookingDetails)); }
public async Task <IActionResult> CancelBookingByReferenceCode(string referenceCode) { var agent = await _agentContextService.GetAgent(); var(_, isFailure, error) = await _bookingManagementService.Cancel(referenceCode, agent); if (isFailure) { return(BadRequest(ProblemDetailsBuilder.Build(error))); } return(NoContent()); }
public async Task <Result <Accommodation, ProblemDetails> > GetAccommodation(Guid searchId, Guid resultId, AgentContext agent, string languageCode) { var(_, isFailure, selectedResult, error) = await GetSelectedResult(searchId, resultId, agent); if (isFailure) { return(ProblemDetailsBuilder.Fail <Accommodation>(error)); } return(await _supplierConnectorManager .Get(selectedResult.Supplier) .GetAccommodation(selectedResult.Result.Accommodation.Id, languageCode)); }
public async Task <IActionResult> CompleteOffline(int bookingId) { var(_, _, administrator, _) = await _administratorContext.GetCurrent(); var(_, isFailure, error) = await _bookingPaymentService.CompleteOffline(bookingId, administrator); if (isFailure) { return(BadRequest(ProblemDetailsBuilder.Build(error))); } return(NoContent()); }
public async Task <IActionResult> Disapprove(int reportId) { var(_, _, admin, _) = await _administratorContext.GetCurrent(); var(_, isFailure, error) = await _reportsManagementService.Disapprove(reportId, admin); if (isFailure) { return(BadRequest(ProblemDetailsBuilder.Build(error))); } return(NoContent()); }
public async Task <IActionResult> ModifyPolicy(int id, [FromBody] MarkupPolicySettings policySettings) { var agent = await _agentContext.GetAgent(); var(_, isFailure, error) = await _policyManager.Modify(id, policySettings, agent); if (isFailure) { return(BadRequest(ProblemDetailsBuilder.Build(error))); } return(NoContent()); }
public async Task <IActionResult> RemoveRoom([FromRoute] int accommodationId, [FromRoute] int roomId) { var(_, isFailure, error) = await _accommodationManagementService.RemoveRooms(accommodationId, new List <int> { roomId }); if (isFailure) { return(BadRequest(ProblemDetailsBuilder.Build(error))); } return(NoContent()); }
public async Task <IActionResult> AddPolicy([FromBody] MarkupPolicyData policyData) { var agent = await _agentContext.GetAgent(); var(_, isFailure, error) = await _policyManager.Add(policyData, agent); if (isFailure) { return(BadRequest(ProblemDetailsBuilder.Build(error))); } return(NoContent()); }
public async Task <IActionResult> RemovePolicy(int id) { var agent = await _agentContext.GetAgent(); var(_, isFailure, error) = await _policyManager.Remove(id, agent); if (isFailure) { return(BadRequest(ProblemDetailsBuilder.Build(error))); } return(NoContent()); }
public async Task <IActionResult> RecreateInvitation(string invitationCodeHash) { var agent = await _agentContextService.GetAgent(); var(_, isFailure, code, error) = await _agentInvitationCreateService.Recreate(invitationCodeHash); if (isFailure) { return(BadRequest(ProblemDetailsBuilder.Build(error))); } return(Ok(code)); }
public async Task <IActionResult> SendBookingInvoice([Required] int bookingId, [Required][FromBody] SendBookingDocumentRequest sendMailRequest) { var agent = await _agentContextService.GetAgent(); var(_, isFailure, error) = await _bookingDocumentsService.SendInvoice(bookingId, sendMailRequest.Email, agent); if (isFailure) { return(BadRequest(ProblemDetailsBuilder.Build(error))); } return(NoContent()); }
public async Task <IActionResult> Delete(int cardId) { var agent = await _agentContextService.GetAgent(); var(_, isFailure, error) = await _cardsManagementService.Delete(cardId, agent); if (isFailure) { return(BadRequest(ProblemDetailsBuilder.Build(error))); } return(NoContent()); }
public async Task <IActionResult> UpdatePermissionsInAgency(int agentId, [FromBody] List <InAgencyPermissions> newPermissions) { var(_, isFailure, permissions, error) = await _permissionManagementService .SetInAgencyPermissions(agentId, newPermissions, await _agentContextService.GetAgent()); if (isFailure) { return(BadRequest(ProblemDetailsBuilder.Build(error))); } return(Ok(permissions)); }
public async Task <IActionResult> AddPolicy([FromRoute] int agencyId, [FromBody] MarkupPolicySettings settings) { var agent = await _agentContext.GetAgent(); var(_, isFailure, error) = await _policyManager.Add(agencyId, settings, agent); if (isFailure) { return(BadRequest(ProblemDetailsBuilder.Build(error))); } return(NoContent()); }
public async Task <IActionResult> ActivateAgency(int agencyId) { var agent = await _agentContextService.GetAgent(); var(_, isFailure, error) = await _agencyManagementService.ActivateChildAgency(agencyId, agent); if (isFailure) { return(BadRequest(ProblemDetailsBuilder.Build(error))); } return(NoContent()); }
public async Task <IActionResult> GetBookingInvoice([Required] int bookingId) { var agent = await _agentContextService.GetAgent(); var(_, isFailure, document, error) = await _bookingDocumentsService.GetActualInvoice(bookingId, agent); if (isFailure) { return(BadRequest(ProblemDetailsBuilder.Build(error))); } var(regData, invoice) = document; return(Ok(new BookingDocument <BookingInvoiceInfo>(regData.Number, regData.Date.DateTime, invoice))); }
public async Task <IActionResult> GetBookingStatusHistory(int bookingId) { var agent = await _agentContextService.GetAgent(); var(_, bookingIsFailure, _, bookingError) = await _bookingRecordManager.Get(bookingId) .CheckPermissions(agent); if (bookingIsFailure) { return(BadRequest(ProblemDetailsBuilder.Build(bookingError))); } return(Ok(await _bookingInfoService.GetBookingStatusHistory(bookingId))); }
public async Task <IActionResult> CreateInvitation([FromBody] SendAgentInvitationRequest request) { var agent = await _agentContextService.GetAgent(); var(_, isFailure, code, error) = await _agentInvitationCreateService.Create(request.ToUserInvitationData(), UserInvitationTypes.Agent, agent.AgentId, agent.AgencyId); if (isFailure) { return(BadRequest(ProblemDetailsBuilder.Build(error))); } return(Ok(code)); }
public async Task <IActionResult> GetFullBookingReport(DateTime from, DateTime end) { var(_, isFailure, stream, error) = await _reportService.GetFullBookingsReport(from, end); if (isFailure) { return(BadRequest(ProblemDetailsBuilder.Build(error))); } return(new FileStreamResult(stream, new MediaTypeHeaderValue("text/csv")) { FileDownloadName = $"full-bookings-report-{from:g}-{end:g}.csv" }); }
public async Task <IActionResult> SetRolesInAgency(int agentId, [FromBody] List <int> newRoles) { var(_, isFailure, error) = await _rolesAssignmentService .SetInAgencyRoles(agentId, newRoles, await _agentContextService.GetAgent()); if (isFailure) { return(BadRequest(ProblemDetailsBuilder.Build(error))); } await _agentContextInternal.RefreshAgentContext(); return(Ok()); }
public async Task <IActionResult> GetAgencyWiseDirectConnectivityReport(DateTime from, DateTime end) { var(_, isFailure, stream, error) = await _reportService.GetAgencyWiseReport(from, end); if (isFailure) { return(BadRequest(ProblemDetailsBuilder.Build(error))); } return(new FileStreamResult(stream, new MediaTypeHeaderValue("text/csv")) { FileDownloadName = $"direct-connectivity-report-agencies-{from:g}-{end:g}.csv" }); }
public async Task <IActionResult> GetBookingCancellationPenalty(int bookingId) { var agent = await _agentContextService.GetAgent(); var(_, isFailure, booking, error) = await _bookingRecordManager.Get(bookingId) .CheckPermissions(agent); if (isFailure) { return(BadRequest(ProblemDetailsBuilder.Build(error))); } return(Ok(BookingCancellationPenaltyCalculator.Calculate(booking, _dateTimeProvider.UtcNow()))); }