public Task EditSessionAsync(EditSessionArgs args)
        {
            var sessionGrain   = this.client.GetGrain <ISessionGrain>(args.SessionId);
            var changeInfoArgs = new ChangeSessionInfoArgs()
            {
                Name     = args.Name,
                AutoStop = args.AutoStop
            };

            return(Task.WhenAll(
                       sessionGrain.ChangeInfo(changeInfoArgs),
                       sessionGrain.ChangeBulletin(args.Bulletin)));
        }
        private void OnShowEditModal()
        {
            this.editSessionArgs = new EditSessionArgs()
            {
                Name      = this.session?.Name,
                SessionId = this.SessionId,
                AutoStop  = this.session?.AutoStop == true,
                Bulletin  = new Bulletin(this.bulletin)
            };

            var onConfirm = new EventCallbackFactory().Create <EditSessionArgs>(this, this.HandleEditSessionConfirmAsync);

            EditSessionDialog.Show(this.DialogService, UIResources.EditSessionDialogTitle, this.editSessionArgs, onConfirm);
        }
        public static void Show(IDialogService dialogService, string title, EditSessionArgs editArgs, EventCallback <EditSessionArgs> onConfirm)
        {
            var parameters = new DialogParameters();

            parameters.Add(nameof(EditArgs), editArgs);
            parameters.Add(nameof(OnConfirm), onConfirm);

            var options = new DialogOptions()
            {
                CloseButton = true,
                MaxWidth    = MaxWidth.Small,
                FullWidth   = true
            };

            dialogService.Show <EditSessionDialog>(title, parameters, options);
        }
 private Task HandleEditSessionConfirmAsync(EditSessionArgs args)
 {
     return(this.Service.EditSessionAsync(args));
 }