public async Task <IActionResult> Index(AutomationCommand cmd) { cmd.TimeStamp = DateTime.Now; cmd.UserName = "******"; cmd.CommandText = "GARAGE-DOOR"; cmd.CommandArgs = "ACTION=OPEN"; using (var client = new HttpClient()) { client.BaseAddress = new Uri("http://localhost:8079"); client.DefaultRequestHeaders.Accept.Clear(); client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); var json = JsonConvert.SerializeObject(cmd); var content = new StringContent(json, Encoding.UTF8, "application/json"); var response = await client.PostAsync("/api/automationcommand", content); if (response.IsSuccessStatusCode) { var result = await response.Content.ReadAsStringAsync(); } } return(View()); }
public static AutomationCommand ConvertToAutomationCommand(Type commandClass) { var groupingAttribute = commandClass.GetCustomAttributes(typeof(CategoryAttribute), true); string groupAttribute = ""; if (groupingAttribute.Length > 0) { var attributeFound = (CategoryAttribute)groupingAttribute[0]; groupAttribute = attributeFound.Category; } //Instantiate Class ScriptCommand newCommand = (ScriptCommand)Activator.CreateInstance(commandClass); newCommand.CommandIcon = null; GC.Collect(); AutomationCommand newAutomationCommand = null; //If command is enabled, pull for display and configuration if (newCommand.CommandEnabled) { newAutomationCommand = new AutomationCommand(); newAutomationCommand.CommandClass = commandClass; newAutomationCommand.Command = newCommand; newAutomationCommand.DisplayGroup = groupAttribute; newAutomationCommand.FullName = string.Join(" - ", groupAttribute, newCommand.SelectionName); newAutomationCommand.ShortName = newCommand.SelectionName; newAutomationCommand.Description = GetDescription(commandClass); } return(newAutomationCommand); }
public static List <AutomationCommand> GenerateCommandsandControls() { var commandList = new List <AutomationCommand>(); var commandClasses = Assembly.GetExecutingAssembly().GetTypes() .Where(t => t.Namespace == "OpenBots.Commands") .Where(t => t.Name != "ScriptCommand") .Where(t => t.IsAbstract == false) .Where(t => t.BaseType.Name == "ScriptCommand") .ToList(); var cmdAssemblyPaths = Directory.GetFiles(AppDomain.CurrentDomain.BaseDirectory, "OpenBots.Commands.*.dll"); foreach (var path in cmdAssemblyPaths) { commandClasses.AddRange(Assembly.LoadFrom(path).GetTypes() .Where(t => t.Name != "ScriptCommand") .Where(t => t.IsAbstract == false) .Where(t => t.BaseType.Name == "ScriptCommand") .ToList()); } var userPrefs = new ApplicationSettings().GetOrCreateApplicationSettings(); //Loop through each class foreach (var commandClass in commandClasses) { var groupingAttribute = commandClass.GetCustomAttributes(typeof(CategoryAttribute), true); string groupAttribute = ""; if (groupingAttribute.Length > 0) { var attributeFound = (CategoryAttribute)groupingAttribute[0]; groupAttribute = attributeFound.Category; } //Instantiate Class ScriptCommand newCommand = (ScriptCommand)Activator.CreateInstance(commandClass); //If command is enabled, pull for display and configuration if (newCommand.CommandEnabled) { var newAutomationCommand = new AutomationCommand(); newAutomationCommand.CommandClass = commandClass; newAutomationCommand.Command = newCommand; newAutomationCommand.DisplayGroup = groupAttribute; newAutomationCommand.FullName = string.Join(" - ", groupAttribute, newCommand.SelectionName); newAutomationCommand.ShortName = newCommand.SelectionName; newAutomationCommand.Description = GetDescription(commandClass); if (userPrefs.ClientSettings.PreloadBuilderCommands) { //newAutomationCommand.RenderUIComponents(); } //call RenderUIComponents to render UI controls commandList.Add(newAutomationCommand); } } return(commandList); }
public override void Up() { var dc = ApplicationContext as DbContext; var closeTicketAutomation = new AutomationCommand { Name = Resources.CloseTicket, ButtonHeader = Resources.Close, SortOrder = -1, Color = "#FFFF0000", FontSize = 40 }; closeTicketAutomation.AutomationCommandMaps.Add(new AutomationCommandMap { EnabledStates = string.Format("{0},{1},{2},{3},IsClosed", Resources.New, Resources.NewOrders, Resources.Unpaid, Resources.Locked), VisibleStates = "*", DisplayUnderTicket = true }); dc.Set <AutomationCommand>().Add(closeTicketAutomation); var settleAutomation = new AutomationCommand { Name = Resources.Settle, ButtonHeader = Resources.Settle, SortOrder = -2, FontSize = 40 }; settleAutomation.AutomationCommandMaps.Add(new AutomationCommandMap { EnabledStates = "*", VisibleStates = "*", DisplayUnderTicket = true }); dc.Set <AutomationCommand>().Add(settleAutomation); dc.SaveChanges(); var displayPaymentScreenAction = new AppAction { ActionType = ActionNames.DisplayPaymentScreen, Name = Resources.DisplayPaymentScreen, Parameter = "", SortOrder = -1 }; dc.Set <AppAction>().Add(displayPaymentScreenAction); var closeTicketAction = dc.Set <AppAction>().FirstOrDefault(x => x.ActionType == ActionNames.CloseActiveTicket); if (closeTicketAction == null) { closeTicketAction = new AppAction { ActionType = ActionNames.CloseActiveTicket, Name = Resources.CloseTicket, Parameter = "", SortOrder = -1 }; dc.Set <AppAction>().Add(closeTicketAction); } dc.SaveChanges(); var closeTicketRule = new AppRule { Name = string.Format(Resources.Rule_f, Resources.CloseTicket), EventName = "AutomationCommandExecuted", EventConstraints = "AutomationCommandName;=;" + Resources.CloseTicket, SortOrder = -1 }; closeTicketRule.Actions.Add(new ActionContainer(closeTicketAction)); closeTicketRule.AddRuleMap(); dc.Set <AppRule>().Add(closeTicketRule); var settleTicketRule = new AppRule { Name = string.Format(Resources.Rule_f, Resources.Settle), EventName = "AutomationCommandExecuted", EventConstraints = "AutomationCommandName;=;" + Resources.Settle, SortOrder = -1 }; settleTicketRule.Actions.Add(new ActionContainer(displayPaymentScreenAction)); settleTicketRule.AddRuleMap(); dc.Set <AppRule>().Add(settleTicketRule); dc.SaveChanges(); }
/// <summary> /// Initializes a new instance of the <see cref="AutomationMenuOptionViewModel"/> class. /// </summary> /// <param name="automation">The menu execution behavior.</param> /// <param name="caption">The caption.</param> /// <param name="imagePath">The path to the icon.</param> /// <param name="sortOrder">The sort order for the menu entry.</param> public AutomationMenuOptionViewModel(IAutomationExtension automation, string caption, string imagePath, long sortOrder) : base(caption) { Command = new AutomationCommand(this, automation); ImagePath = imagePath; IconType = string.IsNullOrEmpty(ImagePath) ? IconType.None : IconType.Image; SortOrder = sortOrder; }
/// <summary> /// Initializes a new instance of the <see cref="AutomationMenuOptionViewModel"/> class. /// </summary> /// <param name="automation">The menu execution behavior.</param> /// <param name="caption">The caption.</param> /// <param name="imagePath">The path to the icon.</param> /// <param name="sortOrder">The sort order for the menu entry.</param> public AutomationMenuOptionViewModel(IAutomationExtension automation, string caption, string imagePath, long sortOrder) : base(caption) { Command = new AutomationCommand(this, automation); ImagePath = imagePath; IconType = string.IsNullOrEmpty(ImagePath) ? IconType.None : IconType.Image; SortOrder = sortOrder; }
private void ExecuteAutomationCommand(AutomationCommand automationCommand, string selectedValue, string nextValue) { if (!string.IsNullOrEmpty(automationCommand.Values) && !automationCommand.ToggleValues) { automationCommand.PublishEvent(EventTopicNames.SelectAutomationCommandValue); } else { ExecuteAutomationCommand(automationCommand.Name, selectedValue, nextValue); RefreshVisuals(); } }
private bool IsKnownAutomationCommand(string command) { foreach (var cmd in Enum.GetValues(typeof(AutomationCommand))) { if (string.Equals(cmd.ToString(), command, StringComparison.InvariantCultureIgnoreCase)) { m_CurrentCommand = (AutomationCommand)cmd; return(true); } } return(false); }
public static List <AutomationCommand> GenerateAutomationCommands(ImageList uiImages, List <Type> commandClasses) { uiImages.ImageSize = new Size(18, 18); uiImages.Images.Add("BrokenCodeCommentCommand", Resources.command_broken); List <AutomationCommand> newAutomationCommands = new List <AutomationCommand>(); foreach (var commandClass in commandClasses) { var groupingAttribute = commandClass.GetCustomAttributes(typeof(CategoryAttribute), true); string groupAttribute = ""; if (groupingAttribute.Length > 0) { var attributeFound = (CategoryAttribute)groupingAttribute[0]; groupAttribute = attributeFound.Category; } //Instantiate Class ScriptCommand newCommand = (ScriptCommand)Activator.CreateInstance(commandClass); uiImages.Images.Add(newCommand.CommandName, newCommand.CommandIcon); newCommand.CommandIcon = null; GC.Collect(); AutomationCommand newAutomationCommand = null; //If command is enabled, pull for display and configuration if (newCommand.CommandEnabled) { newAutomationCommand = new AutomationCommand(); newAutomationCommand.CommandClass = commandClass; newAutomationCommand.Command = newCommand; newAutomationCommand.DisplayGroup = groupAttribute; newAutomationCommand.FullName = string.Join(" - ", groupAttribute, newCommand.SelectionName); newAutomationCommand.ShortName = newCommand.SelectionName; newAutomationCommand.Description = CommandsHelper.GetDescription(commandClass); } if (newAutomationCommand != null) { newAutomationCommands.Add(newAutomationCommand); } } return(newAutomationCommands.Distinct().ToList()); }
private void ExecuteAutomationCommand(AutomationCommand automationCommand, string selectedValue) { if (!string.IsNullOrEmpty(automationCommand.Values) && !automationCommand.ToggleValues) { automationCommand.PublishEvent(EventTopicNames.SelectAutomationCommandValue); } else { if (SelectedOrders.Any()) { foreach (var selectedOrder in SelectedOrders.ToList()) { _applicationState.NotifyEvent(RuleEventNames.AutomationCommandExecuted, new { Ticket = SelectedTicket, Order = selectedOrder, AutomationCommandName = automationCommand.Name, Value = selectedValue }); } } else { _applicationState.NotifyEvent(RuleEventNames.AutomationCommandExecuted, new { Ticket = SelectedTicket, AutomationCommandName = automationCommand.Name, Value = selectedValue }); } _ticketOrdersViewModel.SelectedTicket = SelectedTicket; ClearSelectedItems(); ClearSelection = true; RefreshVisuals(); } }
public bool ConfirmAutomationCommand(AutomationCommand automationCommand) { if (automationCommand == null) { return(false); } if (this._applicationState.CurrentLoggedInUser.UserRole.IsAdmin || automationCommand.ConfirmationType != 2) { if (automationCommand.ConfirmationType != 1) { return(true); } return(this._dialogService.Confirm(string.Format("Do you Confirm {0} Operation?", automationCommand.Name))); } string str = this._dialogService.AskAdminPassword(); if (string.IsNullOrEmpty(str)) { return(false); } return(this._userService.CanConfirmAdminPin(str)); }
public void GenerateSystemRules(IWorkspace workspace) { var closeTicketAutomation = new AutomationCommand { Name = Resources.CloseTicket, ButtonHeader = Resources.Close, SortOrder = -1, Color = "#FFFF0000", FontSize = 40 }; closeTicketAutomation.AutomationCommandMaps.Add(new AutomationCommandMap { EnabledStates = string.Format("{0},{1},{2},{3},IsClosed", Resources.New, Resources.NewOrders, Resources.Unpaid, Resources.Locked), VisibleStates = "*", DisplayUnderTicket = true }); workspace.Add(closeTicketAutomation); var settleAutomation = new AutomationCommand { Name = Resources.Settle, ButtonHeader = Resources.Settle, SortOrder = -2, FontSize = 40 }; settleAutomation.AutomationCommandMaps.Add(new AutomationCommandMap { EnabledStates = "*", VisibleStates = "*", DisplayUnderTicket = true }); workspace.Add(settleAutomation); var printBillAutomation = new AutomationCommand { Name = Resources.PrintBill, ButtonHeader = Resources.PrintBill, SortOrder = -1 }; printBillAutomation.AutomationCommandMaps.Add(new AutomationCommandMap { EnabledStates = Resources.NewOrders + "," + Resources.Unpaid + ",IsClosed", VisibleStates = "*", DisplayOnTicket = true, DisplayOnPayment = true }); workspace.Add(printBillAutomation); var unlockTicketAutomation = new AutomationCommand { Name = Resources.UnlockTicket, ButtonHeader = Resources.UnlockTicket, SortOrder = -1 }; unlockTicketAutomation.AutomationCommandMaps.Add(new AutomationCommandMap { EnabledStates = Resources.Locked, VisibleStates = Resources.Locked, DisplayOnTicket = true }); workspace.Add(unlockTicketAutomation); var addTicketAutomation = new AutomationCommand { Name = string.Format(Resources.Add_f, Resources.Ticket), ButtonHeader = string.Format(Resources.Add_f, Resources.Ticket), SortOrder = -1 }; addTicketAutomation.AutomationCommandMaps.Add(new AutomationCommandMap { EnabledStates = string.Format("{0},{1}", Resources.Unpaid, Resources.Locked), VisibleStates = "*", DisplayOnTicket = true }); workspace.Add(addTicketAutomation); var giftItemAutomation = new AutomationCommand { Name = Resources.Gift, ButtonHeader = Resources.Gift, SortOrder = -1 }; giftItemAutomation.AutomationCommandMaps.Add(new AutomationCommandMap { EnabledStates = "GStatus=", VisibleStates = "GStatus=", DisplayOnOrders = true }); workspace.Add(giftItemAutomation); var cancelGiftItemAutomation = new AutomationCommand { Name = string.Format(Resources.Cancel_f, Resources.Gift), ButtonHeader = string.Format(Resources.Cancel_f, Resources.Gift), SortOrder = -1 }; cancelGiftItemAutomation.AutomationCommandMaps.Add(new AutomationCommandMap { EnabledStates = Resources.Gift, VisibleStates = Resources.Gift, DisplayOnOrders = true }); workspace.Add(cancelGiftItemAutomation); var voidItemAutomation = new AutomationCommand { Name = Resources.Void, ButtonHeader = Resources.Void, SortOrder = -1 }; voidItemAutomation.AutomationCommandMaps.Add(new AutomationCommandMap { EnabledStates = string.Format("GStatus={0}," + Resources.Submitted, Resources.Gift), VisibleStates = string.Format("GStatus=,GStatus={0}", Resources.Gift), DisplayOnOrders = true }); workspace.Add(voidItemAutomation); var cancelVoidItemAutomation = new AutomationCommand { Name = string.Format(Resources.Cancel_f, Resources.Void), ButtonHeader = string.Format(Resources.Cancel_f, Resources.Void), SortOrder = -1 }; cancelVoidItemAutomation.AutomationCommandMaps.Add(new AutomationCommandMap { EnabledStates = Resources.New, VisibleStates = Resources.Void, DisplayOnOrders = true }); workspace.Add(cancelVoidItemAutomation); var newOrderState = new State { Name = Resources.NewOrders, Color = "Orange", GroupName = "Status" }; workspace.Add(newOrderState); var availableState = new State { Name = Resources.Available, Color = "White", GroupName = "Status" }; workspace.Add(availableState); var billRequestedState = new State { Name = Resources.BillRequested, Color = "Maroon", GroupName = "Status" }; workspace.Add(billRequestedState); var giftStatus = new State { Name = Resources.Gift, GroupName = "GStatus", ShowOnEndOfDayReport = true, ShowOnProductReport = true, ShowOnTicket = true }; workspace.Add(giftStatus); var status = new State { Name = Resources.Status, GroupName = "Status", ShowOnEndOfDayReport = true, ShowOnProductReport = false, ShowOnTicket = true }; workspace.Add(status); var updateOrderAction = new AppAction { ActionType = ActionNames.UpdateOrder, Name = string.Format(Resources.Update_f, Resources.Order), Parameter = Params() .Add("IncreaseInventory", "[:Increase]").Add("DecreaseInventory", "[:Decrease]") .Add("CalculatePrice", "[:Calculate Price]").Add("Locked", "[:Locked]"). ToString(), SortOrder = -1 }; workspace.Add(updateOrderAction); var updateTicketStatusAction = new AppAction { ActionType = ActionNames.UpdateTicketState, Name = Resources.UpdateTicketStatus, Parameter = Params().Add("StateName", Resources.Status).Add("State", "[:Status]").Add("CurrentState", "[:Current Status]").ToString(), SortOrder = -1 }; workspace.Add(updateTicketStatusAction); var updateOrderStatusAction = new AppAction { ActionType = ActionNames.UpdateOrderState, Name = string.Format(Resources.Update_f, Resources.OrderStatus), Parameter = Params().Add("StateName", "Status").Add("State", "[:Status]").Add("CurrentState", "[:Current Status]").ToString(), SortOrder = -1 }; workspace.Add(updateOrderStatusAction); var updateOrderGiftStatusAction = new AppAction { ActionType = ActionNames.UpdateOrderState, Name = Resources.UpdateOrderGiftState, Parameter = Params() .Add("StateName", "GStatus").Add("GroupOrder", "1") .Add("CurrentState", "[:Current Status]").Add("State", "[:Status]") .Add("StateOrder", "1").Add("StateValue", "[:Value]") .ToString(), SortOrder = -1 }; workspace.Add(updateOrderGiftStatusAction); var updateEntityStateAction = new AppAction { ActionType = ActionNames.UpdateEntityState, Name = Resources.UpdateEntityState, Parameter = Params().Add("EntityStateName", "Status").Add("EntityState", "[:Status]").ToString(), SortOrder = -1 }; workspace.Add(updateEntityStateAction); var createTicketAction = new AppAction { ActionType = ActionNames.CreateTicket, Name = string.Format(Resources.Create_f, Resources.Ticket), Parameter = "", SortOrder = -1 }; workspace.Add(createTicketAction); var closeTicketAction = new AppAction { ActionType = ActionNames.CloseActiveTicket, Name = Resources.CloseTicket, Parameter = "", SortOrder = -1 }; workspace.Add(closeTicketAction); var displayPaymentScreenAction = new AppAction { ActionType = ActionNames.DisplayPaymentScreen, Name = Resources.DisplayPaymentScreen, Parameter = "", SortOrder = -1 }; workspace.Add(displayPaymentScreenAction); var printBillAction = new AppAction { ActionType = ActionNames.ExecutePrintJob, Name = Resources.ExecutePrintBillJob, Parameter = Params().Add("PrintJobName", Resources.PrintBill).ToString(), SortOrder = -1 }; workspace.Add(printBillAction); var printKitchenOrdersAction = new AppAction { ActionType = ActionNames.ExecutePrintJob, Name = Resources.ExecuteKitchenOrdersPrintJob, Parameter = Params().Add("PrintJobName", Resources.PrintOrdersToKitchenPrinter).Add("OrderStateName", "Status").Add("OrderState", Resources.New).ToString(), SortOrder = -1 }; workspace.Add(printKitchenOrdersAction); var lockTicketAction = new AppAction { ActionType = ActionNames.LockTicket, Name = Resources.LockTicket, Parameter = "", SortOrder = -1 }; workspace.Add(lockTicketAction); var unlockTicketAction = new AppAction { ActionType = ActionNames.UnlockTicket, Name = Resources.UnlockTicket, Parameter = "", SortOrder = -1 }; workspace.Add(unlockTicketAction); var markTicketAsClosed = new AppAction { ActionType = ActionNames.MarkTicketAsClosed, Name = Resources.MarkTicketAsClosed, Parameter = "", SortOrder = -1 }; workspace.Add(markTicketAsClosed); workspace.CommitChanges(); var newTicketRule = new AppRule { Name = Resources.NewTicketCreatingRule, EventName = RuleEventNames.TicketCreated, SortOrder = -1 }; newTicketRule.Actions.Add(new ActionContainer(updateTicketStatusAction) { ParameterValues = string.Format("Status={0}", Resources.New) }); newTicketRule.AddRuleMap(); workspace.Add(newTicketRule); var newOrderAddingRule = new AppRule { Name = Resources.NewOrderAddingRule, EventName = RuleEventNames.OrderAdded, SortOrder = -1 }; newOrderAddingRule.Actions.Add(new ActionContainer(updateTicketStatusAction) { ParameterValues = string.Format("Status={0}", Resources.NewOrders) }); newOrderAddingRule.Actions.Add(new ActionContainer(updateOrderStatusAction) { ParameterValues = string.Format("Status={0}", Resources.New) }); newOrderAddingRule.AddRuleMap(); workspace.Add(newOrderAddingRule); var ticketPayCheckRule = new AppRule { Name = Resources.TicketPaymentCheck, EventName = RuleEventNames.BeforeTicketClosing, EventConstraints = "RemainingAmount;=;0", SortOrder = -1 }; ticketPayCheckRule.Actions.Add(new ActionContainer(updateTicketStatusAction) { ParameterValues = "Status=" + Resources.Paid }); ticketPayCheckRule.Actions.Add(new ActionContainer(markTicketAsClosed)); ticketPayCheckRule.AddRuleMap(); workspace.Add(ticketPayCheckRule); var ticketMovedRule = new AppRule { Name = Resources.TicketMovedRule, EventName = RuleEventNames.TicketMoved, SortOrder = -1 }; ticketMovedRule.Actions.Add(new ActionContainer(updateTicketStatusAction) { ParameterValues = string.Format("Status={0}", Resources.NewOrders) }); ticketMovedRule.AddRuleMap(); workspace.Add(ticketMovedRule); var ticketClosingRule = new AppRule { Name = string.Format(Resources.Rule_f, Resources.TicketClosing), EventName = RuleEventNames.TicketClosing, SortOrder = -1 }; ticketClosingRule.Actions.Add(new ActionContainer(printKitchenOrdersAction)); ticketClosingRule.Actions.Add(new ActionContainer(updateTicketStatusAction) { ParameterValues = string.Format("Status={0}#Current Status={1}", Resources.Unpaid, Resources.NewOrders) }); ticketClosingRule.Actions.Add(new ActionContainer(updateOrderStatusAction) { ParameterValues = string.Format("Status={0}#Current Status={1}", Resources.Submitted, Resources.New) }); ticketClosingRule.AddRuleMap(); workspace.Add(ticketClosingRule); var giftOrderRule = new AppRule { Name = string.Format(Resources.Rule_f, Resources.Gift), EventName = RuleEventNames.AutomationCommandExecuted, EventConstraints = string.Format("AutomationCommandName;=;{0}", giftItemAutomation.Name), SortOrder = -1 }; giftOrderRule.Actions.Add(new ActionContainer(updateOrderAction) { ParameterValues = "Decrease=True#Calculate Price=False" }); giftOrderRule.Actions.Add(new ActionContainer(updateOrderGiftStatusAction) { ParameterValues = string.Format("Status={0}#Value=[:Value]", Resources.Gift) }); giftOrderRule.AddRuleMap(); workspace.Add(giftOrderRule); var cancelGiftOrderRule = new AppRule { Name = string.Format(Resources.Rule_f, string.Format(Resources.Cancel_f, Resources.Gift)), EventName = RuleEventNames.AutomationCommandExecuted, EventConstraints = string.Format("AutomationCommandName;=;{0}", cancelGiftItemAutomation.Name), SortOrder = -1 }; cancelGiftOrderRule.Actions.Add(new ActionContainer(updateOrderAction) { ParameterValues = "Decrease=True#Calculate Price=True" }); cancelGiftOrderRule.Actions.Add(new ActionContainer(updateOrderGiftStatusAction) { ParameterValues = string.Format("Current Status={0}#Status=#Value=", Resources.Gift) }); cancelGiftOrderRule.AddRuleMap(); workspace.Add(cancelGiftOrderRule); var voidOrderRule = new AppRule { Name = string.Format(Resources.Rule_f, Resources.Void), EventName = RuleEventNames.AutomationCommandExecuted, EventConstraints = string.Format("AutomationCommandName;=;{0}", voidItemAutomation.Name), SortOrder = -1 }; voidOrderRule.Actions.Add(new ActionContainer(updateOrderAction) { ParameterValues = "Decrease=False#Calculate Price=False" }); voidOrderRule.Actions.Add(new ActionContainer(updateOrderGiftStatusAction) { ParameterValues = string.Format("Status={0}#Value=[:Value]", Resources.Void) }); voidOrderRule.Actions.Add(new ActionContainer(updateOrderStatusAction) { ParameterValues = string.Format("Status={0}", Resources.New) }); voidOrderRule.AddRuleMap(); workspace.Add(voidOrderRule); var cancelVoidOrderRule = new AppRule { Name = string.Format(Resources.Rule_f, string.Format(Resources.Cancel_f, Resources.Void)), EventName = RuleEventNames.AutomationCommandExecuted, EventConstraints = string.Format("AutomationCommandName;=;{0}", cancelVoidItemAutomation.Name), SortOrder = -1 }; cancelVoidOrderRule.Actions.Add(new ActionContainer(updateOrderAction) { ParameterValues = "Decrease=True#Calculate Price=True" }); cancelVoidOrderRule.Actions.Add(new ActionContainer(updateOrderGiftStatusAction) { ParameterValues = string.Format("Current Status={0}#Status=#Value=", Resources.Void) }); cancelVoidOrderRule.Actions.Add(new ActionContainer(updateOrderStatusAction) { ParameterValues = string.Format("Status={0}", Resources.Submitted) }); cancelVoidOrderRule.AddRuleMap(); workspace.Add(cancelVoidOrderRule); var newOrderRule = new AppRule { Name = Resources.UpdateNewOrderEntityColor, EventName = RuleEventNames.TicketStateUpdated, EventConstraints = "State;=;" + Resources.Unpaid, SortOrder = -1 }; newOrderRule.Actions.Add(new ActionContainer(updateEntityStateAction) { ParameterValues = "Status=" + Resources.NewOrders }); newOrderRule.AddRuleMap(); workspace.Add(newOrderRule); var availableRule = new AppRule { Name = Resources.UpdateAvailableEntityColor, EventName = RuleEventNames.EntityUpdated, EventConstraints = "OpenTicketCount;=;0", SortOrder = -1 }; var ac2 = new ActionContainer(updateEntityStateAction) { ParameterValues = string.Format("Status={0}", Resources.Available) }; availableRule.Actions.Add(ac2); availableRule.AddRuleMap(); workspace.Add(availableRule); var movingRule = new AppRule { Name = Resources.UpdateMovedEntityColor, EventName = "TicketEntityChanged", EventConstraints = "OrderCount;>;0", SortOrder = -1 }; var ac3 = new ActionContainer(updateEntityStateAction) { ParameterValues = string.Format("Status={0}", Resources.NewOrders) }; movingRule.Actions.Add(ac3); movingRule.AddRuleMap(); workspace.Add(movingRule); var printBillRule = new AppRule { Name = string.Format(Resources.Rule_f, Resources.PrintBill), EventName = RuleEventNames.AutomationCommandExecuted, EventConstraints = "AutomationCommandName;=;" + Resources.PrintBill, SortOrder = -1 }; printBillRule.Actions.Add(new ActionContainer(printBillAction)); printBillRule.Actions.Add(new ActionContainer(lockTicketAction)); printBillRule.Actions.Add(new ActionContainer(updateEntityStateAction) { ParameterValues = string.Format("Status={0}", Resources.BillRequested) }); printBillRule.Actions.Add(new ActionContainer(updateTicketStatusAction) { ParameterValues = string.Format("Status={0}", Resources.Locked) }); printBillRule.Actions.Add(new ActionContainer(closeTicketAction)); printBillRule.AddRuleMap(); workspace.Add(printBillRule); var unlockTicketRule = new AppRule { Name = string.Format(Resources.Rule_f, Resources.UnlockTicket), EventName = RuleEventNames.AutomationCommandExecuted, EventConstraints = "AutomationCommandName;=;" + Resources.UnlockTicket, SortOrder = -1 }; unlockTicketRule.Actions.Add(new ActionContainer(unlockTicketAction)); unlockTicketRule.Actions.Add(new ActionContainer(updateTicketStatusAction) { ParameterValues = string.Format("Status={0}", Resources.Unpaid) }); unlockTicketRule.AddRuleMap(); workspace.Add(unlockTicketRule); var createTicketRule = new AppRule { Name = string.Format(Resources.Rule_f, string.Format(Resources.Create_f, Resources.Ticket)), EventName = RuleEventNames.AutomationCommandExecuted, EventConstraints = "AutomationCommandName;=;" + string.Format(Resources.Add_f, Resources.Ticket), SortOrder = -1 }; createTicketRule.Actions.Add(new ActionContainer(createTicketAction)); createTicketRule.AddRuleMap(); workspace.Add(createTicketRule); var updateMergedTicket = new AppRule { Name = Resources.UpdateMergedTicketsState, EventName = RuleEventNames.TicketsMerged, SortOrder = -1 }; updateMergedTicket.Actions.Add(new ActionContainer(updateEntityStateAction) { ParameterValues = string.Format("Status={0}", Resources.NewOrders) }); updateMergedTicket.Actions.Add(new ActionContainer(updateTicketStatusAction) { ParameterValues = string.Format("Status={0}", Resources.NewOrders) }); updateMergedTicket.AddRuleMap(); workspace.Add(updateMergedTicket); var closeTicketRule = new AppRule { Name = string.Format(Resources.Rule_f, Resources.CloseTicket), EventName = RuleEventNames.AutomationCommandExecuted, EventConstraints = "AutomationCommandName;=;" + Resources.CloseTicket, SortOrder = -1 }; closeTicketRule.Actions.Add(new ActionContainer(closeTicketAction)); closeTicketRule.AddRuleMap(); workspace.Add(closeTicketRule); var settleTicketRule = new AppRule { Name = string.Format(Resources.Rule_f, Resources.Settle), EventName = RuleEventNames.AutomationCommandExecuted, EventConstraints = "AutomationCommandName;=;" + Resources.Settle, SortOrder = -1 }; settleTicketRule.Actions.Add(new ActionContainer(displayPaymentScreenAction)); settleTicketRule.AddRuleMap(); workspace.Add(settleTicketRule); workspace.CommitChanges(); }
public void CreateData() { CreateDefaultCurrenciesIfNeeded(); if (!ShouldCreateData()) { return; } var saleAccountType = new AccountType { Name = string.Format(Resources.Accounts_f, Resources.Sales) }; var receivableAccountType = new AccountType { Name = string.Format(Resources.Accounts_f, Resources.Receiveable) }; var paymentAccountType = new AccountType { Name = string.Format(Resources.Accounts_f, Resources.Payment) }; var discountAccountType = new AccountType { Name = string.Format(Resources.Accounts_f, Resources.Discount) }; var customerAccountType = new AccountType { Name = string.Format(Resources.Accounts_f, Resources.Customer) }; _workspace.Add(receivableAccountType); _workspace.Add(saleAccountType); _workspace.Add(paymentAccountType); _workspace.Add(discountAccountType); _workspace.Add(customerAccountType); _workspace.CommitChanges(); var customerResourceType = new ResourceType { Name = Resources.Customers, EntityName = Resources.Customer, AccountTypeId = customerAccountType.Id }; customerResourceType.ResoruceCustomFields.Add(new ResourceCustomField { EditingFormat = "(###) ### ####", FieldType = 0, Name = Resources.Phone }); customerResourceType.AccountNameTemplate = "[Name]-[Phone]"; var tableResourceType = new ResourceType { Name = Resources.Tables, EntityName = Resources.Table }; _workspace.Add(customerResourceType); _workspace.Add(tableResourceType); _workspace.CommitChanges(); var accountScreen = new AccountScreen { Name = Resources.General }; accountScreen.AccountScreenValues.Add(new AccountScreenValue { AccountTypeName = saleAccountType.Name, AccountTypeId = saleAccountType.Id, DisplayDetails = true }); accountScreen.AccountScreenValues.Add(new AccountScreenValue { AccountTypeName = receivableAccountType.Name, AccountTypeId = receivableAccountType.Id, DisplayDetails = true }); accountScreen.AccountScreenValues.Add(new AccountScreenValue { AccountTypeName = discountAccountType.Name, AccountTypeId = discountAccountType.Id, DisplayDetails = true }); accountScreen.AccountScreenValues.Add(new AccountScreenValue { AccountTypeName = paymentAccountType.Name, AccountTypeId = paymentAccountType.Id, DisplayDetails = true }); _workspace.Add(accountScreen); var defaultSaleAccount = new Account { AccountTypeId = saleAccountType.Id, Name = Resources.Sales }; var defaultReceivableAccount = new Account { AccountTypeId = receivableAccountType.Id, Name = Resources.Receivables }; var cashAccount = new Account { AccountTypeId = paymentAccountType.Id, Name = Resources.Cash }; var creditCardAccount = new Account { AccountTypeId = paymentAccountType.Id, Name = Resources.CreditCard }; var voucherAccount = new Account { AccountTypeId = paymentAccountType.Id, Name = Resources.Voucher }; var defaultDiscountAccount = new Account { AccountTypeId = discountAccountType.Id, Name = Resources.Discount }; var defaultRoundingAccount = new Account { AccountTypeId = discountAccountType.Id, Name = Resources.Rounding }; _workspace.Add(defaultSaleAccount); _workspace.Add(defaultReceivableAccount); _workspace.Add(defaultDiscountAccount); _workspace.Add(defaultRoundingAccount); _workspace.Add(cashAccount); _workspace.Add(creditCardAccount); _workspace.Add(voucherAccount); _workspace.CommitChanges(); var discountTransactionType = new AccountTransactionType { Name = string.Format(Resources.Transaction_f, Resources.Discount), SourceAccountTypeId = receivableAccountType.Id, TargetAccountTypeId = discountAccountType.Id, DefaultSourceAccountId = defaultReceivableAccount.Id, DefaultTargetAccountId = defaultDiscountAccount.Id }; var roundingTransactionType = new AccountTransactionType { Name = string.Format(Resources.Transaction_f, Resources.Rounding), SourceAccountTypeId = receivableAccountType.Id, TargetAccountTypeId = discountAccountType.Id, DefaultSourceAccountId = defaultReceivableAccount.Id, DefaultTargetAccountId = defaultRoundingAccount.Id }; var saleTransactionType = new AccountTransactionType { Name = string.Format(Resources.Transaction_f, Resources.Sale), SourceAccountTypeId = saleAccountType.Id, TargetAccountTypeId = receivableAccountType.Id, DefaultSourceAccountId = defaultSaleAccount.Id, DefaultTargetAccountId = defaultReceivableAccount.Id }; var paymentTransactionType = new AccountTransactionType { Name = string.Format(Resources.Transaction_f, Resources.Payment), SourceAccountTypeId = receivableAccountType.Id, TargetAccountTypeId = paymentAccountType.Id, DefaultSourceAccountId = defaultReceivableAccount.Id, DefaultTargetAccountId = cashAccount.Id }; var customerAccountTransactionType = new AccountTransactionType { Name = "Customer Account Transaction", SourceAccountTypeId = receivableAccountType.Id, TargetAccountTypeId = customerAccountType.Id, DefaultSourceAccountId = defaultReceivableAccount.Id }; var customerCashPaymentType = new AccountTransactionType { Name = "Customer Cash Payment", SourceAccountTypeId = customerAccountType.Id, TargetAccountTypeId = paymentAccountType.Id, DefaultTargetAccountId = cashAccount.Id }; var customerCreditCardPaymentType = new AccountTransactionType { Name = "Customer Credit Card Payment", SourceAccountTypeId = customerAccountType.Id, TargetAccountTypeId = paymentAccountType.Id, DefaultTargetAccountId = creditCardAccount.Id }; _workspace.Add(saleTransactionType); _workspace.Add(paymentTransactionType); _workspace.Add(discountTransactionType); _workspace.Add(roundingTransactionType); _workspace.Add(customerAccountTransactionType); _workspace.Add(customerCashPaymentType); _workspace.Add(customerCreditCardPaymentType); var customerCashDocument = new AccountTransactionDocumentType { Name = "Customer Cash", ButtonHeader = Resources.Cash, DefaultAmount = string.Format("[{0}]", Resources.Balance), DescriptionTemplate = string.Format(Resources.Payment_f, Resources.Cash), MasterAccountTypeId = customerAccountType.Id }; customerCashDocument.AddAccountTransactionDocumentTypeMap(); customerCashDocument.TransactionTypes.Add(customerCashPaymentType); var customerCreditCardDocument = new AccountTransactionDocumentType { Name = "Customer Credit Card", ButtonHeader = Resources.CreditCard, DefaultAmount = string.Format("[{0}]", Resources.Balance), DescriptionTemplate = string.Format(Resources.Payment_f, Resources.CreditCard), MasterAccountTypeId = customerAccountType.Id }; customerCreditCardDocument.AddAccountTransactionDocumentTypeMap(); customerCreditCardDocument.TransactionTypes.Add(customerCreditCardPaymentType); _workspace.Add(customerCashDocument); _workspace.Add(customerCreditCardDocument); var discountService = new CalculationType { AccountTransactionType = discountTransactionType, CalculationMethod = 0, DecreaseAmount = true, Name = Resources.Discount }; var roundingService = new CalculationType { AccountTransactionType = roundingTransactionType, CalculationMethod = 2, DecreaseAmount = true, IncludeTax = true, Name = Resources.Round }; var discountSelector = new CalculationSelector { Name = Resources.Discount, ButtonHeader = Resources.DiscountPercentSign }; discountSelector.CalculationTypes.Add(discountService); discountSelector.AddCalculationSelectorMap(); var roundingSelector = new CalculationSelector { Name = Resources.Round, ButtonHeader = Resources.Round }; roundingSelector.CalculationTypes.Add(roundingService); roundingSelector.AddCalculationSelectorMap(); _workspace.Add(discountService); _workspace.Add(roundingService); _workspace.Add(discountSelector); _workspace.Add(roundingSelector); var screen = new ScreenMenu(); _workspace.Add(screen); var ticketNumerator = new Numerator { Name = Resources.TicketNumerator }; _workspace.Add(ticketNumerator); var orderNumerator = new Numerator { Name = Resources.OrderNumerator }; _workspace.Add(orderNumerator); var printBillAutomation = new AutomationCommand { Name = Resources.PrintBill, ButtonHeader = Resources.PrintBill }; printBillAutomation.AutomationCommandMaps.Add(new AutomationCommandMap { VisualBehaviour = 1 }); _workspace.Add(printBillAutomation); var unlockTicketAutomation = new AutomationCommand { Name = Resources.UnlockTicket, ButtonHeader = Resources.UnlockTicket }; unlockTicketAutomation.AutomationCommandMaps.Add(new AutomationCommandMap { VisualBehaviour = 2 }); _workspace.Add(unlockTicketAutomation); var addTicketAutomation = new AutomationCommand { Name = string.Format(Resources.Add_f, Resources.Ticket), ButtonHeader = string.Format(Resources.Add_f, Resources.Ticket) }; addTicketAutomation.AddAutomationCommandMap(); _workspace.Add(addTicketAutomation); _workspace.CommitChanges(); var ticketTemplate = new TicketTemplate { Name = Resources.TicketTemplate, TicketNumerator = ticketNumerator, OrderNumerator = orderNumerator, SaleTransactionType = saleTransactionType, }; var cashPayment = new PaymentType { AccountTransactionType = paymentTransactionType, Account = cashAccount, Name = cashAccount.Name }; cashPayment.PaymentTypeMaps.Add(new PaymentTypeMap { DisplayAtPaymentScreen = true }); var creditCardPayment = new PaymentType { AccountTransactionType = paymentTransactionType, Account = creditCardAccount, Name = creditCardAccount.Name }; creditCardPayment.PaymentTypeMaps.Add(new PaymentTypeMap { DisplayAtPaymentScreen = true }); var voucherPayment = new PaymentType { AccountTransactionType = paymentTransactionType, Account = voucherAccount, Name = voucherAccount.Name }; voucherPayment.PaymentTypeMaps.Add(new PaymentTypeMap { DisplayAtPaymentScreen = true }); var accountPayment = new PaymentType { AccountTransactionType = customerAccountTransactionType, Name = Resources.CustomerAccount }; accountPayment.PaymentTypeMaps.Add(new PaymentTypeMap { DisplayAtPaymentScreen = true }); _workspace.Add(cashPayment); _workspace.Add(creditCardPayment); _workspace.Add(voucherPayment); _workspace.Add(ticketTemplate); _workspace.Add(accountPayment); var department = new Department { Name = Resources.Restaurant, TicketTemplate = ticketTemplate, ScreenMenuId = screen.Id, }; _workspace.Add(department); var role = new UserRole("Admin") { IsAdmin = true, DepartmentId = 1 }; _workspace.Add(role); var u = new User("Administrator", "1234") { UserRole = role }; _workspace.Add(u); var ticketPrinterTemplate = new PrinterTemplate { Name = Resources.TicketTemplate, Template = Resources.TicketTemplateValue }; var kitchenPrinterTemplate = new PrinterTemplate { Name = Resources.KitchenOrderTemplate, Template = Resources.KitchenTemplateValue }; _workspace.Add(ticketPrinterTemplate); _workspace.Add(kitchenPrinterTemplate); var printer1 = new Printer { Name = Resources.TicketPrinter }; var printer2 = new Printer { Name = Resources.KitchenPrinter }; var printer3 = new Printer { Name = Resources.InvoicePrinter }; _workspace.Add(printer1); _workspace.Add(printer2); _workspace.Add(printer3); _workspace.CommitChanges(); var t = new Terminal { IsDefault = true, Name = Resources.Server, ReportPrinter = printer1, }; var pm1 = new PrinterMap { PrinterId = printer1.Id, PrinterTemplateId = ticketPrinterTemplate.Id }; _workspace.Add(pm1); var pj1 = new PrintJob { Name = Resources.PrintBill, LocksTicket = true, WhatToPrint = (int)WhatToPrintTypes.Everything, }; pj1.PrinterMaps.Add(pm1); _workspace.Add(pj1); var pm2 = new PrinterMap { PrinterId = printer2.Id, PrinterTemplateId = kitchenPrinterTemplate.Id }; var pj2 = new PrintJob { Name = Resources.PrintOrdersToKitchenPrinter, WhatToPrint = (int)WhatToPrintTypes.NewLines, }; pj2.PrinterMaps.Add(pm2); _workspace.Add(pj2); _workspace.Add(t); var orderTag1 = new OrderStateGroup { Name = Resources.Gift, ButtonHeader = Resources.Gift, CalculateOrderPrice = false, DecreaseOrderInventory = true }; orderTag1.OrderStates.Add(new OrderState { Name = Resources.Gift }); orderTag1.AddOrderStateMap(); _workspace.Add(orderTag1); var orderTag2 = new OrderStateGroup { Name = Resources.Void, ButtonHeader = Resources.Void, CalculateOrderPrice = false, DecreaseOrderInventory = false }; orderTag2.OrderStates.Add(new OrderState { Name = Resources.Void }); orderTag2.UnlocksOrder = true; orderTag2.AddOrderStateMap(); _workspace.Add(orderTag2); const string parameterFormat = "[{{\"Key\":\"{0}\",\"Value\":\"{1}\"}}]"; //const string doubleParameterFormat = "[{{\"Key\":\"{0}\",\"Value\":\"{1}\"}},{{\"Key\":\"{2}\",\"Value\":\"{3}\"}}]"; var newOrderState = new ResourceState { Name = "New Orders", Color = "Orange" }; _workspace.Add(newOrderState); var availableState = new ResourceState { Name = "Available", Color = "White" }; _workspace.Add(availableState); var billRequestedState = new ResourceState { Name = "Bill Requested", Color = "Maroon" }; _workspace.Add(billRequestedState); var newOrderAction = new AppAction { ActionType = "UpdateResourceState", Name = "Update New Order State", Parameter = string.Format(parameterFormat, "ResourceState", "New Orders") }; _workspace.Add(newOrderAction); var availableAction = new AppAction { ActionType = "UpdateResourceState", Name = "Update Available State", Parameter = string.Format(parameterFormat, "ResourceState", "Available") }; _workspace.Add(availableAction); var billRequestedAction = new AppAction { ActionType = "UpdateResourceState", Name = "Update Bill Requested State", Parameter = string.Format(parameterFormat, "ResourceState", "Bill Requested") }; _workspace.Add(billRequestedAction); var createTicketAction = new AppAction { ActionType = "CreateTicket", Name = string.Format(Resources.Create_f, Resources.Ticket), Parameter = "" }; _workspace.Add(createTicketAction); var closeTicketAction = new AppAction { ActionType = "CloseActiveTicket", Name = Resources.CloseTicket, Parameter = "" }; _workspace.Add(closeTicketAction); var printBillAction = new AppAction { ActionType = "ExecutePrintJob", Name = "Execute Bill Print Job", Parameter = string.Format(parameterFormat, "PrintJobName", Resources.PrintBill) }; _workspace.Add(printBillAction); var printKitchenOrdersAction = new AppAction { ActionType = "ExecutePrintJob", Name = "Execute Kitchen Orders Print Job", Parameter = string.Format(parameterFormat, "PrintJobName", Resources.PrintOrdersToKitchenPrinter) }; _workspace.Add(printKitchenOrdersAction); var unlockTicketAction = new AppAction { ActionType = "UnlockTicket", Name = Resources.UnlockTicket, Parameter = "" }; _workspace.Add(unlockTicketAction); _workspace.CommitChanges(); var newOrderRule = new AppRule { Name = "Update New Order Resource Color", EventName = "TicketClosing", EventConstraints = "NewOrderCount;>;0" }; newOrderRule.Actions.Add(new ActionContainer(printKitchenOrdersAction)); newOrderRule.Actions.Add(new ActionContainer(newOrderAction)); newOrderRule.AddRuleMap(); _workspace.Add(newOrderRule); var availableRule = new AppRule { Name = "Update Available Resource Color", EventName = "ResourceUpdated", EventConstraints = "OpenTicketCount;=;0" }; var ac2 = new ActionContainer(availableAction); availableRule.Actions.Add(ac2); availableRule.AddRuleMap(); _workspace.Add(availableRule); var movingRule = new AppRule { Name = "Update Moved Resource Color", EventName = "TicketResourceChanged", EventConstraints = "OrderCount;>;0" }; var ac3 = new ActionContainer(newOrderAction); movingRule.Actions.Add(ac3); movingRule.AddRuleMap(); _workspace.Add(movingRule); var printBillRule = new AppRule { Name = "Print Bill Rule", EventName = RuleEventNames.AutomationCommandExecuted, EventConstraints = "AutomationCommandName;=;" + Resources.PrintBill }; printBillRule.Actions.Add(new ActionContainer(printBillAction)); printBillRule.Actions.Add(new ActionContainer(billRequestedAction)); printBillRule.Actions.Add(new ActionContainer(closeTicketAction)); printBillRule.AddRuleMap(); _workspace.Add(printBillRule); var unlockTicketRule = new AppRule { Name = "Unlock Ticket Rule", EventName = RuleEventNames.AutomationCommandExecuted, EventConstraints = "AutomationCommandName;=;Unlock Ticket" }; unlockTicketRule.Actions.Add(new ActionContainer(unlockTicketAction)); unlockTicketRule.AddRuleMap(); _workspace.Add(unlockTicketRule); var createTicketRule = new AppRule { Name = "Create Ticket Rule", EventName = RuleEventNames.AutomationCommandExecuted, EventConstraints = "AutomationCommandName;=;Add Ticket" }; createTicketRule.Actions.Add(new ActionContainer(createTicketAction)); createTicketRule.AddRuleMap(); _workspace.Add(createTicketRule); var updateMergedTicket = new AppRule { Name = "Update Merged Tickets State", EventName = RuleEventNames.TicketsMerged }; updateMergedTicket.Actions.Add(new ActionContainer(newOrderAction)); updateMergedTicket.AddRuleMap(); _workspace.Add(updateMergedTicket); ImportMenus(screen); ImportTableResources(tableResourceType, availableState.Id); var customerScreen = new ResourceScreen { Name = "Customer Search", DisplayMode = 2, ResourceTypeId = customerResourceType.Id }; customerScreen.ResourceScreenMaps.Add(new ResourceScreenMap()); _workspace.Add(customerScreen); var customerTicketScreen = new ResourceScreen { Name = "Customer Tickets", DisplayMode = 0, ResourceTypeId = customerResourceType.Id, StateFilterId = newOrderState.Id, ColumnCount = 6, RowCount = 6 }; customerTicketScreen.ResourceScreenMaps.Add(new ResourceScreenMap()); _workspace.Add(customerTicketScreen); ImportItems(BatchCreateResources); ImportItems(BatchCreateTransactionTypes); ImportItems(BatchCreateTransactionTypeDocuments); _workspace.CommitChanges(); _workspace.Dispose(); }
public AccountScreenAutmationCommandMapViewModel(AccountScreenAutmationCommandMap model, ICacheService cacheService) : this(model) { _cacheService = cacheService; AutomationCommand = _cacheService.GetAutomationCommandByName(model.AutomationCommandName); }
public IActionResult Add([FromBody] AutomationCommand item) { this.DAL.AutomationCommand.Add(item); this.DAL.SaveChanges(); return(Ok()); }
private void SetSelectedAutomationCommand(AutomationCommand command) { SelectedAutomationCommand = command; RaisePropertyChanged(() => SelectedAutomationCommand); }