private void RefreshForm() { if (!entityReference.IsEmpty) { entityReference.Context = RegistryContext; Entity entity = entityReference.Value; Image.ImageUrl = String.Format("~/Icons/Small/{0}.gif", entity.EntityType); Image.Visible = true; if (expression == null) { HyperLink.Text = entity.Name; } else { HyperLink.Text = ExpressionProperty.ResolveExpression(EntityReference.Value, expression); } HyperLink.NavigateUrl = entity.GetDetailsUrl(); } else { Image.Visible = false; HyperLink.Text = Resources.Labels.NotApplicable; HyperLink.NavigateUrl = string.Empty; } }
protected void UpdateResolvedNames() { if (!Item.IsExisting) { Item.SliceReference.Guid = new Guid(Slice.SelectedValue); Item.DatabaseVersionReference.Guid = new Guid(DatabaseVersion.SelectedValue); Item.ServerInstanceReference.Guid = new Guid(ServerInstance.SelectedValue); try { Item.Name = ExpressionProperty.ResolveExpression(Item, Item.DatabaseDefinition.DatabaseInstanceNamePattern); Item.DatabaseName = ExpressionProperty.ResolveExpression(Item, Item.DatabaseDefinition.DatabaseNamePattern); } catch (ArgumentNullException) { Item.Name = String.Empty; Item.DatabaseName = String.Empty; } } }
public DatabaseInstance GenerateDatabaseInstance(ServerInstance serverInstance, List <DiskVolume> dataDiskVolumes, List <DiskVolume> logDiskVolumes, Slice slice, DatabaseVersion databaseVersion, string namePattern, string databaseNamePattern, double sizeFactor, bool generateFileGroups) { // --- Create the new database instance and set name DatabaseInstance ndi = new DatabaseInstance(databaseDefinition); ndi.ServerInstanceReference.Guid = serverInstance.Guid; ndi.SliceReference.Guid = slice.Guid; ndi.DatabaseVersionReference.Guid = databaseVersion.Guid; ndi.Name = ExpressionProperty.ResolveExpression(ndi, namePattern); ndi.DatabaseName = ExpressionProperty.ResolveExpression(ndi, databaseNamePattern); ndi.Save(); if (generateFileGroups) { ndi.ServerInstance.Machine.LoadDiskVolumes(false); databaseDefinition.LoadFileGroups(false); slice.LoadPartitions(false); List <Partition> partitions = new List <Partition>(slice.Partitions.Values.OrderBy(i => i.Number)); List <FileGroup> filegroups = new List <FileGroup>(databaseDefinition.FileGroups.Values.OrderBy(i => i.Number)); for (int fi = 0; fi < filegroups.Count; fi++) { // --- Create data and "log" file groups --- if (filegroups[fi].LayoutType == FileGroupLayoutType.Monolithic || filegroups[fi].FileGroupType == FileGroupType.Log) { DatabaseInstanceFileGroup nfg = new DatabaseInstanceFileGroup(ndi); nfg.FileGroupType = filegroups[fi].FileGroupType; nfg.FileGroupName = nfg.Name = filegroups[fi].FileGroupName; nfg.FileGroupReference.Guid = filegroups[fi].Guid; nfg.PartitionReference.Guid = Guid.Empty; nfg.AllocatedSpace = (long)(filegroups[fi].AllocatedSpace * sizeFactor); nfg.Save(); nfg.GenerateInstanceFiles(dataDiskVolumes, sizeFactor); } else if (filegroups[fi].LayoutType == FileGroupLayoutType.Sliced) { for (int pi = 0; pi < partitions.Count; pi++) { DatabaseInstanceFileGroup nfg = new DatabaseInstanceFileGroup(ndi); nfg.FileGroupType = filegroups[fi].FileGroupType; nfg.FileGroupName = nfg.Name = string.Format("{0}_{1}", filegroups[fi].FileGroupName, pi); nfg.FileGroupReference.Guid = filegroups[fi].Guid; nfg.PartitionReference.Guid = partitions[pi].Guid; nfg.AllocatedSpace = (long)(filegroups[fi].AllocatedSpace * sizeFactor); nfg.Save(); nfg.GenerateInstanceFiles(dataDiskVolumes, sizeFactor); } } else { throw new NotImplementedException(); } } } return(ndi); }
public static void ReplaceEmailTokens(ref string template, Entity entity) { // TODO: this fails if there are still tokens in the template that refer // to invalid properties of the entity template = ExpressionProperty.ResolveExpression(entity, template); }