Esempio n. 1
0
        public async Task AddAsync(WOLTarget target)
        {
            using (var conn = await OpenAppServiceAsync())
            {
                if (conn == null)
                {
                    return;
                }
                var values = new ValueSet
                {
                    [nameof(Keys.Command)]         = nameof(AppCommands.Add),
                    [nameof(Keys.PhysicalAddress)] = target.Physical,
                    [nameof(Keys.IpAddress)]       = target.Address,
                    [nameof(Keys.PortNo)]          = target.Port,
                    [nameof(Keys.DelaySec)]        = target.Delay,
                    [nameof(Keys.Comment)]         = target.Comment
                };
                var response = await conn.SendMessageAsync(values);

                if (response.Status == AppServiceResponseStatus.Success)
                {
                    var targetListStr = response.Message[nameof(Keys.TargetList)] as string;
                    RefreshTargetList(targetListStr);
                    var resourceLoader = ResourceLoader.GetForCurrentView();
                    var status         = response.Message[nameof(Keys.StatusMessage)] as string;
                    if (!string.IsNullOrEmpty(status))
                    {
                        StatusMessage = resourceLoader.GetString(status);
                    }
                }
            }
        }
        public TargetEditorPageViewModel(TargetEditorModel targetEditor)
        {
            WOLTargets  = new ObservableCollection <WOLTarget>();
            EditorModel = targetEditor;

            AddMacCommand = new DelegateCommand(async() => {
                WOLTarget target = new WOLTarget()
                {
                    Physical = PhysicalToEdit, Comment = CommentToEdit, Address = AddressToEdit, Port = PortToEdit, Delay = DelayToEdit
                };
                await EditorModel.AddAsync(target);
            });
            RemoveMacCommand = new DelegateCommand(async() => {
                WOLTarget target = new WOLTarget()
                {
                    Physical = PhysicalToEdit
                };
                await EditorModel.RemoveAsync(target);
            });
            WakeNowCommand = new DelegateCommand(async() => {
                WOLTarget target = new WOLTarget()
                {
                    Physical = PhysicalToEdit, Address = AddressToEdit, Port = PortToEdit
                };
                await EditorModel.WakeNowAsync(target);
            });
        }
Esempio n. 3
0
        public async Task RemoveAsync(WOLTarget target)
        {
            using (var conn = await OpenAppServiceAsync())
            {
                if (conn == null)
                {
                    return;
                }
                var values = new ValueSet
                {
                    [nameof(Keys.Command)]         = nameof(AppCommands.Remove),
                    [nameof(Keys.PhysicalAddress)] = target.Physical,
                };
                var response = await conn.SendMessageAsync(values);

                if (response.Status == AppServiceResponseStatus.Success)
                {
                    var targetListStr = response.Message[nameof(Keys.TargetList)] as string;
                    RefreshTargetList(targetListStr);
                }
            }
        }