public bool TemplateFieldExists(string name, TemplateFieldType type)
        {
            bool result = false;

            using (PikoDataContext dataContext = new PikoDataContext(PikoDataServiceApp.DatabasePath, "PikoServer"))
            {
                String          sqlQuery   = "SELECT COUNT(ID) + 1 AS ISEXIST FROM TEMPLATE_FIELD WHERE LABEL = '" + name + "' AND ID_FIELD_TYPE = " + type;
                OleDbDataReader resultData = dataContext.Select(sqlQuery);
                if (resultData.HasRows && resultData.Read())
                {
                    int    idxColumn = resultData.GetOrdinal("ISEXIST");
                    object value     = resultData.GetValue(idxColumn);
                    if (typeof(DBNull) == value.GetType())
                    {
                        result = false;
                    }
                    else
                    {
                        result = true;//resultData.GetInt32(idxColumn);
                    }
                }
                resultData.Close();
            }
            return(result);
        }
예제 #2
0
        public void AddField(TemplateFieldType type_value, string name_value, string field_value)
        {
            TemplateField _tfNewField = new TemplateField();

            _tfNewField.Type  = type_value;
            _tfNewField.Value = field_value;
            _tfNewField.Name  = name_value;

            _lstFields.Add(_tfNewField);
        }
 public void UpdateTemplateField(int IdTemplateField, string newName, TemplateFieldType newType)
 {
     using (PikoDataContext dataContext = new PikoDataContext(PikoDataServiceApp.DatabasePath, "PikoServer"))
     {
         //UPDATE
         String sqlQuery = "UPDATE TEMPLATE_FIELD SET " + Environment.NewLine;
         sqlQuery += "LABEL='" + newName + "'" + Environment.NewLine;
         sqlQuery += "ID_FIELD_TYPE=" + newType + Environment.NewLine;
         sqlQuery += "WHERE ID='" + IdTemplateField + "'";
         dataContext.Execute(sqlQuery);
     }
 }
예제 #4
0
        /// <summary>
        /// Constructor AcroField based.
        /// Create a field 'image' of the matching field in the PDF form.
        /// </summary>
        /// <param name="fields">Field hashset of PDF form</param>
        /// <param name="field">Field reference</param>
        public TemplateField(AcroFields fields, KeyValuePair <String, iTextSharp.text.pdf.AcroFields.Item> field)
        {
            int _nType = fields.GetFieldType(field.Key);
            TemplateFieldType _ftType = (TemplateFieldType)(_nType);

            this.Name = field.Key;
            this.Type = _ftType;

            if (_ftType == TemplateFieldType.Checkbox)
            {
                string[] _rgsStates = fields.GetAppearanceStates(field.Key);
                this.OnValue  = _rgsStates[1];
                this.OffValue = _rgsStates[0];
            }
        }
예제 #5
0
 /// <summary>
 /// Copy constructor
 /// </summary>
 /// <param name="field">Source field reference</param>
 public TemplateField(TemplateField field)
 {
     this._tftType       = field._tftType;
     this._sName         = field._sName;
     this._sValue        = field._sValue;
     this._sOffValue     = field._sOffValue;
     this._sOnValue      = field._sOnValue;
     this._nSize         = field._nSize;
     this._sFormat       = field._sFormat;
     this._bPadding      = field._bPadding;
     this._bEllipsis     = field._bEllipsis;
     this._bFilter0      = field._bFilter0;
     this._tfeExpansion  = field._tfeExpansion;
     this._cPaddingChar  = field._cPaddingChar;
     this._stSplitPolicy = field._stSplitPolicy;
     this._cSplitChar    = field._cSplitChar;
 }
예제 #6
0
        /// <summary>
        /// Add a field
        /// </summary>
        /// <param name="type_value">Type of field</param>
        /// <param name="name_value">Name of field</param>
        /// <param name="field_value">Value of field</param>
        public void AddField(TemplateFieldType type_value, string name_value, string field_value)
        {
            TemplateField _tfNewField = null;

            switch (type_value)
            {
            case TemplateFieldType.Text:
                _tfNewField = TemplateField.CreateText(name_value, field_value, "", false, 16);
                break;

            case TemplateFieldType.Checkbox:
                _tfNewField = TemplateField.CreateCheckBox(
                    name_value,
                    field_value,
                    PDFTemplate.Properties.Resources.DefCheckBoxOnValue,
                    PDFTemplate.Properties.Resources.DefCheckBoxOffValue
                    );
                break;
            }

            _lstFields.Add(_tfNewField);
        }
예제 #7
0
        private void import_fields()
        {
            using (PdfReader _pdfReader = new PdfReader(_sFormFile))
            {
                AcroFields _Fields = _pdfReader.AcroFields;

                foreach (var _field in _pdfReader.AcroFields.Fields)
                {
                    int _nType = _pdfReader.AcroFields.GetFieldType(_field.Key);
                    TemplateFieldType _ftType     = (TemplateFieldType)(_nType);
                    TemplateField     _ffNewField = new TemplateField(_field.Key, _ftType);

                    if (_ftType == TemplateFieldType.Checkbox)
                    {
                        string[] _rgsStates = _pdfReader.AcroFields.GetAppearanceStates(_field.Key);
                        _ffNewField.OnValue  = _rgsStates[1];
                        _ffNewField.OffValue = _rgsStates[0];
                    }

                    _lstFields.Add(_ffNewField);
                }
            }
        }
예제 #8
0
 public TemplateField()
 {
     _tftType = TemplateFieldType.Text;
     _sName   = "field_name";
     _sValue  = "";
 }
예제 #9
0
 public TemplateField(string name_value, TemplateFieldType type_value, string field_value)
 {
     _tftType = type_value;
     _sName   = name_value;
     _sValue  = field_value;
 }
예제 #10
0
 public TemplateField(string name_value)
 {
     _tftType = TemplateFieldType.Text;
     _sName   = name_value;
     _sValue  = "";
 }
예제 #11
0
 /// <summary>
 /// Constructor value based.
 /// Create a field of provided type, name and value.
 /// </summary>
 /// <remarks>
 /// Value of checkbox field have to match OnValue or OffValue property.
 /// </remarks>
 /// <seealso cref="OffValue"/>
 /// <seealso cref="OnValue"/>
 /// <param name="name_value">Name/id of field</param>
 /// <param name="type_value">Type of field</param>
 /// <param name="field_value">Value of field</param>
 public TemplateField(string name_value, TemplateFieldType type_value, string field_value)
     : this(name_value, type_value)
 {
     _sValue = field_value;
 }
예제 #12
0
 /// <summary>
 /// Constructor type based.
 /// Create a field of provided type and name.
 /// </summary>
 /// <param name="name_value">Name/id of field</param>
 /// <param name="type_value">Type of field</param>
 public TemplateField(string name_value, TemplateFieldType type_value)
     : this(name_value)
 {
     _tftType = type_value;
 }
예제 #13
0
 /// <summary>
 /// Base constructor.
 /// Create a Text field, name is set to 'field_name'.
 /// </summary>
 public TemplateField()
 {
     _tftType = TemplateFieldType.Text;
     _sName   = PDFTemplate.Properties.Resources.DefFieldName;
     _sValue  = "";
 }