Пример #1
0
        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);
        }
Пример #2
0
        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();
            }
        }
Пример #3
0
        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();
        }
Пример #4
0
 public static string GetStringValue(this TicketDeliveryType deliveryType)
 {
     return(deliveryType.ToString().ToLowerInvariant());
 }