protected void Ok_Click(object sender, EventArgs e) { double sizefactor = double.Parse(SizeFactor.Text); string postfix = String.Empty; DatabaseVersion rs = new DatabaseVersion(RegistryContext); rs.Guid = new Guid(databaseVersionList.SelectedValue); rs.Load(); int q = 0; for (int sli = 0; sli < slices.Count; sli++) { for (int ssi = 0; ssi < serverInstances.Count; ssi++) { CheckBox cb = (CheckBox)FindControlRecursive(string.Format("cb_{0}_{1}", sli, ssi)); if (cb.Checked) { switch (item.LayoutType) { case DatabaseLayoutType.Sliced: break; default: postfix = String.Format("{0}", q.ToString("00")); break; } var dii = new DatabaseInstanceInstaller(item); dii.GenerateDatabaseInstance(serverInstances[ssi], slices[sli], rs, NamePattern.Text.Replace("[$Number]", postfix), DatabaseNamePattern.Text.Replace("[$Number]", postfix), sizefactor, GenerateFileGroups.Checked); q++; } } } Response.Redirect(item.GetDetailsUrl(EntityGroup.Layout)); }
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()); }