private void CreateParameter(Function function, ParameterSchema parameterSchema) { Parameter parameter; if (function.Parameters.Contains(parameterSchema.Name)) { parameter = function.Parameters[parameterSchema.Name]; } else { parameter = new Parameter(parameterSchema.Name, GetSystemType(parameterSchema)); function.Parameters.Add(parameter); } //Parameter/@Parameter is safe if (string.IsNullOrEmpty(parameter.ParameterName)) { string parameterName = parameterSchema.Name; if (parameterName.StartsWith("@")) parameterName = parameterName.Substring(1); parameter.ParameterName = ToParameterName(parameterName); } parameter.Type = GetSystemType(parameterSchema); parameter.DbType = GetDbType(parameterSchema); switch (parameterSchema.Direction) { case System.Data.ParameterDirection.Input: parameter.Direction = ParameterDirection.In; break; case System.Data.ParameterDirection.InputOutput: parameter.Direction = ParameterDirection.InOut; break; case System.Data.ParameterDirection.Output: parameter.Direction = ParameterDirection.Out; break; } }
public override Parameter VisitParameter(Parameter parameter) { if (parameter == null) return null; writer.WriteStartElement("Parameter"); if (parameter.Name != null) writer.WriteAttributeString("Name", parameter.Name); if ((parameter.ParameterName != null) && (parameter.ParameterName != parameter.Name)) writer.WriteAttributeString("Parameter", parameter.ParameterName); if (parameter.Type != null) writer.WriteAttributeString("Type", parameter.Type); if (parameter.DbType != null) writer.WriteAttributeString("DbType", parameter.DbType); if (parameter.Direction.HasValue) writer.WriteAttributeString("Direction", parameter.Direction.ToString()); writer.WriteEndElement(); return parameter; }
public override Parameter VisitParameter(Parameter parameter) { if (parameter == null) return null; if (parameter.ParameterName == parameter.Name) parameter.ParameterName = null; if (parameter.Direction.HasValue && parameter.Direction.Value == ParameterDirection.In) parameter.Direction = null; return parameter; }
public override Parameter VisitParameter(Parameter parameter) { if (parameter == null) return null; if (parameter.ParameterName == null) parameter.ParameterName = parameter.Name; if (!parameter.Direction.HasValue) parameter.Direction = 0; return parameter; }
public override Parameter VisitParameter(Parameter parameter) { if (parameter == null) return null; return new Parameter(parameter.Name, parameter.Type) { ParameterName = parameter.ParameterName, Type = parameter.Type, DbType = parameter.DbType, Direction = parameter.Direction }; }
private static Parameter ReadParameter(XmlTextReader reader) { ValidateAttributes(reader, new[] {"Name", "Parameter", "Type", "DbType", "Direction"}); var parameter = new Parameter("", ""); string attribute = reader.GetAttribute("Name"); if (attribute == null) throw Error.RequiredAttributeMissingViolation("Name", reader.LineNumber); parameter.Name = attribute; parameter.ParameterName = reader.GetAttribute("Parameter"); string typeAttribute = reader.GetAttribute("Type"); if (typeAttribute == null) throw Error.RequiredAttributeMissingViolation("Type", reader.LineNumber); parameter.Type = typeAttribute; parameter.DbType = reader.GetAttribute("DbType"); string dicection = reader.GetAttribute("Direction"); try { if (dicection == null) parameter.Direction = null; else parameter.Direction = (ParameterDirection) Enum.Parse(typeof (ParameterDirection), dicection, true); } catch (ArgumentException) { throw Error.InvalidEnumAttributeValueViolation(dicection, reader.LineNumber); } AssertEmptyElement(reader); return parameter; }