/// <summary> /// Carga los datos de una instrucción /// </summary> private Instruction LoadInstruction(MLNode objMLNode) { Instruction objInstruction = new Instruction(); // Obtiene los datos de la instrucción objInstruction.Name = objMLNode.Nodes[cnstStrTagMessageName].Value; objInstruction.Request.Method = (RequestMessage.MethodType) objMLNode.Nodes[cnstStrTagMessageMethod].GetValue((int) RequestMessage.MethodType.Post); objInstruction.Request.URL = objMLNode.Nodes[cnstStrTagMessageURL].Value; objInstruction.Request.ContentType = objMLNode.Nodes[cnstStrTagMessageContentType].Value; // Obtiene los parámetros y nombres de archivos foreach (MLNode objMLChild in objMLNode.Nodes) switch (objMLChild.Name) { case cnstStrTagMessageQueryParameter: objInstruction.Request.QueryParameters.Add(objMLChild.Attributes[cnstStrTagMessageAttrName].Value, objMLChild.Attributes[cnstStrTagMessageAttrValue].Value); break; case cnstStrTagMessageHeader: objInstruction.Request.Headers.Add(objMLChild.Attributes[cnstStrTagMessageAttrName].Value, objMLChild.Attributes[cnstStrTagMessageAttrValue].Value); break; case cnstStrTagMessageFileName: objInstruction.Request.Attachments.Add(objMLChild.Value); break; } // Devuelve la instrucción return objInstruction; }
/// <summary> /// Inicializa el formulario /// </summary> private void InitForm() { // Inicializa la instrucción si no estaba en la memoria if (Instruction == null) Instruction = new Instruction(); // Inicializa el combo cboMethod.Items.Clear(); cboMethod.AddItem((int) RequestMessage.MethodType.Get, "Get"); cboMethod.AddItem((int) RequestMessage.MethodType.Post, "Post"); cboMethod.AddItem((int) RequestMessage.MethodType.Put, "Put"); cboMethod.AddItem((int) RequestMessage.MethodType.Delete, "Delete"); cboMethod.AddItem((int) RequestMessage.MethodType.Head, "Head"); cboMethod.AddItem((int) RequestMessage.MethodType.Options, "Options"); cboMethod.SelectedIndex = 0; // Inicializa los controles udtHeaders.InitControl(); udtParameters.InitControl(); udtFiles.InitControl(); // Carga los datos de la instrucción LoadInstruction(); }
/// <summary> /// Añade los nodos de la instrucción /// </summary> private void AddNodesMessage(MLNode objMLNode, Instruction objInstruction) { MLNode objMLChild = objMLNode.Nodes.Add(cnstStrTagMessage); // Obtiene los datos de la instrucción objMLChild.Nodes.Add(cnstStrTagMessageName, objInstruction.Name); objMLChild.Nodes.Add(cnstStrTagMessageMethod, (int) objInstruction.Request.Method); objMLChild.Nodes.Add(cnstStrTagMessageURL, objInstruction.Request.URL); objMLChild.Nodes.Add(cnstStrTagMessageContentType, objInstruction.Request.ContentType); // Añade los parámetros, cabeceras y nombres de archivos foreach (ParameterData objQueryParameter in objInstruction.Request.QueryParameters) objMLChild.Nodes.Add(GetNodeKey(cnstStrTagMessageQueryParameter, objQueryParameter.Key, objQueryParameter.Value)); foreach (Header objHeader in objInstruction.Request.Headers) objMLChild.Nodes.Add(GetNodeKey(cnstStrTagMessageHeader, objHeader.Key, objHeader.Value)); foreach (Attachment objAttachment in objInstruction.Request.Attachments) objMLChild.Nodes.Add(cnstStrTagMessageFileName, objAttachment.FileName); }