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));
        }
Esempio n. 2
0
        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);
        }
Esempio n. 3
0
        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);
        }