public RegexActionBuilder() { actionItem = ActionData.GetCreateActionItemModel(UI.Types.ActionType.Regex); action = new Core.Action.Models.ActionModel(); action.Action = Core.Action.Types.ActionType.Regex; inputData = new RegexActionInputModel(); inputModels = new List <ActionInputModel>(); detailInputModels = new List <ActionInputModel>(); actionResultKeys = ActionData.GetActionResults(UI.Types.ActionType.Regex); inputModels.Add(new ActionInputModel() { InputType = Types.InputType.Text, Placeholder = "请输入", Title = "内容", BindingName = nameof(RegexActionInputModel.Content) }); inputModels.Add(new ActionInputModel() { InputType = Types.InputType.Text, Placeholder = "请输入", Title = "正则表达式", BindingName = nameof(RegexActionInputModel.Regex) }); }
public SystemNotificationActionBuilder() { actionItem = ActionData.GetCreateActionItemModel(UI.Types.ActionType.SystemNotification); action = new Core.Action.Models.ActionModel(); action.Action = Core.Action.Types.ActionType.SystemNotification; inputData = new SystemNotificationActionInputModel() { ToastScenarioType = SystemNotificationActionData.ToastScenarioTypes[0], ToastActionType = SystemNotificationActionData.ToastActionTypes[0] }; inputModels = new List <ActionInputModel>(); detailInputModels = new List <ActionInputModel>(); inputModels.Add(new ActionInputModel() { InputType = Types.InputType.Text, Placeholder = "请输入", Title = "标题", //IsStretch = true, BindingName = nameof(SystemNotificationActionInputModel.Title) }); inputModels.Add(new ActionInputModel() { InputType = Types.InputType.MultiLineText, Placeholder = "请输入", Title = "内容", //IsStretch = true, BindingName = nameof(SystemNotificationActionInputModel.Content) }); detailInputModels.Add(new ActionInputModel() { InputType = Types.InputType.Select, Title = "通知类型", SelectItems = SystemNotificationActionData.ToastScenarioTypes, BindingName = nameof(SystemNotificationActionInputModel.ToastScenarioType) }); detailInputModels.Add(new ActionInputModel() { InputType = Types.InputType.Text, Title = "图标", Placeholder = "支持网络图片和本地图片", BindingName = nameof(SystemNotificationActionInputModel.Icon) }); detailInputModels.Add(new ActionInputModel() { InputType = Types.InputType.Select, Title = "点击通知操作", SelectItems = SystemNotificationActionData.ToastActionTypes, BindingName = nameof(SystemNotificationActionInputModel.ToastActionType) }); detailInputModels.Add(new ActionInputModel() { InputType = Types.InputType.Text, Placeholder = "请输入链接,仅在通知操作为打开链接时有效", Title = "打开链接", //IsStretch = true, BindingName = nameof(SystemNotificationActionInputModel.Url) }); }
public DownloadFileActionBuilder() { actionItem = ActionData.GetCreateActionItemModel(UI.Types.ActionType.DownloadFile); action = new Core.Action.Models.ActionModel(); action.Action = Core.Action.Types.ActionType.DownloadFile; inputData = new DownloadFileActionInputModel(); inputModels = new List <ActionInputModel>(); detailInputModels = new List <ActionInputModel>(); actionResultKeys = ActionData.GetActionResults(UI.Types.ActionType.DownloadFile); inputModels.Add(new ActionInputModel() { InputType = Types.InputType.Text, Placeholder = "请输入网络文件链接", Title = "网络文件链接", BindingName = nameof(DownloadFileActionInputModel.Url) }); inputModels.Add(new ActionInputModel() { InputType = Types.InputType.Text, Placeholder = "请输入保存路径,包括文件名", Title = "保存路径", BindingName = nameof(DownloadFileActionInputModel.SavePath) }); detailInputModels.Add(new ActionInputModel() { InputType = Types.InputType.CustomKeyValue, Title = "请求头", BindingName = nameof(DownloadFileActionInputModel.Headers) }); }
public IActionResult Create([FromBody] ActionItemDto dto) { DateTime tempdt; var entry = new ActionItemModel { UserId = dto.UserId, DueDate = DateTime.TryParse(dto.DueDate, out tempdt) ? (DateTime?)tempdt : null, Modified = DateTime.Now, Description = dto.Description, Tags = dto.Tags ?? "", State = dto.State == 0 ? ActionItemState.NotStarted : (ActionItemState)dto.State }; try { _context.ActionItems.Add(entry); _context.SaveChanges(); return(CreatedAtRoute("GetActionItem", new { id = entry.Id }, entry)); } catch { Console.WriteLine("error"); throw; } }
public ShutdownActionBuilder() { actionItem = ActionData.GetCreateActionItemModel(UI.Types.ActionType.Shutdown); action = new Core.Action.Models.ActionModel(); action.Action = Core.Action.Types.ActionType.Shutdown; actionResultKeys = ActionData.GetActionResults(UI.Types.ActionType.Shutdown); }
public IBaseAction CreateActionItem(IGroupAction a, ObservableCollection <IBaseAction> p) { IBaseAction action = null; if (a is GroupAction) { action = new ActionItemModel((GroupAction)a) { Parent = p } } ; else if (a is GroupActionGroup) { action = new ActionSubmenuItemModel((GroupActionGroup)a) { Parent = p } } ; else if (a is GroupActionSeparator) { action = new ActionSeparatorItemModel((GroupActionSeparator)a) { Parent = p } } ; return(action); }
public IFActionActionBuilder() { actionItem = ActionData.GetCreateActionItemModel(UI.Types.ActionType.IF); action = new Core.Action.Models.ActionModel(); action.Action = Core.Action.Types.ActionType.IF; inputData = new IFActionInputModel() { Condition = IFActionConditionData.ComBoxData[0] }; inputModels = new List <ActionInputModel>(); actionResultKeys = ActionData.GetActionResults(UI.Types.ActionType.IF); inputModels.Add(new ActionInputModel() { InputType = Types.InputType.Text, Title = "如果", Placeholder = "请输入", BindingName = nameof(IFActionInputModel.Left) }); inputModels.Add(new ActionInputModel() { InputType = Types.InputType.Select, SelectItems = IFActionConditionData.ComBoxData, BindingName = nameof(IFActionInputModel.Condition) }); inputModels.Add(new ActionInputModel() { InputType = Types.InputType.Text, Placeholder = "请输入", BindingName = nameof(IFActionInputModel.Right) }); }
public KillProcessActionBuilder() { actionItem = ActionData.GetCreateActionItemModel(UI.Types.ActionType.KillProcess); action = new Core.Action.Models.ActionModel(); action.Action = Core.Action.Types.ActionType.KillProcess; inputData = new KillProcessActionInputModel(); inputModels = new List <ActionInputModel>(); detailInputModels = new List <ActionInputModel>(); actionResultKeys = ActionData.GetActionResults(UI.Types.ActionType.KillProcess); inputModels.Add(new ActionInputModel() { InputType = Types.InputType.Text, Placeholder = "区分大小写,不需要填写.exe", Title = "进程名称", IsStretch = true, BindingName = nameof(KillProcessActionInputModel.ProcessName) }); detailInputModels.Add(new ActionInputModel() { InputType = Types.InputType.Bool, Title = "模糊匹配", BindingName = nameof(KillProcessActionInputModel.IsFuzzy) }); }
public HttpRequestActionBuilder() { actionItem = ActionData.GetCreateActionItemModel(UI.Types.ActionType.HttpRequest); action = new Core.Action.Models.ActionModel(); action.Action = Core.Action.Types.ActionType.HttpRequest; inputData = new HttpRequestActionInputModel() { PamramsType = HttpRequestActionData.PamramsTypes[0], Method = HttpRequestActionData.MethodTypes[0] }; inputModels = new List <ActionInputModel>(); detailInputModels = new List <ActionInputModel>(); actionResultKeys = ActionData.GetActionResults(UI.Types.ActionType.HttpRequest); inputModels.Add(new ActionInputModel() { InputType = Types.InputType.Text, Title = "请求地址", Placeholder = "请输入完整地址", IsStretch = true, BindingName = nameof(HttpRequestActionInputModel.Url) }); detailInputModels.Add(new ActionInputModel() { InputType = Types.InputType.Select, Title = "方法", SelectItems = HttpRequestActionData.MethodTypes, BindingName = nameof(HttpRequestActionInputModel.Method) }); detailInputModels.Add(new ActionInputModel() { InputType = Types.InputType.Select, Title = "参数类型", SelectItems = HttpRequestActionData.PamramsTypes, BindingName = nameof(HttpRequestActionInputModel.PamramsType) }); detailInputModels.Add(new ActionInputModel() { InputType = Types.InputType.CustomKeyValue, Title = "请求参数", BindingName = nameof(HttpRequestActionInputModel.QueryParams) }); detailInputModels.Add(new ActionInputModel() { InputType = Types.InputType.CustomKeyValue, Title = "请求头", BindingName = nameof(HttpRequestActionInputModel.Headers) }); detailInputModels.Add(new ActionInputModel() { InputType = Types.InputType.CustomKeyValue, Title = "文件(仅Form参数类型时有效)", BindingName = nameof(HttpRequestActionInputModel.Files) }); }
public static IActionBuilder BuilderByActionItem(ActionItemModel action) { IActionBuilder builder = null; switch (action.ActionType) { case ActionType.WriteFile: builder = new WriteFileActionBuilder(); break; case ActionType.IF: builder = new IFActionActionBuilder(); break; case ActionType.HttpRequest: builder = new HttpRequestActionBuilder(); break; case ActionType.StartProcess: builder = new StartProcessActionBuilder(); break; case ActionType.Shutdown: builder = new ShutdownActionBuilder(); break; case ActionType.OpenURL: builder = new OpenURLActionBuilder(); break; case ActionType.Snipping: builder = new SnippingActionBuilder(); break; case ActionType.DeleteFile: builder = new DeleteFileActionBuilder(); break; case ActionType.SoundPlay: builder = new SoundPlayActionBuilder(); break; case ActionType.GetIPAddress: builder = new GetIPAddressActionBuilder(); break; case ActionType.Keyboard: builder = new KeyboardActionBuilder(); break; } if (builder != null) { builder.ImportActionItem(action); } return(builder); }
/// <summary> /// 通过UI action type获取一个新的基础AcionItemModel /// </summary> /// <param name="uiactionType"></param> /// <returns></returns> public static ActionItemModel GetCreateActionItemModel(ActionType uiactionType) { var action = new ActionItemModel(); action.ActionType = uiactionType; action.ActionName = ActionData.Names[uiactionType]; switch (uiactionType) { case ActionType.HttpRequest: action.Icon = Base.IconTypes.DownloadDocument; break; case ActionType.IF: action.Icon = Base.IconTypes.FlowChart; break; case ActionType.WriteFile: action.Icon = Base.IconTypes.FileTemplate; break; case ActionType.Shutdown: action.Icon = Base.IconTypes.DeviceOff; break; case ActionType.StartProcess: action.Icon = Base.IconTypes.ProcessingRun; break; case ActionType.OpenURL: action.Icon = Base.IconTypes.WebEnvironment; break; case ActionType.Snipping: action.Icon = Base.IconTypes.DesktopScreenshot; break; case ActionType.DeleteFile: action.Icon = Base.IconTypes.Delete; break; case ActionType.SoundPlay: action.Icon = Base.IconTypes.MusicInCollectionFill; break; case ActionType.GetIPAddress: action.Icon = Base.IconTypes.NetworkTower; break; case ActionType.Keyboard: action.Icon = Base.IconTypes.KeyboardClassic; break; } return(action); }
public void AddItem(ActionItemModel action, IActionBuilder builder = null) { if (!appendActionItemTempList.Contains(action)) { appendActionItemTempList.Add(action); appendBuilderTempList.Add(builder); } if (isRendering) { return; } AddItemControl(action, builder); }
public void ImportActionItem(ActionItemModel actionItem) { this.actionItem = actionItem; //构建core action action.ID = actionItem.ID; var data = inputData as JsonDeserializeActionInputModel; if (data != null) { action.Parameter = new JsonDeserializeActionParamsModel() { Content = data.Content }; } }
public void ImportActionItem(ActionItemModel actionItem) { this.actionItem = actionItem; //构建core action action.ID = actionItem.ID; var data = inputData as SetDeviceVolumeActionInputModel; if (data != null) { action.Parameter = new SetDeviceVolumeActionParamsModel() { Volume = data.Volume }; } }
public void ImportActionItem(ActionItemModel actionItem) { this.actionItem = actionItem; //构建core action action.ID = actionItem.ID; var data = inputData as OpenURLActionInputModel; if (data != null) { action.Parameter = new OpenURLActionParamsModel() { URL = data.URL }; } }
public void ImportActionItem(ActionItemModel actionItem) { this.actionItem = actionItem; //构建core action action.ID = actionItem.ID; var data = inputData as DelayActionInputModel; if (data != null) { action.Parameter = new DelayActionParamsModel() { Seconds = int.Parse(data.Seconds) }; } }
public void ImportActionItem(ActionItemModel actionItem) { this.actionItem = actionItem; //构建core action action.ID = actionItem.ID; var data = inputData as SnippingActionInputModel; if (data != null) { action.Parameter = new SnippingActionParamsModel() { SavePath = data.SavePath }; } }
public void ImportActionItem(ActionItemModel actionItem) { this.actionItem = actionItem; //构建core action action.ID = actionItem.ID; var data = inputData as GetIPAddressActionInputModel; if (data != null) { action.Parameter = new GetIPAddressActionParamsModel() { Type = (IPAddressType)data.Type.ID }; } }
public void ImportActionItem(ActionItemModel actionItem) { this.actionItem = actionItem; //构建core action action.ID = actionItem.ID; var data = inputData as KeyboardActionInputModel; if (data != null) { action.Parameter = new KeyboardActionParamsModel() { Keys = data.Keys }; } }
public void ImportActionItem(ActionItemModel actionItem) { this.actionItem = actionItem; //构建core action action.ID = actionItem.ID; var data = inputData as ReadFileActionInputModel; if (data != null) { action.Parameter = new ReadFileActionParamsModel() { FilePath = data.FilePath, }; } }
public void ImportActionItem(ActionItemModel actionItem) { this.actionItem = actionItem; //构建core action action.ID = actionItem.ID; var data = inputData as RegexActionInputModel; if (data != null) { action.Parameter = new RegexActionParamsModel() { Content = data.Content, Regex = data.Regex }; } }
public void ImportActionItem(ActionItemModel actionItem) { this.actionItem = actionItem; //构建core action action.ID = actionItem.ID; var data = inputData as StartProcessActionInputModel; if (data != null) { action.Parameter = new StartProcessActionParamsModel() { Path = data.Path, Args = data.Args }; } }
public void ImportActionItem(ActionItemModel actionItem) { this.actionItem = actionItem; //构建core action action.ID = actionItem.ID; var data = inputData as KillProcessActionInputModel; if (data != null) { action.Parameter = new KillProcessActionParamsModel() { ProcessName = data.ProcessName, IsFuzzy = data.IsFuzzy }; } }
public void ImportActionItem(ActionItemModel actionItem) { this.actionItem = actionItem; //构建core action action.ID = actionItem.ID; var data = inputData as WriteFileActionInputModel; if (data != null) { action.Parameter = new WriteFileActionParameterModel() { FilePath = data.FilePath, Content = data.Content }; } }
public void ImportActionItem(ActionItemModel actionItem) { this.actionItem = actionItem; //构建core action action.ID = actionItem.ID; var data = inputData as DownloadFileActionInputModel; if (data != null) { action.Parameter = new DownloadFileParamsModel() { Url = data.Url, SavePath = data.SavePath, Headers = data.Headers }; } }
public SoundPlayActionBuilder() { actionItem = ActionData.GetCreateActionItemModel(UI.Types.ActionType.SoundPlay); action = new Core.Action.Models.ActionModel(); action.Action = Core.Action.Types.ActionType.SoundPlay; inputData = new SoundPlayActionInputModel(); inputModels = new List <ActionInputModel>(); actionResultKeys = ActionData.GetActionResults(UI.Types.ActionType.SoundPlay); inputModels.Add(new ActionInputModel() { InputType = Types.InputType.Text, Placeholder = "请输入音频文件路径,支持mp3、wav", Title = "音频文件路径", IsStretch = true, BindingName = nameof(SoundPlayActionInputModel.Path) }); }
public OpenURLActionBuilder() { actionItem = ActionData.GetCreateActionItemModel(UI.Types.ActionType.OpenURL); action = new Core.Action.Models.ActionModel(); action.Action = Core.Action.Types.ActionType.OpenURL; inputData = new OpenURLActionInputModel(); inputModels = new List <ActionInputModel>(); actionResultKeys = ActionData.GetActionResults(UI.Types.ActionType.OpenURL); inputModels.Add(new ActionInputModel() { InputType = Types.InputType.Text, Placeholder = "请输入网页链接", Title = "链接", IsStretch = true, BindingName = nameof(OpenURLActionInputModel.URL) }); }
public ReadFileActionBuilder() { actionItem = ActionData.GetCreateActionItemModel(UI.Types.ActionType.ReadFile); action = new Core.Action.Models.ActionModel(); action.Action = Core.Action.Types.ActionType.ReadFile; inputData = new ReadFileActionInputModel(); inputModels = new List <ActionInputModel>(); actionResultKeys = ActionData.GetActionResults(UI.Types.ActionType.ReadFile); inputModels.Add(new ActionInputModel() { InputType = Types.InputType.Text, Placeholder = "请输入本地文件路径", Title = "文件路径", IsStretch = true, BindingName = nameof(ReadFileActionInputModel.FilePath) }); }
public void ImportActionItem(ActionItemModel actionItem) { this.actionItem = actionItem; //构建core action action.ID = actionItem.ID; var data = inputData as DialogActionInputModel; if (data != null) { action.Parameter = new DialogActionParamsModel() { Title = data.Title, Content = data.Content, Image = data.Image, Buttons = data.Buttons, }; } }
public SnippingActionBuilder() { actionItem = ActionData.GetCreateActionItemModel(UI.Types.ActionType.Snipping); action = new Core.Action.Models.ActionModel(); action.Action = Core.Action.Types.ActionType.Snipping; inputData = new SnippingActionInputModel(); inputModels = new List <ActionInputModel>(); actionResultKeys = ActionData.GetActionResults(UI.Types.ActionType.Snipping); inputModels.Add(new ActionInputModel() { InputType = Types.InputType.Text, Placeholder = "请输入保存路径", Title = "截图保存路径", IsStretch = true, BindingName = nameof(SnippingActionInputModel.SavePath) }); }