/// <summary> /// Insert a CommandButtonField record into the metaFields table. /// </summary> /// <param name="field">Command button field.</param> /// <returns>Returns the Id of the last CommandButtonField added.</returns> public int CreateField(CommandButtonField field) { try { #region InputValidation if (field == null) { throw new ArgumentNullException("CommandButtonField"); } #endregion Query insertQuery = db.CreateQuery("insert into metaFields([ViewId], [UniqueId], [CheckCodeAfter], [ControlFontFamily], [ControlFontStyle], [ControlFontSize], [ControlHeightPercentage], [ControlLeftPositionPercentage], [ControlTopPositionPercentage], [ControlWidthPercentage], [FieldTypeId], [HasTabStop], [Name], [PageId], [PromptText], [TabIndex]) " + "values (@ViewId, @UniqueId, @CheckCodeAfter, @ControlFontFamily, @ControlFontStyle, @ControlFontSize, @ControlHeightPercentage, @ControlLeftPositionPercentage, @ControlTopPositionPercentage, @ControlWidthPercentage, @FieldTypeId, @HasTabStop, @Name, @PageId, @PromptText, @TabIndex)"); insertQuery.Parameters.Add(new QueryParameter("@ViewId", DbType.Int32, field.GetView().Id)); insertQuery.Parameters.Add(new QueryParameter("@UniqueId", DbType.Guid, field.UniqueId)); if (string.IsNullOrEmpty(field.CheckCodeClick)) insertQuery.Parameters.Add(new QueryParameter("@CheckCodeAfter", DbType.String, DBNull.Value)); else insertQuery.Parameters.Add(new QueryParameter("@CheckCodeAfter", DbType.String, field.CheckCodeClick)); insertQuery.Parameters.Add(new QueryParameter("@ControlFontFamily", DbType.String, field.ControlFont.Name)); insertQuery.Parameters.Add(new QueryParameter("@ControlFontStyle", DbType.String, field.ControlFont.Style.ToString())); insertQuery.Parameters.Add(new QueryParameter("@ControlFontSize", DbType.Double, field.ControlFont.Size)); insertQuery.Parameters.Add(new QueryParameter("@ControlHeightPercentage", DbType.Double, field.ControlHeightPercentage)); insertQuery.Parameters.Add(new QueryParameter("@ControlLeftPositionPercentage", DbType.Double, field.ControlLeftPositionPercentage)); insertQuery.Parameters.Add(new QueryParameter("@ControlTopPositionPercentage", DbType.Double, field.ControlTopPositionPercentage)); insertQuery.Parameters.Add(new QueryParameter("@ControlWidthPercentage", DbType.Double, field.ControlWidthPercentage)); insertQuery.Parameters.Add(new QueryParameter("@FieldTypeId", DbType.Int32, (int)field.FieldType)); insertQuery.Parameters.Add(new QueryParameter("@HasTabStop", DbType.Boolean, field.HasTabStop)); insertQuery.Parameters.Add(new QueryParameter("@Name", DbType.String, field.Name)); insertQuery.Parameters.Add(new QueryParameter("@PageId", DbType.Int32, field.Page.Id)); insertQuery.Parameters.Add(new QueryParameter("@PromptText", DbType.String, field.PromptText)); insertQuery.Parameters.Add(new QueryParameter("@TabIndex", DbType.Int32, field.TabIndex)); db.ExecuteNonQuery(insertQuery); return GetMaxFieldId(field.GetView().Id); } catch (Exception ex) { throw new GeneralException("Could not create CommandButton field in the database", ex); } finally { } }
/// <summary> /// Retrieves data for command button field from xml metadata /// </summary> /// <param name="field">A command button field</param> /// <param name="fieldNode">The field node in the Xml metadata file</param> public void GetFieldData(CommandButtonField field, XmlNode fieldNode) { field.Id = Int32.Parse(fieldNode.Attributes["FieldId"].Value); field.Name = fieldNode.Attributes["Name"].Value; field.PromptText = fieldNode.Attributes["PromptText"].Value; //field.ControlFont = System.Drawing.Font(fieldNode.Attributes["ControlFontFamily"].Value); //field.ControlFont.Style = fieldNode.Attributes["ControlFontStyle"].Value; //field.ControlFont.Size = float.Parse(fieldNode.Attributes["ControlFontSize"].Value); field.ControlTopPositionPercentage = Double.Parse(fieldNode.Attributes["ControlTopPositionPercentage"].Value); field.ControlLeftPositionPercentage = Double.Parse(fieldNode.Attributes["ControlLeftPositionPercentage"].Value); field.ControlHeightPercentage = Double.Parse(fieldNode.Attributes["ControlHeightPercentage"].Value); field.ControlWidthPercentage = Double.Parse(fieldNode.Attributes["ControlWidthPercentage"].Value); field.TabIndex = Int32.Parse(fieldNode.Attributes["TabIndex"].Value); field.HasTabStop = bool.Parse(fieldNode.Attributes["HasTabStop"].Value); //field.PromptFont.FontFamily.Name = fieldNode.Attributes["PromptFontFamily"].Value; //field.PromptFont.Style = fieldNode.Attributes["PromptFontStyle"].Value; //field.PromptFont.Size = fieldNode.Attributes["PromptFontSize"].Value; //field.PromptFont.Name = fieldNode.Attributes["PromptScriptName"].Value; //field.ControlFont.Name = fieldNode.Attributes["ControlScriptName"].Value; //field.IsControlResizable = bool.Parse(fieldNode.Attributes["ShouldRetainImageSize"].Value); //field.TableName = fieldNode.Attributes["DataTableName"].Value; //field. = fieldNode.Attributes["FieldTypeId"].Value; field.Page = new Page(field.GetView()); //field.Page.Name = field.Page.Id = int.Parse(fieldNode.Attributes["PageId"].Value); }
/* private void UpdateField(CodeField field) { try { #region InputValidation if (field == null) { throw new ArgumentNullException("CodeField"); } #endregion DbQuery updateQuery = db.CreateQuery("update metaFields set [ControlFontFamily] = @ControlFontFamily, [ControlFontStyle] = @ControlFontStyle, " + "[ControlFontSize] = @ControlFontSize, [ControlHeight] = @ControlHeight, [ControlLeftPosition] = @ControlLeftPosition, " + "[ControlTopPosition] = @ControlTopPosition, [ControlWidth] = @ControlWidth, [HasTabStop] = @HasTabStop, [Name] = @Name, " + "[PageId] = @PageId, [PromptFontFamily] = @PromptFontFamily, [PromptFontStyle] = @PromptFontStyle, [PromptFontSize] = @PromptFontSize, " + "[PromptLeftPosition] = @PromptLeftPosition, [PromptText] = @PromptText, [PromptTopPosition] = @PromptTopPosition, " + "[TabIndex] = @TabIndex where [FieldId] = @FieldId"); updateQuery.Parameters.Add(new DbParameter("@ControlFontFamily", DbType.String, field.ControlFont.Name)); updateQuery.Parameters.Add(new DbParameter("@ControlFontStyle", DbType.String, field.ControlFont.Style.ToString())); updateQuery.Parameters.Add(new DbParameter("@ControlFontSize", DbType.Double, field.ControlFont.Size)); updateQuery.Parameters.Add(new DbParameter("@ControlHeight", DbType.Double, field.ControlHeightPercentage)); updateQuery.Parameters.Add(new DbParameter("@ControlLeftPosition", DbType.Double, field.ControlLeftPositionPercentage)); updateQuery.Parameters.Add(new DbParameter("@ControlTopPosition", DbType.Double, field.ControlTopPositionPercentage)); updateQuery.Parameters.Add(new DbParameter("@ControlWidth", DbType.Double, field.ControlWidthPercentage)); updateQuery.Parameters.Add(new DbParameter("@HasTabStop", DbType.Boolean, field.HasTabStop)); updateQuery.Parameters.Add(new DbParameter("@Name", DbType.String, field.Name)); updateQuery.Parameters.Add(new DbParameter("@PageId", DbType.Int32, field.Page.Id)); updateQuery.Parameters.Add(new DbParameter("@PromptFontFamily", DbType.String, field.PromptFont.Name)); updateQuery.Parameters.Add(new DbParameter("@PromptFontStyle", DbType.String, field.PromptFont.Style.ToString())); updateQuery.Parameters.Add(new DbParameter("@PromptFontSize", DbType.Double, field.PromptFont.Size)); updateQuery.Parameters.Add(new DbParameter("@PromptLeftPosition", DbType.Double, field.PromptLeftPositionPercentage)); updateQuery.Parameters.Add(new DbParameter("@PromptText", DbType.String, field.PromptText)); updateQuery.Parameters.Add(new DbParameter("@PromptTopPosition", DbType.Double, field.PromptTopPositionPercentage)); updateQuery.Parameters.Add(new DbParameter("@TabIndex", DbType.Int32, field.TabIndex)); updateQuery.Parameters.Add(new DbParameter("@FieldId", DbType.Int32, field.Id)); db.ExecuteNonQuery(updateQuery); } catch (Exception ex) { throw new GeneralException("Could not update CodeField in the database", ex); } finally { } } */ /// <summary> /// Update Command Button field. /// </summary> /// <param name="field">Command Button field to update.</param> /// <returns>Id of the updated field.</returns> public void UpdateField(CommandButtonField field) { try { #region InputValidation if (field == null) { throw new ArgumentNullException("CommandButtonField"); } #endregion XmlDocument xmlDoc = GetXmlDocument(); XmlNode fieldsNode = GetFieldsNode(GetFieldViewElement(field)); View view = field.GetView(); string fieldId = field.Id.ToString(); XmlNode fieldNode = fieldsNode.SelectSingleNode("//Field[@FieldId= '" + fieldId + "']"); fieldNode.Attributes["Name"].Value = field.Name.ToString(); fieldNode.Attributes["PromptText"].Value = field.PromptText.ToString(); fieldNode.Attributes["ControlFontFamily"].Value = field.ControlFont.ToString(); fieldNode.Attributes["ControlFontStyle"].Value = field.ControlFont.Style.ToString(); fieldNode.Attributes["ControlFontSize"].Value = field.ControlFont.Size.ToString(); fieldNode.Attributes["ControlTopPositionPercentage"].Value = field.ControlTopPositionPercentage.ToString(); fieldNode.Attributes["ControlLeftPositionPercentage"].Value = field.ControlLeftPositionPercentage.ToString(); fieldNode.Attributes["ControlHeightPercentage"].Value = field.ControlHeightPercentage.ToString(); fieldNode.Attributes["ControlWidthPercentage"].Value = field.ControlWidthPercentage.ToString(); fieldNode.Attributes["TabIndex"].Value = field.TabIndex.ToString(); fieldNode.Attributes["HasTabStop"].Value = (bool.Parse(field.HasTabStop.ToString())).ToString(); fieldNode.Attributes["PromptFontFamily"].Value = field.PromptFont.FontFamily.Name.ToString(); fieldNode.Attributes["PromptFontStyle"].Value = field.PromptFont.Style.ToString(); fieldNode.Attributes["PromptFontSize"].Value = field.PromptFont.Size.ToString(); fieldNode.Attributes["PromptScriptName"].Value = field.PromptFont.Name.ToString(); fieldNode.Attributes["ControlScriptName"].Value = field.ControlFont.Name.ToString(); //fieldNode.Attributes["ShouldRetainImageSize"].Value = (bool.Parse(field.IsControlResizable)).ToString(); view.Project.Save(); } catch (Exception ex) { throw new GeneralException("Could not update CommandButtonField in the database", ex); } finally { } }
/* /// <summary> /// Creates a code field in the database /// </summary> /// <param name="field">A CodeField object</param> /// <returns>Id of the newly created field</returns> public int CreateField(CodeField field) { try { #region InputValidation if (field == null) { throw new ArgumentNullException("CodeField"); } #endregion DbQuery insertQuery = db.CreateQuery("insert into metaFields([ControlFontFamily], [ControlFontStyle], [ControlFontSize], [ControlHeight], [ControlLeftPosition], [ControlTopPosition], [ControlWidth], [HasTabStop], [Name], [PageId], [PromptFontFamily], [PromptFontStyle], [PromptFontSize], [PromptLeftPosition], [PromptText], [PromptTopPosition], [TabIndex]) " + "values (@ControlFontFamily, @ControlFontStyle, @ControlFontSize, @ControlHeight, @ControlLeftPosition, @ControlTopPosition, @ControlWidth, @HasTabStop, @Name, @PageId, @PromptFontFamily, @PromptFontStyle, @PromptFontSize, @PromptLeftPosition, @PromptText, @PromptTopPosition, @TabIndex)"); insertQuery.Parameters.Add(new DbParameter("@ControlFontFamily", DbType.String, field.ControlFont.Name)); insertQuery.Parameters.Add(new DbParameter("@ControlFontStyle", DbType.String, field.ControlFont.Style.ToString())); insertQuery.Parameters.Add(new DbParameter("@ControlFontSize", DbType.Double, field.ControlFont.Size)); insertQuery.Parameters.Add(new DbParameter("@ControlHeight", DbType.Double, field.ControlHeightPercentage)); insertQuery.Parameters.Add(new DbParameter("@ControlLeftPosition", DbType.Double, field.ControlLeftPositionPercentage)); insertQuery.Parameters.Add(new DbParameter("@ControlTopPosition", DbType.Double, field.ControlTopPositionPercentage)); insertQuery.Parameters.Add(new DbParameter("@ControlWidth", DbType.Double, field.ControlWidthPercentage)); insertQuery.Parameters.Add(new DbParameter("@HasTabStop", DbType.Boolean, field.HasTabStop)); insertQuery.Parameters.Add(new DbParameter("@Name", DbType.String, field.Name)); insertQuery.Parameters.Add(new DbParameter("@PageId", DbType.Int32, field.Page.Id)); insertQuery.Parameters.Add(new DbParameter("@PromptFontFamily", DbType.String, field.PromptFont.Name)); insertQuery.Parameters.Add(new DbParameter("@PromptFontStyle", DbType.String, field.PromptFont.Style.ToString())); insertQuery.Parameters.Add(new DbParameter("@PromptFontSize", DbType.Double, field.PromptFont.Size)); insertQuery.Parameters.Add(new DbParameter("@PromptLeftPosition", DbType.Double, field.PromptLeftPositionPercentage)); insertQuery.Parameters.Add(new DbParameter("@PromptText", DbType.String, field.PromptText)); insertQuery.Parameters.Add(new DbParameter("@PromptTopPosition", DbType.Double, field.PromptTopPositionPercentage)); insertQuery.Parameters.Add(new DbParameter("@TabIndex", DbType.Int32, field.TabIndex)); DbQuery selectQuery = db.CreateQuery("select MAX(FieldId) from metaFields where PageId = @PageId"); selectQuery.Parameters.Add(new DbParameter("@PageId", DbType.Int32, field.Page.Id)); db.ExecuteNonQuery(insertQuery); DataTable result = db.Select(selectQuery); return (int)result.Rows[0][0]; } // catch (Exception ex) // { // throw new GeneralException("Could not create field in the database", ex); // } finally { } } */ /* /// <summary> /// Create a strongly typed field. /// </summary> /// <param name="field">Field to create</param> /// <returns>Id of the newly created field.</returns> public int CreateField(Field field) { if (field is CommandButtonField) { return CreateField((CommandButtonField)field); } else if (field is DateField) { return CreateField((DateField)field); } else if (field is DateTimeField) { return CreateField((DateTimeField)field); } else if (field is DDLFieldOfCodes) { return CreateField((DDLFieldOfCodes)field); } else if (field is DDLFieldOfCommentLegal) { return CreateField((DDLFieldOfCommentLegal)field); } else if (field is DDLFieldOfLegalValues) { return CreateField((DDLFieldOfLegalValues)field); } else if (field is GridField) { return CreateField((GridField)field); } else if (field is ImageField) { return CreateField((ImageField)field); } else if (field is LabelField) { return CreateField((LabelField)field); } else if (field is MirrorField) { return CreateField((MirrorField)field); } else if (field is MultilineTextField) { return CreateField((MultilineTextField)field); } else if (field is NumberField) { return CreateField((NumberField)field); } else if (field is OptionField) { return CreateField((OptionField)field); } else if (field is PhoneNumberField) { return CreateField((PhoneNumberField)field); } else if (field is RelatedViewField) { return CreateField((RelatedViewField)field); } else if (field is SingleLineTextField) { return CreateField((SingleLineTextField)field); } else if (field is TimeField) { return CreateField((TimeField)field); } else if (field is UpperCaseTextField) { return CreateField((UpperCaseTextField)field); } else if (field is YesNoField) { return CreateField((YesNoField)field); } else return 0; } */ /// <summary> /// Create Command Button field. /// </summary> /// <param name="field">Command Button field to create.</param> /// <returns>Id of the newly created field.</returns> public int CreateField(CommandButtonField field) { try { XmlDocument xmlDoc = GetXmlDocument(); XmlNode fieldsNode = GetFieldsNode(field.ViewElement); View view = field.GetView(); XmlElement fieldElement = xmlDoc.CreateElement("Field"); XmlAttribute fieldIdAttribute = xmlDoc.CreateAttribute("FieldId"); fieldIdAttribute.Value = view.GetFieldId(field.ViewElement).ToString(); fieldElement.Attributes.Append(fieldIdAttribute); field.Id = Int32.Parse(fieldIdAttribute.Value); XmlAttribute fieldNameAttribute = xmlDoc.CreateAttribute("Name"); fieldNameAttribute.Value = field.Name; fieldElement.Attributes.Append(fieldNameAttribute); XmlAttribute fieldPromptText = xmlDoc.CreateAttribute("PromptText"); fieldPromptText.Value = field.PromptText; fieldElement.Attributes.Append(fieldPromptText); XmlAttribute fieldControlFontFamily = xmlDoc.CreateAttribute("ControlFontFamily"); fieldControlFontFamily.Value = field.ControlFont.FontFamily.Name; fieldElement.Attributes.Append(fieldControlFontFamily); XmlAttribute controlFontStyle = xmlDoc.CreateAttribute("ControlFontStyle"); controlFontStyle.Value = field.ControlFont.Style.ToString(); fieldElement.Attributes.Append(controlFontStyle); XmlAttribute controlFontSize = xmlDoc.CreateAttribute("ControlFontSize"); controlFontSize.Value = field.ControlFont.Size.ToString(); fieldElement.Attributes.Append(controlFontSize); XmlAttribute controlTopPositionPercentage = xmlDoc.CreateAttribute("ControlTopPositionPercentage"); controlTopPositionPercentage.Value = field.ControlTopPositionPercentage.ToString(); fieldElement.Attributes.Append(controlTopPositionPercentage); XmlAttribute controlLeftPositionPercentage = xmlDoc.CreateAttribute("ControlLeftPositionPercentage"); controlLeftPositionPercentage.Value = field.ControlLeftPositionPercentage.ToString(); fieldElement.Attributes.Append(controlLeftPositionPercentage); XmlAttribute controlHeightPercentage = xmlDoc.CreateAttribute("ControlHeightPercentage"); controlHeightPercentage.Value = field.ControlHeightPercentage.ToString(); fieldElement.Attributes.Append(controlHeightPercentage); XmlAttribute controlWidthPercentage = xmlDoc.CreateAttribute("ControlWidthPercentage"); controlWidthPercentage.Value = field.ControlWidthPercentage.ToString(); fieldElement.Attributes.Append(controlWidthPercentage); XmlAttribute tabIndex = xmlDoc.CreateAttribute("TabIndex"); tabIndex.Value = field.TabIndex.ToString(); fieldElement.Attributes.Append(tabIndex); XmlAttribute hasTabStop = xmlDoc.CreateAttribute("HasTabStop"); hasTabStop.Value = (bool.Parse(field.HasTabStop.ToString())).ToString(); fieldElement.Attributes.Append(hasTabStop); XmlAttribute promptFontFamily = xmlDoc.CreateAttribute("PromptFontFamily"); promptFontFamily.Value = field.PromptFont.FontFamily.Name; fieldElement.Attributes.Append(promptFontFamily); XmlAttribute promptFontStyle = xmlDoc.CreateAttribute("PromptFontStyle"); promptFontStyle.Value = field.PromptFont.Style.ToString(); fieldElement.Attributes.Append(promptFontStyle); XmlAttribute promptFontSize = xmlDoc.CreateAttribute("PromptFontSize"); promptFontSize.Value = field.PromptFont.Size.ToString(); fieldElement.Attributes.Append(promptFontSize); XmlAttribute promptScriptName = xmlDoc.CreateAttribute("PromptScriptName"); promptScriptName.Value = field.PromptFont.Name; fieldElement.Attributes.Append(promptScriptName); XmlAttribute controlScriptName = xmlDoc.CreateAttribute("ControlScriptName"); controlScriptName.Value = field.ControlFont.Name; fieldElement.Attributes.Append(controlScriptName); XmlAttribute shouldRetainImageSize = xmlDoc.CreateAttribute("ShouldRetainImageSize"); //shouldRetainImageSize.Value = (bool.Parse(field.IsControlResizable.ToString())).ToString(); fieldElement.Attributes.Append(shouldRetainImageSize); //XmlAttribute dataTableName = xmlDoc.CreateAttribute("DataTableName"); //dataTableName.Value = this.TableName; //fieldElement.Attributes.Append(dataTableName); XmlAttribute fieldTypeId = xmlDoc.CreateAttribute("FieldTypeId"); fieldTypeId.Value = field.FieldType.ToString(); fieldElement.Attributes.Append(fieldTypeId); XmlAttribute pageId = xmlDoc.CreateAttribute("PageId"); pageId.Value = field.Page.Id.ToString(); fieldElement.Attributes.Append(pageId); fieldsNode.AppendChild(fieldElement); view.Project.Save(); return field.Id; } finally { } }