Пример #1
0
        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);
            }
        }
Пример #2
0
        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());
        }