private void AddSystemSupplier(ref SqlCommand command, SystemParameter systemParameter) { if (systemParameter.HasTemplateId) { command.Parameters.Add(CoreRenderHelper.CreateAppSqlParam("@" + FrameworkConstants.PluginSystemInfo.TemplateID, "TemplateID", SqlDbType.NVarChar)); } if (systemParameter.HasTemplateName) { command.Parameters.Add(CoreRenderHelper.CreateAppSqlParam("@" + FrameworkConstants.PluginSystemInfo.TemplateName, "TemplateName", SqlDbType.NVarChar)); } if (systemParameter.HasTemplateVersion) { command.Parameters.Add(CoreRenderHelper.CreateAppSqlParam("@" + FrameworkConstants.PluginSystemInfo.TemplateVersion, "TemplateVersion", SqlDbType.NVarChar)); } if (systemParameter.HasComputerName) { command.Parameters.Add(CoreRenderHelper.CreateAppSqlParam("@" + FrameworkConstants.PluginSystemInfo.ComputerName, "CreatedOn", SqlDbType.NVarChar)); } if (systemParameter.HasUserId) { command.Parameters.Add(CoreRenderHelper.CreateAppSqlParam("@" + FrameworkConstants.PluginSystemInfo.UserId, "CreatedBy", SqlDbType.NVarChar)); } if (systemParameter.HasRenderRequestID) { command.Parameters.Add(CoreRenderHelper.CreateAppSqlParam("@" + FrameworkConstants.PluginSystemInfo.RenderRequestID, "RenderID", SqlDbType.NVarChar)); } }
public static bool ValidateRenderArgValue(RenderArgDomainSchema renderArg, RenderArgDomainValue argValues, ref string msg) { //Return if template doesn't need argument value for rendering. if (renderArg == null || renderArg.Parameters == null || renderArg.Parameters.Count == 0) { return(true); } if (argValues == null || argValues.Parameters == null || argValues.Parameters.Count == 0) { msg += "RenderArgument is null or empty."; return(false); } if (renderArg.Parameters.Count > argValues.Parameters.Count) { msg += string.Format("Argument missing. This template needs value for {0} parameters.", renderArg.Parameters.Count); return(false); } Dictionary <long, string> errors = new Dictionary <long, string>(); bool isValid = ValidateRenderArgType(renderArg, ref msg); if (!isValid) { return(false); } for (int i = 0; i < renderArg.Parameters.Count; i++) { RenderParameterSchema paramInfo = renderArg.Parameters[i]; //Get corresponding param value base on Name RenderParameterBase paramValueInfo = (from c in argValues.Parameters where string.Compare(c.Name, paramInfo.Name, true) == 0 select c).FirstOrDefault(); //If needed parameter isn't found. if (paramValueInfo == null || paramValueInfo.Value == null || paramValueInfo.Value.Count() == 0) { isValid = false; msg += string.Format("Parameter value is not found: {0}.", paramInfo.Name); continue; } object paramValue = paramInfo.DataType.IsArray ? paramValueInfo.Value : paramValueInfo.Value[0]; //Validate value and length SQLTypeName dataType = SQLConvertTypeHelper.GetSqlTypeFromString(paramInfo.DataType.Name); DataTypeLength length = CoreRenderHelper.GetDataTypeLengthFromSXLength(paramInfo.DataType.Length); if (!SQLDBTypeValidator.ValidateValue(dataType, length, paramValue, paramInfo.DataType.IsArray)) { isValid = false; msg += string.Format("Type of parameter value is invalid: {0}.", paramInfo.Name); } } return(isValid); }
public string GetDataAgrumentValueFromAppDB(ChecksumInfoItem item, string osql, RenderArgDomainValue renderArgumentValue, string conn) { string osqlData = string.Empty; //Retrieve data from Application database XmlReader xmlReader = null; try { SqlCommand command = new SqlCommand(); command.CommandText = osql;//osqlQuery always not null or empty. if (item.RenderArgument != null && renderArgumentValue != null) { for (int i = 0; i < item.RenderArgument.Parameters.Count; i++) { RenderParameterSchema sxParam = item.RenderArgument.Parameters[i]; SqlParameter sqlParameter = CoreRenderHelper.CreateSqlParamForAnArgument(sxParam, renderArgumentValue); command.Parameters.Add(sqlParameter); } } //Add System Supplier param SystemParameter systemParameter = item.SystemParameter; AddSystemSupplier(ref command, systemParameter); //Add Watermark string command.Parameters.Add(CoreRenderHelper.CreateAppSqlParam("@" + FrameworkConstants.PdwWatermark, "WaterMark", SqlDbType.NVarChar)); //Add param RenderArgumentX , RenderArgumentY AddParamRenderArgumentXY(ref command, renderArgumentValue, item); string connectionStr = base.GetConnectionString(conn.Trim()); xmlReader = ExecuteXmlReader(connectionStr, command); } catch (SqlException ex) { throw ex; } #region Transfer data to StringBuilder object XmlDocument xDoc = new XmlDocument(); xDoc.Load(xmlReader); xmlReader.Close(); osqlData = xDoc.InnerXml; #endregion return(osqlData); }
private void AddParamRenderArgumentXY(ref SqlCommand command, RenderArgDomainValue renderArgumentValue, ChecksumInfoItem item) { if (item.RenderArgument.RenderArgumentX) { command.Parameters.Add(CoreRenderHelper.CreateAppSqlParam("@" + FrameworkConstants.RenderArgumentX, string.Format("{0}", renderArgumentValue.RenderArgumentX), SqlDbType.NVarChar)); } if (item.RenderArgument.RenderArgumentY) { command.Parameters.Add(CoreRenderHelper.CreateAppSqlParam("@" + FrameworkConstants.RenderArgumentY, string.Format("{0}", renderArgumentValue.RenderArgumentY), SqlDbType.NVarChar)); } }