示例#1
0
        /// <summary>
        /// Sets the generated report to the specific file.
        /// </summary>
        /// <param name="fileName">Name of the file to write to.</param>
        public void SaveReportToFile(string fileName)
        {
            //mapping ViewModel to ReportInfo object
            //this is not blow job to doing it manually
            //better solution could be using e.g. AutoMapper for it
            //http://automapper.codeplex.com/
            ReportInfo info = new ReportInfo()
            {
                System                        = ApplicationModel.System,
                Rules                         = ApplicationModel.FilteredRules,
                Alpha                         = ViewModel.Alpha,
                Gamma                         = ViewModel.Gamma,
                Support                       = ViewModel.Support,
                Confidence                    = ViewModel.Confidence,
                SelectedAlgorithm             = ViewModel.SelectedAlgorithm,
                DataSetName                   = ViewModel.DataSetName,
                ObjectsQuantity               = ViewModel.ObjectsQuantity,
                AttributesQuantity            = ViewModel.AttributesQuantity,
                GeneratedRulesQuantity        = ViewModel.GeneratedRulesQuantity,
                GenerateDiffrentRulesQuantity = ViewModel.GenerateDiffrentRulesQuantity,
                AverageSupport                = ViewModel.AverageSupport,
                AverageConfidence             = ViewModel.AverageConfidence,
                MinimalRuleLength             = ViewModel.MinimalRuleLength,
                AverageRuleLength             = ViewModel.AverageRuleLength,
                MaximalRuleLength             = ViewModel.MaximalRuleLength,
                GeneratedRules                = generatedRulesConvertedToDataTable,
                MinimalSupport                = ViewModel.MinimalSupport,
                MaximalSupport                = ViewModel.MaximalSupport,
                MinimalConfidence             = ViewModel.MinimalConfidence,
                MaximalConfidence             = ViewModel.MaximalConfidence,
                DecisionAttributes            = ApplicationModel.System.DecisionAttributes.Where(x => x.Value == true).Select(x => x.Key).ToList(),
                Weights                       = ApplicationModel.Weights,
                MinimalLowerBound             = ViewModel.MinimalLowerBound,
                AverageLowerBound             = ViewModel.AverageLowerBound,
                MaximalLowerBound             = ViewModel.MaximalLowerBound,
                MinimalUpperBound             = ViewModel.MinimalUpperBound,
                AverageUpperBound             = ViewModel.AverageUpperBound,
                MaximalUpperBound             = ViewModel.MaximalUpperBound,
                PercentOfSeparatedRows        = ApplicationModel.SeparatedRows
            };

            using (StreamWriter writer = new StreamWriter(fileName))
            {
                string defaultReportType = Enum.GetNames(typeof(ReportType))[SettingsManager.Settings.DefaultReport];

                IReport report = Bootstrapper.ServiceLocator.GetService <IReport>(
                    (ReportType)Enum.Parse(typeof(ReportType), defaultReportType));

                report.ReportDetails = info;

                writer.Write(report.CreateReport());
                writer.Close();
            }
        }
示例#2
0
        public IActionResult Post([FromBody] List <CustomerPreference> customerPreferences)
        {
            if (ModelState.IsValid)
            {
                var customerPreferenceResponse = MarketingHandler.BuildResponse(customerPreferences);
                var dictionary = customerPreferenceResponse.BuildDictionaryOfDatesAndNames();
                _report.CreateReport(dictionary);
                return(Ok());
            }

            return(BadRequest(ModelState));
        }
示例#3
0
 public MemoryStream MakeReport(IReport report)
 {
     return(report.CreateReport());
 }
示例#4
0
 public void Create()
 {
     _strategy.CreateReport();
 }