public override XmlReader Load(int moduleId, int portalId, Hashtable settings) { var xmlsrc = settings[Setting.SourceUrl].DefaultIfNullOrEmpty(); XmlReader responseReader = null; if (!string.IsNullOrEmpty(xmlsrc)) { try { switch (Globals.GetURLType(xmlsrc)) { case TabType.Url: { var paramList = new ParameterController(_providerName).GetParameters(moduleId); paramList.Encoding = GetQueryStringEncoding(settings[Setting.UrlEncoding].DefaultIfNullOrEmpty()); xmlsrc = new TokenReplace().ReplaceEnvironmentTokens(xmlsrc); if (paramList.IsValid()) { xmlsrc += (xmlsrc.IndexOf("?") == -1 ? "?" : "&") + paramList; var useCache = bool.Parse(settings[Setting.EnableCache].DefaultIfNullOrEmpty(bool.FalseString)); var credential = new Credential(settings[Setting.SourceAccount].DefaultIfNullOrEmpty(), settings[Setting.SourcePassWord].DefaultIfNullOrEmpty()); responseReader = GetXmlContent(xmlsrc,credential , useCache); } else { responseReader = NoDataReader("Parameter"); } } break; default: responseReader = NoDataReader("Unsupported Url"); break; } } catch (SecurityException) { throw; } catch (Exception ex) { Exceptions.LogException(ex); responseReader = NoDataReader("Exception"); } } return responseReader; }
/// <summary> /// Binds the <see cref = "ParameterInfo" /> settings. /// </summary> /// <param name = "showAddRow">Specifies whether an additional edit row should be displayed.</param> private void BindParameters(bool showAddRow = false) { var objController = new ParameterController(Purpose); var colParams = objController.GetParameters(ModuleId); _isStatic = colParams.IsStatic(); // add new row if (showAddRow) { colParams.Add(new ParameterInfo()); grdParams.EditItemIndex = colParams.Count - 1; } // apply data source grdParams.DataSource = colParams; grdParams.DataBind(); grdParams.Visible = (colParams.Count > 0 || showAddRow); grdParams.Columns[2].Visible = grdParams.Visible && RequiredValuesNeeded; // bind settings }
protected void GrdParams_DeleteCommand(object source, DataGridCommandEventArgs e) { try { // init vars var objController = new ParameterController(Purpose); var objParamKey = new ParameterInfo.UniqueKey { Id = Convert.ToInt32(grdParams.DataKeys[e.Item.ItemIndex]) }; // delete parameter objController.DeleteParameter(objParamKey); // reset edit row grdParams.EditItemIndex = -1; BindParameters(); //Module failed to load } catch (Exception exc) { Exceptions.ProcessModuleLoadException(this, exc); } }
protected void GrdParams_UpdateCommand(object source, DataGridCommandEventArgs e) { try { // init vars var objParam = new ParameterInfo(); // set values if (e.Item.ItemIndex > -1) objParam.Id = Convert.ToInt32(grdParams.DataKeys[e.Item.ItemIndex]); objParam.ModuleId = ModuleId; objParam.Name = ((TextBox) e.Item.FindControl(ControlNames.ParameterName)).Text; objParam.Type = ((DropDownList) e.Item.FindControl(ControlNames.ParameterType)).SelectedValue; if (objParam.IsArgumentRequired() || (SupportsFallbackValues && objParam.SupportsFallbackValue())) objParam.TypeArgument = ((TextBox) e.Item.FindControl(ControlNames.ParameterArgument)).Text; objParam.IsValueRequired = ((CheckBox) e.Item.FindControl(ControlNames.ParameterIsValueRequired)).Checked; // add/update param if (objParam.IsValidDefinition) { var objController = new ParameterController(Purpose); if (objParam.IsNew) { objController.AddParameter(objParam); } else { objController.UpdateParameter(objParam); } // clear edit row grdParams.EditItemIndex = -1; // bind data BindParameters(); } else { ErrorMessagePlaceHolder.Controls.Add( UI.Skins.Skin.GetModuleMessageControl( Localization.GetString(LocaleKeys.ParameterInvalidHeader, LocalResourceFile), Localization.GetString(LocaleKeys.ParameterInvalid, LocalResourceFile), ModuleMessage.ModuleMessageType.RedError)); } //Module failed to load } catch (Exception exc) { Exceptions.ProcessModuleLoadException(this, exc); } }
public static void ImportProviderSettings(int moduleId, XmlNode settingsNode, string providerName) { if ((settingsNode != null)) { var pc = new ParameterController(providerName); foreach (var p in pc.GetParameters(moduleId)) { pc.DeleteParameter(p.Key); } foreach (XmlNode node in settingsNode.SelectNodes(Portable.ParamElement)) { if (node.Attributes == null) continue; var p = new ParameterInfo { ModuleId = moduleId, Name = node.Attributes["name"].Value, Type = node.Attributes[Portable.TypeAttribute].Value }; if (p.IsArgumentRequired()) p.TypeArgument = node.Attributes[Portable.ArgAttribute].Value; p.IsValueRequired = (node.Attributes[Portable.ValueRequiredAttribute] != null); pc.AddParameter(p); } } }