public async Task <IActionResult> PutReservationMessage(int id, ReservationMessage reservationMessage) { if (id != reservationMessage.Id) { return(BadRequest()); } _context.Entry(reservationMessage).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!ReservationMessageExists(id)) { return(NotFound()); } else { throw; } } return(NoContent()); }
/// <summary> /// Map InputModel to QueueModel. /// </summary> /// <param name="reservation">Reservation input model to map.</param> /// <returns>ReservationQueueItem</returns> public static ReservationQueueItem MapToQueueItem(this ReservationMessage reservation) => new ReservationQueueItem { DateTimeOfReservation = reservation.DateTimeOfReservation, Email = reservation.Email, FullName = reservation.FullName, NumberOfPersons = reservation.NumberOfPersons, Tel = reservation.Tel, };
private ReservationDtoMessage RequestAsync(ReservationMessage message) { var bus = BusPublisherStub.Create(); var service = new ReservationService(Db, bus); service.RequestAsync(message).Wait(); return(bus.Dequeue <ReservationDtoMessage>(QueueNames.Library)); }
public async Task RequestAsync(ReservationMessage message) { var reservation = await _db.Reservations .Include(x => x.Loans) .Include(x => x.Member) .FirstOrDefaultAsync(x => x.Number == message.Number); if (reservation == null) { reservation = new Reservation { RequestDate = DateTime.UtcNow, Status = StatusReservation.Opened, Number = message.Number, Member = await _db.Members.FirstOrDefaultAsync(x => x.DocumentId == message.MemberId) }; if (reservation.Member == null) { reservation.Member = new Member { DocumentId = message.MemberId, Name = message.MemberName }; } reservation.Loans = new List <Loan>(); foreach (var item in message.Items) { var loan = await GetLoanAsync(_db, item, reservation.RequestDate); reservation.Loans.Add(loan); } await _db.AddAsync(reservation); } else { reservation.Loans = new List <Loan>(); foreach (var item in message.Items) { var loan = await GetLoanAsync(_db, item, reservation.RequestDate); reservation.Loans.Add(loan); } _db.Update(reservation); } await _db.SaveChangesAsync(); await SendDtoAsync(reservation.Id); }
public async Task <ActionResult <ReservationMessage> > PostReservationMessage(ReservationMessage reservationMessage) { _context.ReservationMessage.Add(reservationMessage); await _context.SaveChangesAsync(); return(CreatedAtAction("GetReservationMessage", new { id = reservationMessage.Id }, reservationMessage)); }