Exemplo n.º 1
0
        /// <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
            {

            }
        }
Exemplo n.º 2
0
        /// <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);
        }
Exemplo n.º 3
0
        /* 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
            {

            }
        }
Exemplo n.º 4
0
        /*
        /// <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
            {
            }
        }