Пример #1
0
        protected void btnEtAddSelectedColumnsToMetaFields_onClick(object sender, EventArgs e)
        {
            //set create table view
            viewMode = "editTable";
            setViewMode();
            int    tableId   = int.Parse(ddlTableDefs.SelectedValue);
            string tableName = lblEtTableName.Text;


            string fieldName;
            string fieldDataType;
            int    maxLength = -1;
            int    order;

            MetadataNewDa MNDa = new MetadataNewDa();

            if (MNDa.MetaFieldOrderTableHasOrderedFields(tableId))
            {
                order = -1;
            }
            else
            {
                order = 1;
            }
            foreach (DataGridItem i in dgEtFieldsNotUsed.Items)
            {
                CheckBox deleteChkBxItem = (CheckBox)i.FindControl("chkSelection");

                if (deleteChkBxItem.Checked)
                {
                    string strMaxLength;
                    fieldName     = i.Cells[1].Text;
                    fieldDataType = ParseSQLDatatypeToCsharp(i.Cells[2].Text);
                    strMaxLength  = i.Cells[3].Text;
                    if (PageUtil.IsInteger(strMaxLength))
                    {
                        maxLength = int.Parse(strMaxLength);
                    }
                    else
                    {
                        maxLength = -1;
                    }
                    if (order > 0)
                    {
                        MNDa.AddMetaField(tableId, fieldName, fieldDataType, maxLength, false, false, order);
                        order++;
                    }
                    else
                    {
                        MNDa.AddMetaField(tableId, fieldName, fieldDataType, maxLength, false, false);
                    }
                }
            }
            updateEditTableView(tableId, tableName);
        }
Пример #2
0
        protected void dgEtFields_ItemCommand(Object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
        {
            bool isVirtual;
            bool fieldSuppress;
            int  fieldOrder;
            int  fieldId;

            try
            {
                fieldId = int.Parse(e.Item.Cells[1].Text);
            }
            catch
            {
                fieldId = -1;
            }
            int           tableId   = int.Parse(ddlTableDefs.SelectedValue);
            string        tableName = lblEtTableName.Text;
            MetadataNewDa MNDa      = new MetadataNewDa();

            switch (e.CommandName)
            {
            case "Expand":
                viewMode = "editTable";
                setViewMode();

                PlaceHolder exp;
                exp         = e.Item.Cells[2].FindControl("Expanded") as PlaceHolder;
                exp.Visible = !exp.Visible;
                break;

            case "Edit":
                string fieldName     = ((TextBox)e.Item.Cells[2].Controls[1]).Text;
                string fieldDataType = ((DropDownList)e.Item.Cells[3].Controls[1]).SelectedValue;
                fieldSuppress = ((CheckBox)e.Item.Cells[5].Controls[1]).Checked;
                isVirtual     = ((CheckBox)e.Item.Cells[4].Controls[1]).Checked;
                try
                {
                    fieldOrder = int.Parse(((DropDownList)e.Item.Cells[6].Controls[1]).SelectedValue);
                }
                catch
                {
                    fieldOrder = -1;
                }
                viewMode = "editTable";
                setViewMode();


                DataRow fieldDr            = MNDa.GetMetadataField(fieldId);
                int     previousFieldOrder = -1;

                if (fieldDr[BOL.MetadataField.FieldOrder] != null && PageUtil.IsInteger(fieldDr[BOL.MetadataField.FieldOrder].ToString()))
                {
                    previousFieldOrder = (int)fieldDr[BOL.MetadataField.FieldOrder];
                }


                // This call updates the field order correctly
                MNDa.UpdateMetaField(fieldId, fieldName, fieldDataType, fieldSuppress, fieldOrder);

                // Resequence fields
                this.UpdateFieldOrders(fieldOrder, previousFieldOrder, tableId, fieldId, fieldSuppress);

                if (isVirtual)
                {
                    // refresh virtual field map
                    //Caisis.BOL.BusinessObjectFactory.RebuildVirtualFieldMap();
                    Caisis.BOL.BusinessObject.RebuildVirtualFields();
                }

                updateEditTableView(tableId, tableName);
                break;

            case "Delete":
                bool okToDelete = true;
                isVirtual = ((CheckBox)e.Item.Cells[4].Controls[1]).Checked;
                fieldId   = int.Parse(e.Item.Cells[1].Text);

                if (isVirtual)
                {
                    okToDelete = !MNDa.VirtualMetaFieldHasSavedData(fieldId);
                }
                if (okToDelete)
                {
                    viewMode = "editTable";
                    setViewMode();

                    MNDa.DeleteMetaField(fieldId);

                    if (isVirtual)
                    {
                        // refresh virtual field map
                        //Caisis.BOL.BusinessObjectFactory.RebuildVirtualFieldMap();
                        Caisis.BOL.BusinessObject.RebuildVirtualFields();
                    }

                    //MNDa.MetaFieldOrderRenumber(tableId);
                    updateEditTableView(tableId, tableName);
                }
                else
                {
                    viewMode = "errorMessage";
                    setViewMode();
                    lblErrorHeading.Text = "Could not delete virtual meta field";
                    lblErrorMessage.Text = "The selected virtual meta field has data saved in virtual table. The virtual meta field was not deleted.";
                }
                break;

            case "AddNewField":
                TextBox      efTxtNewVirtualField;
                DropDownList efDdlNewVirtualFieldDataType;
                CheckBox     efCbxNewFieldIsVirtual;
                CheckBox     efCbxNewFieldSuppress;
                DropDownList efDdlNewFieldOrder;

                efTxtNewVirtualField         = (TextBox)e.Item.FindControl("efTxtNewVirtualField");
                efDdlNewVirtualFieldDataType = (DropDownList)e.Item.FindControl("efDdlNewVirtualFieldDataType");
                efCbxNewFieldIsVirtual       = (CheckBox)e.Item.FindControl("efCbxNewFieldIsVirtual");
                efCbxNewFieldSuppress        = (CheckBox)e.Item.FindControl("efCbxNewFieldSuppress");
                efDdlNewFieldOrder           = (DropDownList)e.Item.FindControl("efDdlNewFieldOrder");

                string newFieldName = efTxtNewVirtualField.Text;
                string dataType     = efDdlNewVirtualFieldDataType.SelectedValue;
                fieldSuppress = ((CheckBox)e.Item.Cells[5].Controls[1]).Checked;
                string strFieldOrder = ((DropDownList)e.Item.Cells[6].Controls[1]).SelectedValue;
                fieldOrder = -1;
                try
                {
                    fieldOrder = int.Parse(((DropDownList)e.Item.Cells[6].Controls[1]).SelectedValue);
                }
                catch {};
                if (fieldOrder > -1)
                {
                    fieldId = MNDa.AddMetaField(tableId, newFieldName, dataType, -1, true, fieldSuppress, fieldOrder);
                    MNDa.MetaFieldOrderRenumber(tableId);
                }
                else
                {
                    fieldId = MNDa.AddMetaField(tableId, newFieldName, dataType, -1, true, fieldSuppress);
                }

                // refresh virtual field map
                //Caisis.BOL.BusinessObjectFactory.RebuildVirtualFieldMap();
                Caisis.BOL.BusinessObject.RebuildVirtualFields();

                viewMode = "editTable";
                setViewMode();
                updateEditTableView(tableId, tableName);
                break;

            case "AddNewFieldCancel":
                viewMode = "editTable";
                setViewMode();
                updateEditTableView(tableId, tableName);
                break;
            }
        }