public async Task SendTicketAsync(Guid ticketId, TicketDeliveryType deliveryType, string ticketValidationUriFormat, string homepageUrl) { await ValidateAsync(ticketId, deliveryType); TicketDeliveryData ticketData = await _ticketDataRepo.GetAsync(ticketId); await SendTicketByMailAsync(ticketData, ticketValidationUriFormat, homepageUrl); }
public async Task ValidateAsync(Guid ticketId, TicketDeliveryType deliveryType) { if (deliveryType != TicketDeliveryType.Email) { throw new NotSupportedException( $"The delivery type {deliveryType} is not yet supported!"); } if (!await _ticketsRepo.ExistsAsync(ticketId)) { throw new TicketNotFoundException(); } }
public async Task UpdateDeliveryStatusAsync(Guid ticketId, bool isDelivered, DateTime deliveryDate, TicketDeliveryType deliveryType) { var ticket = await _context.Tickets.FindAsync(ticketId); if (ticket == null) { throw new DbQueryException("Ticket not found"); } ticket.IsDelivered = isDelivered; ticket.DeliveryDate = deliveryDate; ticket.DeliveryType = deliveryType; await _context.SaveChangesAsync(); }
public static string GetStringValue(this TicketDeliveryType deliveryType) { return(deliveryType.ToString().ToLowerInvariant()); }