コード例 #1
0
 private void DisplayPercentageCheckbox_CheckedChanged(object sender, EventArgs e)
 {
     if (DisplayPercentageCheckbox.Checked == true)
     {
         EntityFieldAnalyserManager.SetChartFieldsType(entityFields, ChartFieldTypes, false);
         EntityFieldAnalyserManager.SetChartFieldAvailable(entityFields, ChartFieldAvailable, true);
         EntityFieldAnalyserManager.SetChartManagedUnmanagedFields(chartManagedUnmanagedFields, false);
     }
     else
     {
         EntityFieldAnalyserManager.SetChartFieldsType(entityFields, ChartFieldTypes, true);
         EntityFieldAnalyserManager.SetChartFieldAvailable(entityFields, ChartFieldAvailable, false);
         EntityFieldAnalyserManager.SetChartManagedUnmanagedFields(chartManagedUnmanagedFields, true);
     }
 }
コード例 #2
0
 private void analyseButton_Click(object sender, EventArgs e)
 {
     String[] entitySelected = EntityFieldAnalyserManager.SelectedEntity(EntityGridView.Rows);
     if (entitySelected.Length > 0)
     {
         entitySelectedName       = entitySelected[0];
         entitySelectedSchemaName = entitySelected[1];
         ExecuteMethod(AnalyseEntity);
     }
     else
     {
         MessageBox.Show("No Entity Was Selected! Please Select an Entity", "Warning");
         return;
     }
 }
コード例 #3
0
 private void fieldTypeCombobox_SelectedIndexChanged(object sender, EventArgs e)
 {
     #region clear grid view
     DataTable DT = (DataTable)fieldPropretiesView.DataSource;
     if (DT != null)
     {
         DT.Clear();
     }
     #endregion
     #region Set Fields DataGridView Data After Change The Type
     EntityFieldAnalyserManager.SetFieldDataGridViewContent(entityFields[(AttributeTypeCode)fieldTypeCombobox.SelectedItem], dtFields);
     EntityFieldAnalyserManager.SetFieldDataGridViewHeaders((DataTable)dtFields, fieldPropretiesView);
     //Display the Column Target Just in case of Lookup Type
     if (fieldTypeCombobox.SelectedItem.ToString() == AttributeTypeCode.Lookup.ToString() || fieldTypeCombobox.SelectedItem.ToString() == AttributeTypeCode.Owner.ToString())
     {
         fieldPropretiesView.Columns[8].Visible = true;
     }
     #endregion
 }
コード例 #4
0
        private void button1_Click(object sender, EventArgs e)
        {
            if (String.IsNullOrEmpty(textBox1.Text) || String.IsNullOrEmpty(textBox2.Text) || String.IsNullOrEmpty(textBox3.Text))
            {
                MessageBox.Show("Please Fill All The Types", "Warning");
                return;
            }

            volumedescription1.Visible = true;
            volumedescription2.Visible = true;
            bool isItPossibleToCreateThisFields = EntityFieldAnalyserManager.CanICreateThisNumberOfFields(textBox1.Text, textBox2.Text, textBox3.Text);

            if (isItPossibleToCreateThisFields)
            {
                MessageBox.Show("You Can Create This Number of Fields!!", "Success");
            }
            else
            {
                MessageBox.Show("You Can't Create This Number of Fields!!", "Warning");
            }
        }
コード例 #5
0
 private void searchEntity_TextChaneged(object sender, EventArgs e)
 {
     if (searchEntity.Text == "" && dtEntities.Rows.Count > 0 && EntityGridView.Rows.Count != dtEntities.Rows.Count)
     {
         EntityFieldAnalyserManager.SetEntitiesGridViewHeaders(dtEntities, EntityGridView);
     }
     else if (searchEntity.Text != "Search" && searchEntity.Text != "" && dtEntities.Rows.Count > 0)
     {
         string searchValue = searchEntity.Text.ToLower();
         try
         {
             DataRow[] filtered = dtEntities.Select("DisplayName LIKE '%" + searchValue + "%' OR SchemaName LIKE '%" + searchValue + "%'");
             if (filtered.Count() > 0)
             {
                 EntityFieldAnalyserManager.SetEntitiesGridViewHeaders(filtered.CopyToDataTable(), EntityGridView);
             }
         }
         catch (Exception)
         {
             MessageBox.Show("Invalid Search Character. Please do not use ' [ ] within searches.");
         }
     }
 }
コード例 #6
0
        private void loadEntities()
        {
            InitComponents();
            string selectedTypeOfEntities = entityTypeComboBox.SelectedItem.ToString();

            searchEntity.Enabled = false;
            WorkAsync(new WorkAsyncInfo
            {
                Message = "Retrieving Entities...",
                Work    = (worker, args) =>
                {
                    #region Variables
                    dtEntities = new DataTable();
                    #endregion
                    #region getEntitiesMetadata
                    RetrieveMetadataChangesResponse _allEntitiesResp = EntityFieldAnalyserManager.GetEntitiesMetadat(Service, selectedTypeOfEntities);
                    groupBox1.Text = "Entities : " + selectedTypeOfEntities + " " + _allEntitiesResp.EntityMetadata.Count();
                    #endregion

                    worker.ReportProgress(0, string.Format("Metadata has been retrieved!"));

                    #region Entities Data Table Set
                    dtEntities.Columns.Add("DisplayName", typeof(string));
                    dtEntities.Columns.Add("SchemaName", typeof(string));
                    dtEntities.Columns.Add("Analyse", typeof(bool));

                    foreach (var item in _allEntitiesResp.EntityMetadata)
                    {
                        DataRow row        = dtEntities.NewRow();
                        row["DisplayName"] = item.DisplayName.LocalizedLabels.Count > 0 ? item.DisplayName.UserLocalizedLabel.Label.ToString() : "N/A";
                        row["SchemaName"]  = item.LogicalName;
                        row["Analyse"]     = false;

                        dtEntities.Rows.Add(row);
                    }
                    #endregion
                    args.Result = dtEntities;
                },
                ProgressChanged = e =>
                {
                    // If progress has to be notified to user, use the following method:
                    SetWorkingMessage(e.UserState.ToString());
                },
                PostWorkCallBack = (args) =>
                {
                    if (args.Error != null)
                    {
                        MessageBox.Show(args.Error.ToString(), "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                    var result = args.Result;
                    if (result != null)
                    {
                        #region Set Retrieved Data in the Data Grid View
                        EntityFieldAnalyserManager.SetEntitiesGridViewHeaders((DataTable)args.Result, EntityGridView);
                        #endregion
                        #region ManageComponenetVisibility
                        searchEntity.Enabled  = true;
                        analyseButton.Enabled = true;
                        #endregion
                    }
                }
            });
        }
コード例 #7
0
 private void buttonExport_Click(object sender, EventArgs e)
 {
     EntityFieldAnalyserManager.CallExportFunction(entityFields);
 }
コード例 #8
0
        private void AnalyseEntity()
        {
            fieldTypeCombobox.Enabled         = false;
            buttonExport.Enabled              = false;
            analyseButton.Enabled             = false;
            DisplayPercentageCheckbox.Enabled = false;
            WorkAsync(new WorkAsyncInfo
            {
                Message = "Analysing ...",
                Work    = (worker, args) =>
                {
                    try
                    {
                        dtFields     = new DataTable();
                        entityFields = EntityFieldAnalyserManager.getEntityFields(Service, entitySelectedSchemaName, entitySelectedName, worker);

                        #region Entity Fiels Metadata  Set
                        dtFields.Columns.Add("Display Name", typeof(string));
                        dtFields.Columns.Add("Schema Name", typeof(string));
                        dtFields.Columns.Add("Managed/Unmanaged", typeof(string));
                        dtFields.Columns.Add("IsAuditable", typeof(bool));
                        dtFields.Columns.Add("IsSearchable", typeof(bool));
                        dtFields.Columns.Add("Required Level", typeof(string));
                        dtFields.Columns.Add("Introduced Version", typeof(String));
                        dtFields.Columns.Add("CreatedOn", typeof(DateTime));
                        dtFields.Columns.Add("Target", typeof(string));
                        dtFields.Columns.Add("Percentage Of Use", typeof(string));
                        #endregion

                        args.Result = entityFields;
                    }
                    catch (Exception e) {
                        MessageBox.Show(e.Message, "Warning");
                    }
                },
                ProgressChanged = e =>
                {
                    // If progress has to be notified to user, use the following method:
                    SetWorkingMessage(e.UserState.ToString());
                },
                PostWorkCallBack = (args) =>
                {
                    fieldTypeCombobox.Items.Clear();
                    if (args.Error != null)
                    {
                        MessageBox.Show(args.Error.ToString(), "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                    var result = (Dictionary <AttributeTypeCode, List <entityParam> >)args.Result;
                    if (result != null)
                    {
                        foreach (var type in result.Keys)
                        {
                            fieldTypeCombobox.Items.Add(type);
                        }
                        #region Set Charts Data
                        EntityFieldAnalyserManager.setStatisticsFieldText(label7);
                        EntityFieldAnalyserManager.SetChartFieldsType(result, ChartFieldTypes);
                        EntityFieldAnalyserManager.SetChartFieldAvailable(result, ChartFieldAvailable);
                        EntityFieldAnalyserManager.SetChartManagedUnmanagedFields(chartManagedUnmanagedFields);
                        #endregion
                        #region Manage Componenet Visibilty
                        searchEntity.Enabled = true;
                        DisplayPercentageCheckbox.Enabled      = true;
                        DisplayPercentageCheckbox.Visible      = true;
                        fieldTypeCombobox.Enabled              = true;
                        DisplayPercentageCheckbox.Checked      = false;
                        EntityFieldsCreatedGroupBox.Visible    = true;
                        ManagedUnmanagedFieldsgroupBox.Visible = true;
                        EntityFieldsTypesGroupBox.Visible      = true;
                        fieldCalculatorGroupBox.Visible        = true;
                        buttonExport.Enabled  = true;
                        analyseButton.Enabled = true;
                        #endregion
                        fieldTypeCombobox.SelectedIndex = 0;       //Select the second type in the fields type combobox
                        #region Chart ToolTip
                        ToolTip toolTip = new ToolTip();
                        toolTip.SetToolTip(this.EntityFieldsCreatedGroupBox, "This Chart Display The Percentage of Use of the Entity Total Fields Volume");
                        toolTip.SetToolTip(this.ManagedUnmanagedFieldsgroupBox, "This Chart Display The Count Managed/Unmanaged Fields in Your Entity");
                        toolTip.SetToolTip(this.EntityFieldsTypesGroupBox, "This Chart Display The Count of Fields Per Type");
                        #endregion
                    }
                }
            });
        }