예제 #1
0
        protected override void UpdateView(object state)
        {
            var dlg = new SaveModelDataDlg();

            if (dlg.ShowDialog() == true)
            {
                SetupData.Save(
                    AppDataCenter.Singleton.SetupData,
                    AppDataCenter.Singleton.GetSetupDataFileName(AppDataCenter.Singleton.InputFolder));

                ModelData modelData = new ModelData();

                modelData.Name               = dlg.ModelName;
                modelData.CreateDate         = DateTime.Now;
                modelData.TrainPages         = new List <PageSetupData>(AppDataCenter.Singleton.TrainPages.Select(x => x.Setup));
                modelData.AcceptanceCriteria = AppDataCenter.Singleton.AcceptanceCriteria;


                if (AppDataCenter.Singleton.ReportsData.Count() > 0)
                {
                    modelData.Match  = AppDataCenter.Singleton.BaseReportData.Match;
                    modelData.Reject = AppDataCenter.Singleton.BaseReportData.Reject;
                    modelData.FP     = AppDataCenter.Singleton.BaseReportData.FP;
                }
                else
                {
                    modelData.Match  = 0;
                    modelData.Reject = 0;
                    modelData.FP     = 0;
                }

                modelData.FeaturesSelectedNames = AppDataCenter.Singleton.FeaturesSelected
                                                  .Where(x => x.IsSelected)
                                                  .Select(x => x.Name)
                                                  .ToList();

                /*  modelData.FieldsSelectedNames = AppDataCenter.Singleton.SetupData.Fields
                 *                                                .Where(x => x.IsSelected == true)
                 *                                                .Select(x => x.Name)
                 *                                                .ToList();*/

                modelData.FieldsSelectedNames = AppDataCenter.Singleton.ChosenFields.ToList();

                modelData.ClassifierModel = new MemoryStream();



                ClassifierService.Service.SaveTrainData(
                    modelData.ClassifierModel,
                    AppDataCenter.Singleton.SetupData.BaseClassifierConfiguration,
                    AppDataCenter.Singleton.InputFolder,
                    AppDataCenter.Singleton.BaseReportData.PageThreshold);

                ModelsService.Service.Save(modelData);
            }
        }