Example #1
0
        public async Task <NotificationResultDto> Handle(UpdateBroadcastersCommand command, CancellationToken cancellationToken)
        {
            try
            {
                if (!command.Valid())
                {
                    return(_handlerResponse.Response(command.IsValid, command.Notifications));
                }


                var broadcasterEntities = await _broadcastersRepository.GetByIdAsync(command.Id);

                if (broadcasterEntities != null)
                {
                    var broadcaster = await _broadcastersRepository.GetByNameAsync(command.BrodcastersName);

                    if (broadcaster != null)
                    {
                        broadcasterEntities.NameUnavailable();
                    }

                    if (broadcasterEntities.IsValid)
                    {
                        broadcasterEntities.Update(command.BrodcastersName);

                        if (broadcasterEntities.IsValid)
                        {
                            await _broadcastersRepository.UpdateAsync(broadcasterEntities);
                        }
                    }

                    AddNotifications(broadcasterEntities);
                }
                else
                {
                    var broadcasters = new Broadcasters();
                    broadcasters.NotBrodcastersForUpdate();
                    AddNotifications(broadcasters);
                }
            }
            catch (Exception ex)
            {
                AddNotification("500", ex.Message);
            }

            return(_handlerResponse.Response(IsValid, Notifications));
        }
        public async Task <IActionResult> Put([FromBody] UpdateBroadcastersCommand command)
        {
            var notificationResult = await _broadcastersAppService.UpdatedAsync(command);

            return(Response(notificationResult));
        }
 public async Task <NotificationResultDto> UpdatedAsync(UpdateBroadcastersCommand command)
 => await _mediator.Send(command);