private void LoadRolesAndPrivileges() { rManager = new RoleManager(Service); WorkAsync("Loading roles...", (bw, e) => { rManager.LoadRootRoles(); bw.ReportProgress(1, "Loading privileges..."); rManager.LoadPrivileges(); bw.ReportProgress(2, "Loading Entities privileges..."); entities = MetadataHelper.GetEntitiesMetadata(Service, EntityFilters.Privileges); }, e => { if (e.Error != null) { var errorMessage = CrmExceptionHelper.GetErrorMessage(e.Error, true); MessageBox.Show(this, "An error occured: " + errorMessage, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } else { pnlSteps.Visible = true; btnPrevious.Visible = false; btnReset.Visible = false; btnNext.Visible = true; BtnResetClick(null, null); } }, e => SetWorkingMessage(e.UserState.ToString())); }
private void LoadEntities() { lvEntities.Items.Clear(); WorkAsync("Loading entities...", e => { List <EntityMetadata> entities = MetadataHelper.RetrieveEntities(Service); e.Result = entities; }, e => { if (e.Error != null) { string errorMessage = CrmExceptionHelper.GetErrorMessage(e.Error, true); MessageBox.Show(this, errorMessage, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } else { foreach (EntityMetadata emd in (List <EntityMetadata>)e.Result) { var item = new ListViewItem { Text = emd.DisplayName.UserLocalizedLabel.Label, Tag = emd }; item.SubItems.Add(emd.LogicalName); lvEntities.Items.Add(item); } } }); }
private void BtnExportTranslationsClick(object sender, EventArgs e) { if (lvEntities.CheckedItems.Count > 0 || chkExportGlobalOptSet.Checked || chkExportSiteMap.Checked) { var entities = (from ListViewItem item in lvEntities.CheckedItems select((EntityMetadata)item.Tag).LogicalName).ToList(); var sfd = new SaveFileDialog { Filter = "Excel workbook|*.xlsx", Title = "Select file destination" }; if (sfd.ShowDialog(this) == DialogResult.OK) { var settings = new ExportSettings { ExportAttributes = chkExportAttributes.Checked, ExportBooleans = chkExportBooleans.Checked, ExportEntities = chkExportEntity.Checked, ExportForms = chkExportForms.Checked, ExportFormFields = chkExportFormsFields.Checked, ExportFormSections = chkExportFormsSections.Checked, ExportFormTabs = chkExportFormsTabs.Checked, ExportGlobalOptionSet = chkExportGlobalOptSet.Checked, ExportOptionSet = chkExportPicklists.Checked, ExportViews = chkExportViews.Checked, ExportCustomizedRelationships = chkExportCustomizedRelationships.Checked, ExportSiteMap = chkExportSiteMap.Checked, FilePath = sfd.FileName, Entities = entities }; SetState(true); WorkAsync("Exporting Translations...", (bw, evt) => { var engine = new Engine(); engine.Export((ExportSettings)evt.Argument, Service, bw); }, evt => { SetState(false); if (evt.Error != null) { string errorMessage = CrmExceptionHelper.GetErrorMessage(evt.Error, true); MessageBox.Show(this, errorMessage, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } }, evt => SetWorkingMessage(evt.UserState.ToString()), settings); } } }
private void BwPublishAllRunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e) { Cursor = Cursors.Default; if (e.Error != null) { string errorMessage = CrmExceptionHelper.GetErrorMessage(e.Error, false); MessageBox.Show(this, errorMessage, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } Controls.Remove(informationPanel); tsbPublishEntity.Enabled = true; tsbPublishAll.Enabled = true; tsbLoadEntities.Enabled = true; }
private void BwFillEntitiesRunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e) { if (e.Error != null) { string errorMessage = CrmExceptionHelper.GetErrorMessage(e.Error, true); CommonDelegates.DisplayMessageBox(ParentForm, errorMessage, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } else { gbEntities.Enabled = true; tsbPublishEntity.Enabled = true; tsbPublishAll.Enabled = true; } Controls.Remove(informationPanel); CommonDelegates.SetCursor(this, Cursors.Default); }
private void LoadEntities() { lvEntities.Items.Clear(); lvAttributes.Items.Clear(); btnCheck.Enabled = false; btnCheckAttrOnForms.Enabled = false; btnResetAttributes.Enabled = false; gbEntities.Enabled = false; tsbPublishEntity.Enabled = false; tsbSaveAttributes.Enabled = false; WorkAsync("Loading entities...", e => { e.Result = MetadataHelper.RetrieveEntities(Service); }, e => { if (e.Error != null) { string errorMessage = CrmExceptionHelper.GetErrorMessage(e.Error, true); MessageBox.Show(ParentForm, errorMessage, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } else { var items = new List <ListViewItem>(); foreach (EntityMetadata emd in (List <EntityMetadata>)e.Result) { var item = new ListViewItem { Text = emd.DisplayName.UserLocalizedLabel.Label, Tag = emd }; item.SubItems.Add(emd.LogicalName); items.Add(item); } lvEntities.Items.AddRange(items.ToArray()); gbEntities.Enabled = true; } }); }
/// <summary> /// Fills the entities listview /// </summary> public void FillEntitiesList() { try { ListViewDelegates.ClearItems(lvEntities); foreach (EntityMetadata emd in entitiesCache) { var item = new ListViewItem { Text = emd.DisplayName.UserLocalizedLabel.Label, Tag = emd.LogicalName }; item.SubItems.Add(emd.LogicalName); ListViewDelegates.AddItem(lvEntities, item); } } catch (Exception error) { string errorMessage = CrmExceptionHelper.GetErrorMessage(error, true); CommonDelegates.DisplayMessageBox(ParentForm, errorMessage, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
private void tsbPublishEntity_Click(object sender, EventArgs e) { if (lvEntities.SelectedItems.Count > 0) { tsbPublishEntity.Enabled = false; tsbSaveAttributes.Enabled = false; tsbLoadEntities.Enabled = false; WorkAsync("Publishing entities...", evt => { var currentEmd = (EntityMetadata)evt.Argument; var pubRequest = new PublishXmlRequest(); pubRequest.ParameterXml = string.Format(@"<importexportxml> <entities> <entity>{0}</entity> </entities> <nodes/><securityroles/><settings/><workflows/> </importexportxml>", currentEmd.LogicalName); Service.Execute(pubRequest); }, evt => { if (evt.Error != null) { string errorMessage = CrmExceptionHelper.GetErrorMessage(evt.Error, false); MessageBox.Show(ParentForm, errorMessage, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } tsbPublishEntity.Enabled = true; tsbSaveAttributes.Enabled = true; tsbLoadEntities.Enabled = true; }, lvEntities.SelectedItems[0].Tag); } }
private void ImportTranslations() { SetState(false); WorkAsync("", (bw, e) => { var engine = new Engine(); engine.Import(e.Argument.ToString(), Service, bw); }, e => { if (e.Error != null) { string errorMessage = CrmExceptionHelper.GetErrorMessage(e.Error, true); MessageBox.Show(this, errorMessage, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } SetState(false); }, e => SetWorkingMessage(e.UserState.ToString()), txtFilePath.Text); }
private void LoadEntities() { entityInfos = new List <EntityInfo>(); attributeInfos = new List <AttributeInfo>(); lvEntities.Items.Clear(); lvAttributes.Items.Clear(); gbEntities.Enabled = false; gbAttributes.Enabled = false; tsbChangeSystemAuditStatus.Enabled = false; tsbChangeSystemAuditStatus.Image = statusImageList.Images[2]; WorkAsync("Loading entities...", (bw, e) => { emds = MetadataHelper.RetrieveEntities(Service); bw.ReportProgress(0, "Retrieving system audit status..."); var orgs = Service.RetrieveMultiple(new QueryExpression { EntityName = "organization", ColumnSet = new ColumnSet(new[] { "isauditenabled" }) }); e.Result = orgs[0].GetAttributeValue <bool>("isauditenabled"); }, e => { if (e.Error != null) { string errorMessage = CrmExceptionHelper.GetErrorMessage(e.Error, true); MessageBox.Show(ParentForm, errorMessage, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } else { var isAuditEnabled = (bool)e.Result; lblStatusStatus.Text = isAuditEnabled ? "ON" : "OFF"; lblStatusStatus.ForeColor = isAuditEnabled ? Color.Green : Color.Red; tsbChangeSystemAuditStatus.Image = isAuditEnabled ? statusImageList.Images[1] : statusImageList.Images[0]; tsbChangeSystemAuditStatus.Text = isAuditEnabled ? "Deactivate global audit" : "Activate global audit"; try { lvEntities.Items.Clear(); foreach (EntityMetadata emd in emds.Where(x => x.IsAuditEnabled.Value)) { entityInfos.Add(new EntityInfo { Action = ActionState.None, Emd = emd, InitialState = true }); var item = new ListViewItem { Text = emd.DisplayName.UserLocalizedLabel.Label, Tag = emd }; item.SubItems.Add(emd.LogicalName); lvEntities.Items.Add(item); AddEntityAttributesToList(emd); } SortGroups(lvAttributes); } catch (Exception error) { string errorMessage = CrmExceptionHelper.GetErrorMessage(error, true); MessageBox.Show(ParentForm, errorMessage, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } } gbEntities.Enabled = true; gbAttributes.Enabled = true; tsbChangeSystemAuditStatus.Enabled = true; }, e => SetWorkingMessage(e.UserState.ToString())); }