public virtual async Task <IActionResult> CreatePendingBooking([FromBody] PendingBookingDTO pendingBooking) { var result = new JsonResult <PendingBookingDTO>(); try { var entity = pendingBooking.ToEntity(); entity.Id = Guid.NewGuid(); entity.Date = DateTime.Now; entity.ExpirationDate = DateTime.Now.AddMinutes(2); entity.PendingBookingPositions = pendingBooking.Positions.Select(x => new PendingBookingPosition { PendingBookingId = entity.Id, ServicePlacePositionId = x.Id }).ToList(); entity = await _service.CreatePendingBookingAsync(entity); var dto = _mapper.Map <PendingBooking, PendingBookingDTO>(entity); await _hubContext.Clients.All.RecieveNewPendingBooking(dto); result.Success = true; result.Result = dto; } catch (BookingException) { result.Message = "Valaki más már tett foglalást a kiválasztott hely(ek)re."; } catch { // TODO log result.Message = "A foglalási kérelmet nem lehet elindítani váratlan hiba miatt."; } return(Ok(result)); }
public async Task SendPendingBooking(PendingBookingDTO pendingBooking) { await Clients.All.RecieveNewPendingBooking(pendingBooking); }