protected override void OnLoad(EventArgs e) { base.OnLoad(e); if (this.templatePage.BindingSource.DataSource != null) { this.templatePage.OnSetActive(); DetailsTemplate detailsTemplate = this.templatePage.BindingSource.DataSource as DetailsTemplate; if (detailsTemplate != null && detailsTemplate.IsValid) { this.serviceContainer.AddService(typeof(DetailsTemplateTypeService), new DetailsTemplateTypeService(detailsTemplate.TemplateType, detailsTemplate.MAPIPropertiesDictionary)); if (detailsTemplate.TemplateType.Equals("Mailbox Agent")) { this.propertyGrid.Enabled = false; this.templatePage.TemplateSurface.ReadOnly = true; } else { this.propertyGrid.Enabled = true; this.templatePage.TemplateSurface.ReadOnly = false; } this.templatePage.TemplateSurface.DetailsTemplatesMenuService.MenuCommandStatusChanged += this.menuCommandService_StatusChanged; this.UpdateEditMenuItems(this.templatePage.TemplateSurface.DetailsTemplatesMenuService); this.toolbox.Initialize(); this.LoadEditorSettings(); return; } if (detailsTemplate != null) { base.ShellUI.ShowError(Strings.DetailsTemplateCorrupted); } base.Dispose(); } }
// Token: 0x06000972 RID: 2418 RVA: 0x000207F8 File Offset: 0x0001E9F8 public DetailsTemplateIdParameter(string rawString) : base(rawString) { if (base.InternalADObjectId != null && base.InternalADObjectId.Rdn != null) { return; } string[] array = rawString.Split(new char[] { '\\' }); if (array.Length > 2) { throw new ArgumentException(Strings.ErrorInvalidIdentity(rawString), "Identity"); } if (!array[0].Equals("*") && !Culture.TryGetCulture(array[0], out this.language)) { throw new ArgumentException(Strings.ErrorInvalidIdentity(rawString), "Identity"); } if (array.Length == 2) { this.type = DetailsTemplate.TranslateTemplateNameToID(array[1]); if (this.type == null && !array[1].Equals("*")) { throw new ArgumentException(Strings.ErrorInvalidIdentity(rawString), "Identity"); } } }
private void SaveTemplate(CancelEventArgs e) { TabControl templateTab = this.templatePage.TemplateSurface.TemplateTab; MultiValuedProperty <Page> multiValuedProperty = new MultiValuedProperty <Page>(); foreach (object obj in templateTab.TabPages) { CustomTabPage customTabPage = (CustomTabPage)obj; Page detailsTemplateTab = customTabPage.DetailsTemplateTab; detailsTemplateTab.Controls.Clear(); DetailsTemplatesSurface.SortControls(customTabPage, true); foreach (object obj2 in customTabPage.Controls) { Control control = (Control)obj2; DetailsTemplateControl detailsTemplateControl = (control as IDetailsTemplateControlBound).DetailsTemplateControl; detailsTemplateTab.Controls.Add(detailsTemplateControl); } DetailsTemplatesSurface.SortControls(customTabPage, false); multiValuedProperty.Add(detailsTemplateTab); } DetailsTemplate detailsTemplate = this.templatePage.BindingSource.DataSource as DetailsTemplate; detailsTemplate.Pages = multiValuedProperty; if (this.templatePage.DataHandler != null) { this.templatePage.DataHandler.SpecifyParameterNames("Pages"); } this.templatePage.Apply(e); this.RefreshOnFinish.Refresh(base.CreateProgress(Strings.Refreshing)); }
protected override void OnSetActive(EventArgs e) { base.OnSetActive(e); DetailsTemplate detailsTemplate = base.BindingSource.DataSource as DetailsTemplate; if (detailsTemplate != null && detailsTemplate.IsValid) { this.designSurface.LoadTemplate(detailsTemplate); this.designSurface.DataContext = base.Context; } }
public void DetailsView_Template_Test() { var template = new DetailsTemplate(new EntityInfo() { Id = _entityId }, ApplicationId); var output = template.TransformText(); Assert.NotNull(output); Assert.NotEmpty(output); Assert.Contains($"@model {ApplicationId}.Backend.DataModels.{_entityId}", output); }
private void DetailsModel_MetadataChanged(object sender, EventArgs e) { if (DetailsModel.Target == DetailsTarget.Download) { WebBrowser.Tag = DetailsModel.Metadata?.Id; WebBrowser.DocumentText = DownloadTemplate.GetFormattedText(DetailsModel.Metadata); } else { WebBrowser.Tag = DetailsModel.Metadata?.Id; WebBrowser.DocumentText = DetailsTemplate.GetFormattedText(DetailsModel.Metadata); } }
internal void LoadTemplate(DetailsTemplate currentTemplate) { IDesignerHost designerHost = base.GetService(typeof(IDesignerHost)) as IDesignerHost; Control control = designerHost.RootComponent as Control; CustomTabControl customTabControl = (CustomTabControl)DetailsTemplatesSurface.CreateComponent(typeof(CustomTabControl), designerHost); customTabControl.Parent = control; int num = 0; int num2 = 0; customTabControl.SuspendLayout(); customTabControl.TabPages.Clear(); if (currentTemplate.Pages != null) { foreach (Page page in currentTemplate.Pages) { CustomTabPage customTabPage = (CustomTabPage)DetailsTemplatesSurface.CreateComponent(typeof(CustomTabPage), designerHost); customTabPage.DetailsTemplateTab = page; foreach (DetailsTemplateControl detailsTemplateControl in page.Controls) { Type type = detailsTemplateControl.GetType(); Control control2 = (Control)DetailsTemplatesSurface.CreateComponent(DetailsTemplatesSurface.controlMapping[type], designerHost); control2.Location = DetailsTemplatesSurface.DialogUnitsToPixel(detailsTemplateControl.X, detailsTemplateControl.Y, this.ExchangeForm); control2.Size = new Size(DetailsTemplatesSurface.DialogUnitsToPixel(detailsTemplateControl.Width, detailsTemplateControl.Height, this.ExchangeForm)); customTabPage.Controls.Add(control2); (control2 as IDetailsTemplateControlBound).DetailsTemplateControl = detailsTemplateControl; int val = control2.Location.X + control2.Size.Width; int val2 = control2.Location.Y + control2.Size.Height; num = Math.Max(num, val); num2 = Math.Max(num2, val2); } customTabControl.TabPages.Add(customTabPage); DetailsTemplatesSurface.SortControls(customTabPage, false); } } num += 25; num2 += 50; num = Math.Max(num, 200); num2 = Math.Max(num2, 200); control.Size = new Size(num, num2); control.MinimumSize = new Size(200, 200); PropertyDescriptor propertyDescriptor = TypeDescriptor.GetProperties(customTabControl)["Size"]; propertyDescriptor.SetValue(customTabControl, new Size(num, num2)); this.templateTab = customTabControl; this.MonitorService(); this.templateTab.SelectedIndexChanged += this.selectionService_SelectionChanged; this.selectionService_SelectionChanged(null, null); this.templateTab.Resize += this.templateTab_Resize; }
private void TransformViews(SmartAppInfo manifest) { var enabledEntities = manifest.DataModel.Entities.Where(e => !e.IsAbstract); foreach (var entity in enabledEntities) { var applicationId = manifest.Id; var createTemplate = new CreateTemplate(entity, applicationId); var editTemplate = new EditTemplate(entity, applicationId); var detailTemplate = new DetailsTemplate(entity, applicationId); var deleteTemplate = new DeleteTemplate(entity, applicationId); var indexTemplate = new IndexTemplate(entity, applicationId); _writingService.WriteFile(Path.Combine(_context.BasePath, createTemplate.OutputPath, entity.Id, "Create.cshtml"), createTemplate.TransformText()); _writingService.WriteFile(Path.Combine(_context.BasePath, editTemplate.OutputPath, entity.Id, "Edit.cshtml"), editTemplate.TransformText()); _writingService.WriteFile(Path.Combine(_context.BasePath, deleteTemplate.OutputPath, entity.Id, "Delete.cshtml"), deleteTemplate.TransformText()); _writingService.WriteFile(Path.Combine(_context.BasePath, detailTemplate.OutputPath, entity.Id, "Details.cshtml"), detailTemplate.TransformText()); _writingService.WriteFile(Path.Combine(_context.BasePath, indexTemplate.OutputPath, entity.Id, "Index.cshtml"), indexTemplate.TransformText()); } }
public void DetailsView_Template_NullParameter_Test() { var template = new DetailsTemplate(null, null); Assert.Throws <ArgumentNullException>(() => template.TransformText()); }