public void VsixRefreshConnectionDialogTest() { var xrmConfiguration = new InterfaceMapperFor <IXrmConfiguration, XrmConfiguration>().Map(XrmConfiguration); var xrmRecordConfiguration = SavedXrmRecordConfiguration.CreateNew(new XrmConfigurationMapper().Map(xrmConfiguration)); var dialog = new ConnectionEntryDialog(CreateDialogController(), xrmRecordConfiguration, VisualStudioService, true); dialog.Controller.BeginDialog(); var entryViewModel = (ObjectEntryViewModel)dialog.Controller.UiItems.First(); Assert.IsTrue(entryViewModel.Validate()); entryViewModel.OnSave(); }
private void AddRedirectToConnectionEntryIfNotConnected(IVisualStudioService visualStudioService) { if (string.IsNullOrWhiteSpace(XrmRecordService.XrmRecordConfiguration.OrganizationUniqueName)) { //if there was no connection then lets redirect to the connection entry first var newConnection = new SavedXrmRecordConfiguration(); Action refreshChildDialogConnection = () => { newConnection.Active = true; XrmRecordService.XrmRecordConfiguration = newConnection; SettingsObject.Connections = new[] { newConnection }; }; RefreshActiveServiceConnection = true; var connectionEntryDialog = new ConnectionEntryDialog(this, newConnection, visualStudioService, true, doPostEntry: refreshChildDialogConnection); var subDialogList = new List <DialogViewModel>(); subDialogList.Add(connectionEntryDialog); XrmRecordService.XrmRecordConfiguration = newConnection; subDialogList.AddRange(SubDialogs); SubDialogs = subDialogList; } }
public XrmPackageSettingsDialog(IDialogController dialogController, XrmPackageSettings objectToEnter, IVisualStudioService visualStudioService, XrmRecordService xrmRecordService) : base(dialogController, xrmRecordService, objectToEnter) { XrmRecordService = xrmRecordService; VisualStudioService = visualStudioService; if (string.IsNullOrWhiteSpace(XrmRecordService.XrmRecordConfiguration.OrganizationUniqueName)) { //if there was no connection then lets redirect to the connection entry first var newConnection = new SavedXrmRecordConfiguration(); Action refreshChildDialogConnection = () => { newConnection.Active = true; XrmRecordService.XrmRecordConfiguration = newConnection; SettingsObject.Connections = new[] { newConnection }; }; var connectionEntryDialog = new ConnectionEntryDialog(this, newConnection, visualStudioService, true, doPostEntry: refreshChildDialogConnection); var subDialogList = new List <DialogViewModel>(); subDialogList.Add(connectionEntryDialog); XrmRecordService.XrmRecordConfiguration = newConnection; subDialogList.AddRange(SubDialogs); SubDialogs = subDialogList; } }