public async Task <IActionResult> AddUnavailability([FromBody]
                                                            AddUnavailabilityCommand command
                                                            )
        {
            if (!ModelState.IsValid)
            {
                return((IActionResult)BadRequest());
            }

            var result = await _serviceCategoryService.AddUnavailability(command);

            return(CreatedAtAction(nameof(AddUnavailability), new { id = result.Id }, null));
        }
예제 #2
0
        public async Task <Unavailability> AddUnavailability(AddUnavailabilityCommand addUnavailabilityCommand)
        {
            Unavailability unavailability = new Unavailability(
                addUnavailabilityCommand.SiteId,
                addUnavailabilityCommand.StaffId,
                addUnavailabilityCommand.ServiceItemId,
                addUnavailabilityCommand.LocationId,
                addUnavailabilityCommand.StartDateTime,
                addUnavailabilityCommand.EndDateTime,
                addUnavailabilityCommand.Sunday,
                addUnavailabilityCommand.Monday,
                addUnavailabilityCommand.Tuesday,
                addUnavailabilityCommand.Wednesday,
                addUnavailabilityCommand.Thursday,
                addUnavailabilityCommand.Friday,
                addUnavailabilityCommand.Saturday,
                addUnavailabilityCommand.Description);

            _unavailabilityRepository.Add(unavailability);

            await _businessIntegrationEventService.PublishThroughEventBusAsync(new UnavailabilityAddedByStaffEvent(
                                                                                   unavailability.StaffId,
                                                                                   unavailability.SiteId,
                                                                                   unavailability.StaffId,
                                                                                   unavailability.ServiceItemId,
                                                                                   unavailability.LocationId,
                                                                                   unavailability.StartDateTime,
                                                                                   unavailability.EndDateTime,
                                                                                   unavailability.Sunday,
                                                                                   unavailability.Monday,
                                                                                   unavailability.Tuesday,
                                                                                   unavailability.Wednesday,
                                                                                   unavailability.Thursday,
                                                                                   unavailability.Friday,
                                                                                   unavailability.Saturday,
                                                                                   unavailability.Description
                                                                                   ));

            //_unavailabilityRepository.UnitOfWork.Commit();

            return(unavailability);
        }
예제 #3
0
        public async Task <Unavailability> AddUnavailability(AddUnavailabilityCommand addUnavailabilityCommand)
        {
            SchedulableCatalogItem serviceItem = GetExistingServiceItem(addUnavailabilityCommand.SiteId, addUnavailabilityCommand.ServiceItemId);

            Unavailability unavailability = serviceItem.AddUnavailability(
                addUnavailabilityCommand.StaffId,
                addUnavailabilityCommand.LocationId,
                addUnavailabilityCommand.StartDateTime,
                addUnavailabilityCommand.EndDateTime,
                addUnavailabilityCommand.Sunday,
                addUnavailabilityCommand.Monday,
                addUnavailabilityCommand.Tuesday,
                addUnavailabilityCommand.Wednesday,
                addUnavailabilityCommand.Thursday,
                addUnavailabilityCommand.Friday,
                addUnavailabilityCommand.Saturday,
                addUnavailabilityCommand.Description);

            await _businessIntegrationEventService.PublishThroughEventBusAsync(new UnavailabilityCreatedEvent(
                                                                                   unavailability.StaffId,
                                                                                   unavailability.SiteId,
                                                                                   unavailability.StaffId,
                                                                                   unavailability.ServiceItemId,
                                                                                   unavailability.LocationId,
                                                                                   unavailability.StartDateTime,
                                                                                   unavailability.EndDateTime,
                                                                                   unavailability.Sunday,
                                                                                   unavailability.Monday,
                                                                                   unavailability.Tuesday,
                                                                                   unavailability.Wednesday,
                                                                                   unavailability.Thursday,
                                                                                   unavailability.Friday,
                                                                                   unavailability.Saturday,
                                                                                   unavailability.Description
                                                                                   ));

            return(unavailability);
        }