private void ConvertFeaturetoElement(iFormBuilderAPI.Page page, IFeature feature)
        {
            try
            {
                //Create a New Record from this feature
                iFormBuilderAPI.RecordsCreator recC = new iFormBuilderAPI.RecordsCreator();
                iFormBuilderAPI.Record rec = new iFormBuilderAPI.Record();
                rec.PARENT_PAGE_ID = page.ID;
                rec.FIELDS = new List<iFormBuilderAPI.Field>();
                iFormBuilderAPI.Field field = new iFormBuilderAPI.Field();
                bool addfield = true;
                long recordid;
                foreach (iFormBuilderAPI.Element ele in page.Elements)
                {
                    //Check to see if this an element to ignore
                    if (ele.IgnoreElement)
                        continue;

                    //Does this field exist
                    //TODO:  Need further field validation steps
                    //Does a Domain Field Have a Value
                    //All required fields entered
                    if (feature.Fields.FindField(ele.NAME) != -1)
                    {
                        field = new iFormBuilderAPI.Field();
                        field.ELEMENT_ID = ele.ID;
                        field.VALUE = feature.get_Value(feature.Fields.FindField(ele.NAME)).ToString();
                        addfield = true;

                        if (ele.WidgetType == iFormBuilderAPI.Element.Widget.Image)
                        {
                            //Only add this element if the picture is properly formated
                            if (feature.get_Value(feature.Fields.FindField(ele.NAME)).ToString().Length == 0 || !feature.get_Value(feature.Fields.FindField(ele.NAME)).ToString().Contains(".jpg"))
                                addfield = false;
                            else
                                field.EXT = "JPG";
                        }
                        if (addfield)
                            rec.FIELDS.Add(field);
                    }
                }

                recC.RECORDS.Add(rec);
                recordid = api.CreateRecord(page.ID, recC);
                if (recordid != -1)
                {
                    //TODO:  Apply the record ID to this record to allow linkage to iFormBuilder
                    /*IDataset dataset = feature.Table as IDataset;
                    if(m_editor.EditState != esriEditState.esriStateEditing)
                        m_editor.StartEditing(dataset.Workspace);
                    m_editor.StartOperation();
                    ICursor update;
                    QueryFilter qf = new QueryFilter();
                    qf.WhereClause = string.Format("OBJECTID={0}",feature.OID);
                    update = feature.Table.Update(qf, true);
                    IRow row = update.NextRow();
                    row.set_Value(feature.Fields.FindField("ID"), recordid);
                    m_editor.StopOperation("Stop");
                    //if (m_editor.EditState != esriEditState.esriStateEditing)
                    //    m_editor.stop(dataset.Workspace);*/
                }
            }
            catch
            {

            }
        }
        /// <summary>
        /// Translates the iFormBuilder Field to Esri Field Type.
        /// </summary>
        /// <param name="element">a valid IElement from iFormAPI.</param>
        /// <returns>IFieldEdit</returns>
        public static IFieldEdit translateIFormToEsri(iFormBuilderAPI.IElement element,Option opt)
        {
            try
            {
                IFieldEdit fieldEdit = new FieldClass();
                //Make sure the field name is valid
                string fieldname = Utilities.TranslateFieldName(element.NAME);
                if (fieldname.Length > 64)
                    fieldname = fieldname.Substring(0, (64 - opt.KEY_VALUE.Length));

                fieldEdit.Name_2 = string.Format("{0}{1}", fieldname, opt.KEY_VALUE);
                fieldEdit.Type_2 = esriFieldType.esriFieldTypeInteger;
                string alias = string.Format("{0}:{1}", element.Alias, opt.LABEL);
                fieldEdit.AliasName_2 = TranslateAliasName(alias);
                return fieldEdit;
            }
            catch (Exception ex)
            {
                throw new Exception(string.Format("Error in Transforming Field class: {0} ", ex.Message));
            }
        }
 internal void AddItem(string itemName, iFormBuilderAPI.User user)
 {
     // Add each item to combo box.
       int cookie = s_comboBox.Add(itemName, user);
 }
        /// <summary>
        /// Translates the iFormBuilder Field to Esri Field Type.
        /// </summary>
        /// <param name="element">a valid IElement from iFormAPI.</param>
        /// <returns>IFieldEdit</returns>
        public static IFieldEdit translateIFormToEsri(iFormBuilderAPI.IElement element)
        {
            try
            {
                IFieldEdit fieldEdit = new FieldClass();
                //Make sure the field name is valid

                fieldEdit.Name_2 = Utilities.TranslateFieldName(element.NAME);
                switch (element.DATA_TYPE)
                {
                    case 1:
                        fieldEdit.Type_2 = esriFieldType.esriFieldTypeString;
                        fieldEdit.Length_2 = element.DATA_SIZE;
                        break;
                    case 11:
                        fieldEdit.Type_2 = esriFieldType.esriFieldTypeString;
                        fieldEdit.Length_2 = 250;
                        break;
                    case 2:
                    case 6:
                        fieldEdit.Type_2 = esriFieldType.esriFieldTypeInteger;
                        break;
                    case 3:
                        fieldEdit.Type_2 = esriFieldType.esriFieldTypeDate;
                        break;
                    //case 11:
                    //    fieldEdit.Type_2 = esriFieldType.esriFieldTypeRaster;
                    //    break;
                    default:
                        fieldEdit.Type_2 = esriFieldType.esriFieldTypeString;
                        fieldEdit.Length_2 = 500;
                        break;

                }
                fieldEdit.AliasName_2 = TranslateAliasName(element.Alias);
                return fieldEdit;
            }
            catch (Exception ex)
            {
                throw new Exception(string.Format("Error in Transforming Field class: {0} ", ex.Message));
            }
        }