Esempio n. 1
0
        /// <summary>
        /// Recalculate model results
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>

#if false
        private void RecalculateModelResultsMenuItem_Click(object sender, EventArgs e)
        {
            DataRow      dr;
            UcdbDatabase ucdb, ucdb2;
            UserObject   uo;
            int          ri;

            if (!GetFocusedUo(out ri, out dr, out ucdb, out uo))
            {
                return;
            }

            ucdb2 = Udbs.SelectDatabaseHeader(ucdb.DatabaseId);             // get new form of database
            if (ucdb2 == null)
            {
                return;                            // shouldn't happen
            }
            if (Udbs.UpdateIsRunning(ucdb2))
            {
                MessageBoxMx.ShowError("Update is currently running");
                return;
            }

            UcdbModel[] models = Udbs.SelectDatabaseModels(ucdb.DatabaseId);
            if (models.Length == 0)
            {
                MessageBoxMx.ShowError("No models for database");
                return;
            }

            ucdb2.PendingCompoundCount = ucdb2.CompoundCount;
            ucdb2.PendingCompoundId    = 0;
            ucdb2.PendingUpdateDate    = DateTime.MinValue;
            ucdb2.PendingStatus        = UcdbWaitState.ModelPredictions;
            ucdb2.RowState             = UcdbRowState.Modified;
            Udbs.UpdateDatabase(ucdb2);

            foreach (UcdbModel model in models)
            {
                model.PendingStatus = UcdbWaitState.ModelPredictions;
                model.RowState      = UcdbRowState.Modified;
            }
            Udbs.UpdateDatabaseModelAssoc(ucdb2, models);

            string command = "UpdateUcdbModelResults Pending " + ucdb2.DatabaseId;

            CommandLine.StartBackgroundSession(command);

            ucdb2.PendingUpdateDate = DateTime.Now;             // set value assuming background process started;
            dr["Ucdb"] = ucdb2;
            SetupDataRow(dr, ucdb2);
        }