protected override void OnSaveFormCompleted(bool newentity) { if (newentity) { var sv = new ServerVersion(RegistryContext); sv.Guid = new Guid(ServerVersion.SelectedValue); sv.Load(); var ddi = new DatabaseDefinitionInstaller(Item); ddi.GenerateDefaultChildren(sv, Registry.Constants.HotDatabaseVersionName); } }
protected void Ok_Click(object sender, EventArgs e) { string[] slicenames = new string[sliceCount]; long[][] slicelimits = new long[sliceCount][]; string[][] partitionnames = new string[sliceCount][]; long[][][] partitionlimits = new long[sliceCount][][]; TextBox tb; for (int si = 0; si < sliceCount; si++) { tb = (TextBox)FindControlRecursive(string.Format("slice_name_{0}", si)); slicenames[si] = tb.Text; partitionnames[si] = new string[partitionCount]; partitionlimits[si] = new long[partitionCount][]; for (int pi = 0; pi < partitionCount; pi++) { tb = (TextBox)FindControlRecursive(string.Format("partition_name_{0}_{1}", si, pi)); partitionnames[si][pi] = tb.Text; partitionlimits[si][pi] = new long[2]; tb = (TextBox)FindControlRecursive(string.Format("partition_limit_{0}_{1}", si, pi)); partitionlimits[si][pi][0] = long.Parse(tb.Text); } } long closing_limit = long.Parse(((TextBox)FindControlRecursive("closing_limit")).Text); for (int si = 0; si < sliceCount; si++) { slicelimits[si] = new long[2]; slicelimits[si][0] = partitionlimits[si][0][0]; if (si < sliceCount - 1) { slicelimits[si][1] = partitionlimits[si + 1][0][0]; } else { slicelimits[si][1] = closing_limit; } } for (int si = 0; si < sliceCount; si++) { for (int pi = 0; pi < partitionCount; pi++) { if (pi < partitionCount - 1) { partitionlimits[si][pi][1] = partitionlimits[si][pi + 1][0]; } else if (si < sliceCount - 1) { partitionlimits[si][pi][1] = slicelimits[si + 1][0]; } else { partitionlimits[si][pi][1] = closing_limit; } } } var ddi = new DatabaseDefinitionInstaller(item); ddi.GenerateSlices(slicenames, slicelimits, partitionnames, partitionlimits); Response.Redirect(item.GetDetailsUrl()); }