public async Task <IActionResult> AddAvailability([FromBody] AddAvailabilityCommand command ) { if (!ModelState.IsValid) { return((IActionResult)BadRequest()); } var result = await _serviceCategoryService.AddAvailability(command); return(CreatedAtAction(nameof(AddAvailability), new { id = result.Id }, null)); }
public async Task <Availability> AddAvailability(AddAvailabilityCommand addAvailabilityCommand) { Availability availability = new Availability( addAvailabilityCommand.SiteId, addAvailabilityCommand.StaffId, addAvailabilityCommand.ServiceItemId, addAvailabilityCommand.LocationId, addAvailabilityCommand.StartDateTime, addAvailabilityCommand.EndDateTime, addAvailabilityCommand.Sunday, addAvailabilityCommand.Monday, addAvailabilityCommand.Tuesday, addAvailabilityCommand.Wednesday, addAvailabilityCommand.Thursday, addAvailabilityCommand.Friday, addAvailabilityCommand.Saturday, addAvailabilityCommand.BookableEndDateTime); _availabilityRepository.Add(availability); await _businessIntegrationEventService.PublishThroughEventBusAsync(new AvailabilityAddedByStaffEvent( availability.StaffId, availability.SiteId, availability.StaffId, availability.ServiceItemId, availability.LocationId, availability.StartDateTime, availability.EndDateTime, availability.Sunday, availability.Monday, availability.Tuesday, availability.Wednesday, availability.Thursday, availability.Friday, availability.Saturday, availability.BookableEndDateTime )); //_availabilityRepository.UnitOfWork.Commit(); return(availability); }
public async Task <Availability> AddAvailability(AddAvailabilityCommand addAvailabilityCommand) { SchedulableCatalogItem serviceItem = GetExistingServiceItem(addAvailabilityCommand.SiteId, addAvailabilityCommand.ServiceItemId); Availability availability = serviceItem.AddAvailability( addAvailabilityCommand.StaffId, addAvailabilityCommand.LocationId, addAvailabilityCommand.StartDateTime, addAvailabilityCommand.EndDateTime, addAvailabilityCommand.Sunday, addAvailabilityCommand.Monday, addAvailabilityCommand.Tuesday, addAvailabilityCommand.Wednesday, addAvailabilityCommand.Thursday, addAvailabilityCommand.Friday, addAvailabilityCommand.Saturday, addAvailabilityCommand.BookableEndDateTime); await _businessIntegrationEventService.PublishThroughEventBusAsync(new AvailabilityCreatedEvent( availability.StaffId, availability.SiteId, availability.StaffId, availability.ServiceItemId, availability.LocationId, availability.StartDateTime, availability.EndDateTime, availability.Sunday, availability.Monday, availability.Tuesday, availability.Wednesday, availability.Thursday, availability.Friday, availability.Saturday, availability.BookableEndDateTime )); return(availability); }