public UIElement GetSource()
        {
            var stack = new StackContainer();
            var group = new GroupContainer {
                CaptionHtml = "Tytuł grupy", LabelHeight = "10"
            };
            var row    = new RowContainer();
            var rowCmd = new RowContainer();

            var field1 = new FieldElement {
                CaptionHtml = "Pole 1", EditValue = "{Field1}", OuterWidth = "30"
            };
            var field2 = new FieldElement {
                CaptionHtml = "Pole 2", EditValue = "{Field2}", OuterWidth = "30"
            };
            var field3 = new FieldElement {
                CaptionHtml = "Pole 3", EditValue = "{Field3}", OuterWidth = "30"
            };
            var command = new CommandElement {
                CaptionHtml = "Pokaż wartości", MethodName = "ShowFieldValue", Width = "20"
            };

            row.Elements.Add(field1);
            row.Elements.Add(field2);
            row.Elements.Add(field3);
            rowCmd.Elements.Add(command);

            group.Elements.Add(row);
            group.Elements.Add(rowCmd);
            stack.Elements.Add(group);

            return(stack);
        }
Exemple #2
0
        public string FormatName(CommandElement command, TypeElement handleType)
        {
            var methodNameParts = command.NameParts;

            int verbPrefixLength = 1;

            if (methodNameParts.First() != command.Verb)
            {
                verbPrefixLength = 0;
            }

            if (handleType.NameParts
                .Zip(methodNameParts.Skip(verbPrefixLength), (x, y) => x == y)
                .All(x => x))
            {
                methodNameParts = methodNameParts.Take(verbPrefixLength).Concat(methodNameParts.Skip(handleType.NameParts.Count() + verbPrefixLength)).ToArray();
            }
            else if (handleType.VkName == "VkDeviceMemory" && methodNameParts.Skip(verbPrefixLength).First() == "memory")
            {
                methodNameParts = methodNameParts.Take(verbPrefixLength).Concat(methodNameParts.Skip(verbPrefixLength + 1)).ToArray();
            }
            else if (handleType.VkName == "VkCommandBuffer" && methodNameParts.First() == "cmd")
            {
                methodNameParts = methodNameParts.Skip(1).ToArray();
            }

            return(JoinNameParts(methodNameParts));
        }
Exemple #3
0
        public UIElement GetCommitPanel()
        {
            var stack = new StackContainer();
            var group = new GroupContainer {
                CaptionHtml = "Commity wybranego autora", LabelHeight = "10", IsReadOnly = "{ReadOnlyMode}"
            };

            var refreshCommandRow = new RowContainer();
            var refreshCommand    = new CommandElement {
                CaptionHtml = "Odśwież", MethodName = "RefreshCommitList", OuterWidth = "15"
            };

            refreshCommandRow.Elements.Add(refreshCommand);
            group.Elements.Add(refreshCommandRow);

            var commitGrid = GridElement.CreatePopulateGrid(CommitRows);

            commitGrid.EditValue    = "{CommitRows}";
            commitGrid.FocusedValue = "{FocusedCommitRow}";
            commitGrid.OuterWidth   = "80";
            group.Elements.Add(commitGrid);

            stack.Elements.Add(group);
            return(stack);
        }
Exemple #4
0
        public UIElement GetGitPanel()
        {
            var stack = new StackContainer();
            var group = new GroupContainer {
                CaptionHtml = "Git", LabelHeight = "10"
            };

            var gitPathRow    = new RowContainer();
            var repoPathField = new FieldElement {
                CaptionHtml = "Ścieżka do repozytorium", EditValue = "{RepoPath}", OuterWidth = "80"
            };

            gitPathRow.Elements.Add(repoPathField);
            group.Elements.Add(gitPathRow);

            var commandRow       = new RowContainer();
            var invalidPathLabel = new LabelElement {
                CaptionHtml = "{InvalidRepoPathInfo}"
            };
            var getDataCommand = new CommandElement {
                CaptionHtml = "Pobierz dane", MethodName = "GetGitData", OuterWidth = "15"
            };

            commandRow.Elements.Add(getDataCommand);
            commandRow.Elements.Add(invalidPathLabel);
            group.Elements.Add(commandRow);

            stack.Elements.Add(group);
            return(stack);
        }
        public void Execute(IServiceCollection services)
        {
            foreach (var vkCommand in this.xmlCache.GetVkXml().Element("registry").Element("commands").Elements("command"))
            {
                string name = vkCommand.Element("proto").Element("name").Value;
                string type = vkCommand.Element("proto").Element("type").Value;

                string[] nameParts = this.nameParser.GetNameParts(name, out string extension);

                string[] verbExceptions = new[] { "cmd", "queue", "device" };

                string verb = verbExceptions.Contains(nameParts[0]) ? nameParts[1] : nameParts[0];

                string[] successCodes = vkCommand.Attribute("successcodes")?.Value?.Split(',');

                var newCommand = new CommandElement
                {
                    VkName       = name,
                    Type         = type,
                    NameParts    = nameParts,
                    Extension    = extension,
                    Verb         = verb,
                    SuccessCodes = successCodes
                };

                services.AddSingleton(newCommand);

                foreach (var vkParam in vkCommand.Elements("param"))
                {
                    var nameElement = vkParam.Element("name");

                    string paramName = nameElement.Value;
                    string paramType = vkParam.Element("type").Value;
                    bool.TryParse(vkParam.Attribute("optional")?.Value, out bool isOptional);
                    bool.TryParse(vkParam.Attribute("noAutoValidity")?.Value, out bool noAutoValidity);

                    var         typeNodes   = nameElement.NodesBeforeSelf();
                    PointerType pointerType = PointerTypeUtil.GetFrom(typeNodes);

                    var lenField   = vkParam.Attribute("len");
                    var dimensions = lenField != null
                                        ? SimpleParser.ParsedLenField(lenField.Value)
                                        : null;

                    string[] paramNameParts = this.nameParser.ParseParamName(paramName, pointerType, out string paramExtension);

                    newCommand.Params.Add(new ParamElement
                    {
                        VkName         = paramName,
                        Type           = paramType,
                        PointerType    = pointerType,
                        NameParts      = paramNameParts,
                        Extension      = paramExtension,
                        IsOptional     = isOptional,
                        NoAutoValidity = noAutoValidity,
                        Dimensions     = dimensions
                    });
                }
            }
        }
    public void Cmd_RequestCreateCommandList(int x, int y)
    {
        List <CommandElement> list    = new List <CommandElement>();
        CommandElement        command = new CommandElement();

        command.title       = "Test";
        command.description = "Test";
        list.Add(command);
        command             = new CommandElement();
        command.title       = "Test2";
        command.description = "Test2";
        list.Add(command);
        TargetCommandDisp(connectionToClient, list.ToArray());
    }
Exemple #7
0
        private CommandElement GetStartCommand(CaptureProfileElement captureProfile)
        {
            CommandElement startCommand;

            if (!string.IsNullOrEmpty(captureProfile.Path))
            {
                //  Since they defined a Path/CommandLineFormat on the element
                //  we'll use it instead of one that might have been defined in the Commands
                startCommand = captureProfile.Commands.FirstOrDefault(c => c.Event == CommandEvent.Start);
                if (startCommand != null)
                {
                    captureProfile.Commands.Remove(startCommand);
                }
                startCommand = new CommandElement()
                {
                    //Name = "__StartRecording",
                    Event             = CommandEvent.Start,
                    Path              = captureProfile.Path,
                    CommandLineFormat = captureProfile.CommandLineFormat,
                    DelayAfterStart   = TimeSpan.FromSeconds(0),
                };
                captureProfile.Commands.Add(startCommand);
            }
            else
            {
                if (!captureProfile.Commands.Any())
                {
                    throw new InvalidOperationException(
                              string.Format("No commands defined for this CaptureProfile: name={0}", captureProfile.Name));
                }

                if (captureProfile.Commands.All(c => c.Event != CommandEvent.Start))
                {
                    throw new InvalidOperationException(
                              string.Format("No START event commands defined for this CaptureProfile: name={0}", captureProfile.Name));
                }

                startCommand = captureProfile.Commands.FirstOrDefault(c => c.Event == CommandEvent.Start);
            }

            if (!File.Exists(startCommand.Path))
            {
                var msg = string.Format("Cannot find capture executable {0}", startCommand.Path);
                throw new InvalidOperationException(msg);
            }

            return(startCommand);
        }
Exemple #8
0
        private Process StartProcess(CommandEvent commandEvent, CommandElement command, string args)
        {
            Logger.Info("StartProcess(): {0} command running. [{1} {2}]", commandEvent, command.Path, args);

            _currentCommand = command;

            var process = new Process();

            process.StartInfo.FileName               = command.Path;
            process.StartInfo.Arguments              = args;
            process.StartInfo.UseShellExecute        = false;
            process.StartInfo.CreateNoWindow         = true;
            process.StartInfo.RedirectStandardError  = true;
            process.StartInfo.RedirectStandardOutput = true;
            process.StartInfo.WindowStyle            = ProcessWindowStyle.Hidden;

            process.Start();

            if (process != null)
            {
                Logger.Info("StartProcess(): started new process. ({1}) {0}, ", command.Path, process.Id);
                process.ErrorDataReceived  += DataReceivedHandler;
                process.OutputDataReceived += DataReceivedHandler;
                process.EnableRaisingEvents = true;
                process.Exited += ProcessExitedHandler;

                try
                {
                    process.BeginOutputReadLine();
                    process.BeginErrorReadLine();
                }
                catch (Exception e)
                {
                    Logger.Warn("StartProcess(): Exception trying to capture stdout/stderr", e);
                    process.ErrorDataReceived  -= DataReceivedHandler;
                    process.OutputDataReceived -= DataReceivedHandler;
                }
            }
            else
            {
                throw new Exception(string.Format("StartProcess(): Could not start {0}", command.Path));
            }
            return(process);
        }
Exemple #9
0
        private bool ShouldWaitForRecordingToStart(CommandElement currentCommand)
        {
            const string Name = "WaitForRecordingToStart";

            if (currentCommand.Settings[Name] != null)
            {
                var value = currentCommand.Settings[Name].Value;
                Logger.Trace("{0}={1}", Name, value);

                bool result;
                if (Boolean.TryParse(value, out result))
                {
                    return(result);
                }
            }

            Logger.Trace("Default {0}=True");
            return(true);
        }
Exemple #10
0
		public ButtonState GetState(Int32 index, CommandElement element)
		{
			if (index < 0 || index >= Size) throw new ArgumentNullException("index");
			if (element == null) throw new ArgumentNullException("element");

			PlayerButton current = m_buffer.ReverseGet(index);
			PlayerButton previous = (index != Size - 1) ? m_buffer.ReverseGet(index + 1) : 0;

			Boolean current_state = GetButtonState(current, element);
			Boolean previous_state = GetButtonState(previous, element);

			if (current_state)
			{
				return previous_state ? ButtonState.Down : ButtonState.Pressed;
			}
			else
			{
				return previous_state ? ButtonState.Released : ButtonState.Up;
			}
		}
Exemple #11
0
        public UIElement GetSource()
        {
            var labelName = new LabelElement();

            var labelAverage = new LabelElement();

            var stack = new StackContainer();
            var group = new GroupContainer {
                CaptionHtml = "Tytuł grupy", LabelHeight = "10"
            };
            var row    = new RowContainer();
            var rowCmd = new RowContainer();

            //create grid
            IList <GridData> gridData = new List <GridData>();

            Grid.EditValue = "{gridData}";

            //create header
            Login = "******";
            CommitsAverageForDay = GetCommitsAverageForUser(Login);
            //



            var field1 = new FieldElement {
                CaptionHtml = "Pole 1", EditValue = "{Field1}", OuterWidth = "30"
            };
            var command = new CommandElement {
                CaptionHtml = "Pokaż wartości", MethodName = "ShowFieldValue", Width = "20"
            };

            row.Elements.Add(field1);
            rowCmd.Elements.Add(command);

            group.Elements.Add(row);
            group.Elements.Add(rowCmd);
            stack.Elements.Add(group);

            return(stack);
        }
Exemple #12
0
		static Boolean ElementMatch(CommandElement element, InputBuffer input, Int32 input_index)
		{
			ButtonState state = input.GetState(input_index, element);

			if (element.HeldDown == true)
			{
				Boolean result = (state == ButtonState.Down || state == ButtonState.Pressed);
				return result;
			}
			else if (element.TriggerOnRelease != null)
			{
				if (input_index >= input.Size)
				{
					return false;
				}

				if (input_index == 0 || input.GetState(input_index - 1, element) != ButtonState.Released)
				{
					return false;
				}

				Int32 holdcount = 1;
				for (Int32 i = input_index + 1; i < input.Size; ++i, ++holdcount) if (input.GetState(i, element) != ButtonState.Down) break;

				if (holdcount < element.TriggerOnRelease.Value)
				{
					return false;
				}
			}
			else
			{
				if (state != ButtonState.Pressed)
				{
					return false;
				}
			}

			return true;
		}
    public void TargetCommandDisp(NetworkConnection conn, CommandElement[] list)
    {
        player.selectionMenuDescription.text = "";
        player.itemApplyButton.onClick.RemoveAllListeners();
        foreach (Transform n in player.selectionMenuList.transform)
        {
            GameObject.Destroy(n.gameObject);
        }
        if (list.Length > 0)
        {
            for (int i = 0; i < list.Length; i++)

            {
                CommandElement item = list[i];
                //ボタン生成

                Button btn = (Button)Instantiate(player.menuItem);

                //ボタンをContentの子に設定

                btn.transform.SetParent(player.selectionMenuList.GetComponent <RectTransform>(), false);

                //ボタンのテキスト変更
                btn.transform.GetComponentInChildren <Text>().text = item.title;
                //ボタンのクリックイベント登録
                btn.onClick.AddListener(() => OnSelectItem(item));
            }
            player.selectionMenu.SetActive(true);
            player.desctiptionMenu.SetActive(true);
            OnSelectItem(list[0]);
        }
        else
        {
            player.selectionMenu.SetActive(false);
            player.desctiptionMenu.SetActive(false);
        }
    }
Exemple #14
0
        private UIElement getUIElement(int i)
        {
            var env   = new EnvironmentExtender();
            var row   = new RowContainer();
            var group = new GroupContainer {
                DataContext = "{Tasks[" + i + "]}",
                CaptionHtml = "{Title}",
                Width       = "350px",
                Height      = "80px"
            };

            #region stackLeft

            var stackLeft = new StackContainer();
            var image     = new FieldElement {
                CaptionHtml = "",
                EditValue   = "{Zadanie.Przedstawiciel.DefaultImage}",
                Width       = "110px",
                Height      = "150px",
                Class       = new UIClass[] { UIClass.ImageEdit }
            };

            stackLeft.Elements.Add(image);
            row.Elements.Add(stackLeft);

            #endregion stackLeft

            #region stackRight

            var stackRight = new StackContainer {
                LabelWidth = "20"
            };

            var labelContact = new LabelElement {
                CaptionHtml = "{Zadanie.Przedstawiciel.Nazwa}",
                Class       = new UIClass[] { UIClass.BoldLabel, UIClass.GreenFont },
                Width       = "20"
            };

            var labelPhone = new LabelElement {
                CaptionHtml = "{Zadanie.Przedstawiciel.Kontakt.TelefonKomorkowy}",
                Class       = new UIClass[] { UIClass.BoldLabel, UIClass.GreenFont },
                Width       = "16"
            };

            var labelCompany = new LabelElement {
                CaptionHtml = "{Zadanie.Kontrahent.Kod}",
                Width       = "20"
            };

            var labelAddress1 = new LabelElement {
                CaptionHtml = "{Zadanie.Kontrahent.Adres.Linia1}",
                Width       = "30"
            };

            var labelAddress2 = new LabelElement {
                CaptionHtml = "{Zadanie.Kontrahent.Adres.Linia2}",
                Width       = "30"
            };

            var command = new CommandElement {
                MethodName  = "ShowLocalization",
                CaptionHtml = "Zobacz dojazd",
                Width       = "*"
            };

            stackRight.Elements.Add(labelContact);
            stackRight.Elements.Add(labelPhone);
            stackRight.Elements.Add(labelCompany);
            stackRight.Elements.Add(labelAddress1);
            stackRight.Elements.Add(labelAddress2);
            stackRight.Elements.Add(command);

            row.Elements.Add(stackRight);

            #endregion stackRight

            if (env.IsHtml)
            {
                stackLeft.Class  = new[] { UIClass.Tight };
                stackRight.Class = new[] { UIClass.Tight };
            }

            group.Elements.Add(row);
            group.Elements.Add(new GapElement {
                Height = "1",
                Width  = "0"
            });

            return(group);
        }
        public void Execute(IServiceCollection services)
        {
            var newCommands = new Dictionary <string, CommandElement>();

            foreach (var vkCommand in this.xmlCache.GetVkXml().Element("registry").Element("commands").Elements("command"))
            {
                if (vkCommand.Element("proto") == null)
                {
                    continue;
                }
                string name = vkCommand.Element("proto").Element("name").Value;
                string type = vkCommand.Element("proto").Element("type").Value;

                string[] nameParts = this.nameParser.GetNameParts(name, out string extension);

                string[] verbExceptions = new[] { "cmd", "queue", "device" };

                string verb = verbExceptions.Contains(nameParts[0]) ? nameParts[1] : nameParts[0];

                string[] successCodes = vkCommand.Attribute("successcodes")?.Value?.Split(',');

                var newCommand = new CommandElement
                {
                    VkName             = name,
                    Type               = type,
                    NameParts          = nameParts,
                    ExtensionNamespace = extension,
                    Verb               = verb,
                    SuccessCodes       = successCodes
                };

                newCommands.Add(name, newCommand);

                foreach (var vkParam in vkCommand.Elements("param"))
                {
                    var nameElement = vkParam.Element("name");

                    string paramName = nameElement.Value;
                    string paramType = vkParam.Element("type").Value;
                    bool.TryParse(vkParam.Attribute("optional")?.Value, out bool isOptional);
                    bool.TryParse(vkParam.Attribute("noAutoValidity")?.Value, out bool noAutoValidity);

                    var typeNodes   = nameElement.NodesBeforeSelf();
                    var pointerType = PointerTypeUtil.GetFrom(typeNodes);

                    var lenField   = vkParam.Attribute("len");
                    var dimensions = lenField != null
                                        ? SimpleParser.ParsedLenField(lenField.Value)
                                        : null;

                    string[] paramNameParts = this.nameParser.ParseParamName(paramName, pointerType, out string paramExtension);

                    newCommand.Params.Add(new ParamElement
                    {
                        VkName             = paramName,
                        Type               = paramType,
                        PointerType        = pointerType,
                        NameParts          = paramNameParts,
                        ExtensionNamespace = paramExtension,
                        IsOptional         = isOptional,
                        NoAutoValidity     = noAutoValidity,
                        Dimensions         = dimensions
                    });
                }
            }

            foreach (var commandRequirement in this.xmlCache.GetVkXml().Element("registry").Elements("feature").SelectMany(feature => feature.Elements("require").SelectMany(x => x.Elements("command"))))
            {
                services.AddSingleton(newCommands[commandRequirement.Attribute("name").Value]);
            }

            foreach (var extension in this.xmlCache.GetVkXml().Element("registry").Element("extensions").Elements("extension"))
            {
                if (extension.Attribute("supported").Value == "vulkan" && extension.Attribute("promotedto") == null)
                {
                    foreach (string commandRequirement in extension.Elements("require")
                             .SelectMany(x => x.Elements("command"))
                             .Select(x => x.Attribute("name").Value)
                             .Distinct())
                    {
                        services.AddSingleton(newCommands[commandRequirement]);
                    }
                }
            }
        }
Exemple #16
0
 public CommandParameterElementCollection(CommandElement mapping) : base(mapping)
 {
 }
 public void OnSelectItem(CommandElement item)
 {
     player.itemApplyButton.onClick.RemoveAllListeners();
     player.selectionMenuDescription.text = item.description;
     player.itemApplyButton.onClick.AddListener(() => OnApplyItem(item));
 }
Exemple #18
0
        public UIElement GetStatisticPanel()
        {
            var stack     = new StackContainer();
            var mainGroup = new GroupContainer {
                CaptionHtml = "Statystyki wybranego autora", LabelHeight = "10", IsReadOnly = "{ReadOnlyMode}"
            };

            var commitCountGroup = new GroupContainer {
                CaptionHtml = "Ilość commitów ", LabelHeight = "10"
            };

            var countCommandRow = new RowContainer();
            var dateField       = new FieldElement {
                CaptionHtml = "Data", EditValue = "{CountCommandDate}", OuterWidth = "40"
            };

            countCommandRow.Elements.Add(dateField);
            commitCountGroup.Elements.Add(countCommandRow);

            var resultCountRow   = new RowContainer();
            var commitCountField = new FieldElement {
                CaptionHtml = "Ilość", EditValue = "{CommitCount}", OuterWidth = "25", IsReadOnly = "true"
            };
            var countCommitsCommand = new CommandElement {
                CaptionHtml = "Pokaż wartość", MethodName = "SetCommitCount", OuterWidth = "15"
            };

            resultCountRow.Elements.Add(commitCountField);
            resultCountRow.Elements.Add(countCommitsCommand);
            commitCountGroup.Elements.Add(resultCountRow);

            mainGroup.Elements.Add(commitCountGroup);

            var averageCountGroup = new GroupContainer {
                CaptionHtml = "Średnia ilość commitów ", LabelHeight = "10"
            };

            var rangeFromRow  = new RowContainer();
            var dateFromField = new FieldElement {
                CaptionHtml = "Od", EditValue = "{AverageDateFrom}", OuterWidth = "40"
            };

            rangeFromRow.Elements.Add(dateFromField);

            var rangeToRow  = new RowContainer();
            var dateToField = new FieldElement {
                CaptionHtml = "Do", EditValue = "{AverageDateTo}", OuterWidth = "40"
            };

            rangeToRow.Elements.Add(dateToField);

            averageCountGroup.Elements.Add(rangeFromRow);
            averageCountGroup.Elements.Add(rangeToRow);

            var averageCountRow   = new RowContainer();
            var averageCountField = new FieldElement {
                CaptionHtml = "Ilość", EditValue = "{AverageCommitCount}", OuterWidth = "25", IsReadOnly = "true"
            };
            var averageCountCommand = new CommandElement {
                CaptionHtml = "Pokaż wartość", MethodName = "SetAverageCommitCount", OuterWidth = "15"
            };
            var invalidRangeLabel = new LabelElement {
                CaptionHtml = "{InvalidRangeInfo}"
            };

            averageCountRow.Elements.Add(averageCountField);
            averageCountRow.Elements.Add(averageCountCommand);
            averageCountRow.Elements.Add(invalidRangeLabel);
            averageCountGroup.Elements.Add(averageCountRow);

            mainGroup.Elements.Add(averageCountGroup);

            stack.Elements.Add(mainGroup);
            return(stack);
        }
 public void OnApplyItem(CommandElement item)
 {
     Debug.Log("コマンド実行");
 }
Exemple #20
0
        internal InboundInterfaceElement GetInboundRequestElement()
        {
            var inboundRequest = new InboundInterfaceElement();

            // Initialize User
            inboundRequest.user = ToaUserUtil.GetInboundUser();

            //Initialize Head
            var head = new HeadElement();

            head.allow_change_date = ToaStringsUtil.GetString(_allowChangeDate);
            head.date = _uploadDate;
            head.default_appointment_pool = _defaultAppointmentPool;
            head.id = _transactionId;
            head.processing_mode = ToaStringsUtil.GetString(_processingMode);
            head.properties_mode = ToaStringsUtil.GetString(_propertiesMode);
            head.upload_type     = ToaStringsUtil.GetString(_uploadType);
            head.provider_group  = _providerGroup;
            if (null != _activitySettings)
            {
                head.appointment = _activitySettings.GetActivitySettings();
            }
            if (null != _inventorySettings)
            {
                head.inventory = _inventorySettings.GetInventorySettings();
            }
            inboundRequest.head = head;

            //initialize Data
            var data       = new DataElement();
            var noOfModels = _dataModels.Count;

            CommandElement []  commands  = null;
            ProviderElement [] providers = null;
            if (UploadType == UploadType.Full) // Full Upload
            {
                providers = new ProviderElement[noOfModels];
                foreach (var model in _dataModels)
                {
                    if (model is WorkOrderModel)
                    {
                        var activityModel   = ((WorkOrderModel)model);
                        var providerElement = new ProviderElement();
                        providerElement.appointment = activityModel.GetActivityElement();
                        providers[--noOfModels]     = providerElement;
                    }
                    else if (model is InventoryModel)
                    {
                        //TODO: Need to initialize inventory object
                    }
                }
                data.providers = providers;
            }
            else // Incremental Upload
            {
                commands = new CommandElement[noOfModels];
                foreach (var model in _dataModels)
                {
                    if (model is WorkOrderModel)
                    {
                        var workOrderModel = ((WorkOrderModel)model);
                        var command        = new CommandElement();
                        command.appointment    = workOrderModel.GetActivityElement();
                        command.date           = workOrderModel.AssignedDate;
                        command.external_id    = workOrderModel.ExternalId;
                        command.type           = ToaStringsUtil.GetString(workOrderModel.CommandType);
                        commands[--noOfModels] = command;
                    }
                    else if (model is InventoryModel)
                    {
                        //TODO: Need to initialize inventory object
                    }
                }
                data.commands = commands;
            }



            inboundRequest.data = data;

            return(inboundRequest);
        }
Exemple #21
0
		ReadOnlyList<CommandElement> ParseCommandText(String text)
		{
			if (text == null) throw new ArgumentNullException("text");

			List<CommandElement> elements = new List<CommandElement>();

			CommandElement lastelement = null;
			foreach (String token in text.Split(','))
			{
				if (String.IsNullOrEmpty(token) == true) continue;

				Boolean helddown = false;
				Boolean nothingelse = false;
				Int32? triggertime = null;
				CommandDirection dir = CommandDirection.None;
				CommandButton buttons = CommandButton.None;

				if (token.IndexOf('~') != -1)
				{
					Int32 time = 0;
					Match match = m_numberregex.Match(token);
					if (match.Success == true) Int32.TryParse(match.Groups[1].Value, out time);

					triggertime = time;
				}

				if (token.IndexOf('/') != -1) helddown = true;

				if (token.IndexOf('>') != -1) nothingelse = true;

				if (token.IndexOf("$B") != -1) dir = CommandDirection.B4Way;
				else if (token.IndexOf("$U") != -1) dir = CommandDirection.U4Way;
				else if (token.IndexOf("$F") != -1) dir = CommandDirection.F4Way;
				else if (token.IndexOf("$D") != -1) dir = CommandDirection.D4Way;
				else if (token.IndexOf("DB") != -1) dir = CommandDirection.DB;
				else if (token.IndexOf("DF") != -1) dir = CommandDirection.DF;
				else if (token.IndexOf("UF") != -1) dir = CommandDirection.UF;
				else if (token.IndexOf("UF") != -1) dir = CommandDirection.UF;
				else if (token.IndexOf("D+B") != -1) dir = CommandDirection.DB;
				else if (token.IndexOf("D+F") != -1) dir = CommandDirection.DF;
				else if (token.IndexOf("U+B") != -1) dir = CommandDirection.UB;
				else if (token.IndexOf("U+F") != -1) dir = CommandDirection.UF;
				else if (token.IndexOf("D") != -1) dir = CommandDirection.D;
				else if (token.IndexOf("F") != -1) dir = CommandDirection.F;
				else if (token.IndexOf("U") != -1) dir = CommandDirection.U;
				else if (token.IndexOf("B") != -1) dir = CommandDirection.B;

				if (token.IndexOf("a") != -1) buttons |= CommandButton.A;
				if (token.IndexOf("b") != -1) buttons |= CommandButton.B;
				if (token.IndexOf("c") != -1) buttons |= CommandButton.C;
				if (token.IndexOf("x") != -1) buttons |= CommandButton.X;
				if (token.IndexOf("y") != -1) buttons |= CommandButton.Y;
				if (token.IndexOf("z") != -1) buttons |= CommandButton.Z;
				if (token.IndexOf("s") != -1) buttons |= CommandButton.Taunt;

				CommandElement element = new CommandElement(dir, buttons, triggertime, helddown, nothingelse);

				if (lastelement != null && SuccessiveDirectionCheck(lastelement, element) == true)
				{
					CommandElement newelement1 = new CommandElement(element.Direction, CommandButton.None, 0, false, true);
					CommandElement newelement2 = new CommandElement(element.Direction, CommandButton.None, null, false, true);

					elements.Add(newelement1);
					elements.Add(newelement2);
				}
				else
				{
					elements.Add(element);
				}

				lastelement = element;
			}

			return new ReadOnlyList<CommandElement>(elements);
		}
Exemple #22
0
		Boolean GetButtonState(PlayerButton inputelement, CommandElement commandelement)
		{
			return ((inputelement & commandelement.MatchHash1) == commandelement.MatchHash1) && ((inputelement & commandelement.MatchHash2) == 0);
		}
Exemple #23
0
		Boolean SuccessiveDirectionCheck(CommandElement last, CommandElement now)
		{
			if (last != now) return false;
			if (last.Direction == CommandDirection.None || last.Direction == CommandDirection.B4Way || last.Direction == CommandDirection.D4Way || last.Direction == CommandDirection.F4Way || last.Direction == CommandDirection.U4Way) return false;
			if (last.Buttons != CommandButton.None || last.HeldDown == true || last.NothingElse == true || last.TriggerOnRelease != null) return false;

			return true;
		}
        internal InboundInterfaceElement GetInboundRequestElement()
        {
            var inboundRequest = new InboundInterfaceElement();

            // Initialize User
            inboundRequest.user = ToaUserUtil.GetInboundUser();
            
            //Initialize Head
            var head = new HeadElement();
            head.allow_change_date = ToaStringsUtil.GetString(_allowChangeDate);
            head.date = _uploadDate;
            head.default_appointment_pool = _defaultAppointmentPool;
            head.id = _transactionId;
            head.processing_mode = ToaStringsUtil.GetString(_processingMode);
            head.properties_mode = ToaStringsUtil.GetString(_propertiesMode);
            head.upload_type = ToaStringsUtil.GetString(_uploadType);
            head.provider_group = _providerGroup;
            if(null != _activitySettings)
                head.appointment = _activitySettings.GetActivitySettings();
            if(null != _inventorySettings)
                head.inventory = _inventorySettings.GetInventorySettings();
            inboundRequest.head = head;

            //initialize Data
            var data = new DataElement();
            var noOfModels = _dataModels.Count;
            CommandElement [] commands = null;
            ProviderElement [] providers = null;
            if (UploadType == UploadType.Full) // Full Upload
            {
                providers = new ProviderElement[noOfModels];
                foreach (var model in _dataModels)
                {
                    if (model is WorkOrderModel)
                    {
                        var activityModel = ((WorkOrderModel) model);
                        var providerElement = new ProviderElement();
                        providerElement.appointment = activityModel.GetActivityElement();
                        providers[--noOfModels] = providerElement;
                    }
                    else if (model is InventoryModel)
                    {
                        //TODO: Need to initialize inventory object 
                    }
                }
                data.providers = providers;
            }
            else // Incremental Upload
            {
                commands = new CommandElement[noOfModels];
                foreach (var model in _dataModels)
                {
                    if (model is WorkOrderModel)
                    {
                        var workOrderModel = ((WorkOrderModel)model);
                        var command = new CommandElement();
                        command.appointment = workOrderModel.GetActivityElement();
                        command.date = workOrderModel.AssignedDate;
                        command.external_id = workOrderModel.ExternalId;
                        command.type = ToaStringsUtil.GetString(workOrderModel.CommandType);
                        commands[--noOfModels] = command;
                    }
                    else if (model is InventoryModel)
                    {
                        //TODO: Need to initialize inventory object
                    }
                }
                data.commands = commands;
            }
            
            

            inboundRequest.data = data;

            return inboundRequest;
        }
Exemple #25
0
 public UnrecognizedCommandException(CommandElement element)
     : base(string.Format(
                "The command '{0}' is not recongized and cannot be compiled. The full property was: {1}",
                element.CommandName, element))
 {
 }