Пример #1
0
        internal void MakeShortestPathReport(string inFileName, string outFileName, string googleKey)
        {
            Console.WriteLine("Reading excel file");

            var importer = new ExcelImporter();
            List <TravelItem> importList = importer.Execute(inFileName).Take(MAX_LIMIT).ToList();

            Console.WriteLine("Building graph from import list");

            var builder = new GraphBuilder();
            AdjacencyGraph <TravelItem, Edge <TravelItem> > graph = builder.MakeFrom(importList);

            Console.WriteLine("Retrieve distance from google");

            var distanceRetriever = new GoogleMapDistanceRetriever(googleKey);
            Dictionary <Edge <TravelItem>, double> distance = distanceRetriever.Execute(graph);

            Console.WriteLine("Calculate drive");

            var driveCalc  = new DriveCalculator();
            var calcResult = driveCalc.Execute(graph, distance, importList,
                                               (e) => distanceRetriever.GetEdgeDistanceDouble(e));

            Console.WriteLine("Generating reports");

            var         reportGen = new ExportGenerator();
            DriveReport report    = reportGen.Execute(calcResult.DayDistances, calcResult.DayShortestPath, calcResult.DayTravel, calcResult.DayEdgeDistance);

            Console.WriteLine("Exporting reports");

            var exporter = new FastExcelExporter();

            exporter.Export(report.ExportTable, outFileName, templateFileName: inFileName);
        }
Пример #2
0
        private void MSWordToolStripMenuItem_Click(object sender, EventArgs e)
        {
            Clipboard.Clear();
            string mssg = "";

            saveFileDialog1.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
            saveFileDialog1.DefaultExt       = "docx";
            saveFileDialog1.Filter           = "docx files (*.docx)|*.docx|All files (*.*)|*.*";
            if (saveFileDialog1.ShowDialog() == DialogResult.OK)
            {
                RichTextBox         rtb1     = new RichTextBox();
                RichTextBox         rtb2     = new RichTextBox();
                int                 seq      = 1;
                List <DocumentItem> allFiles = documentList.FindAll(x => x.Ftype == "rtf" && File.Exists(ProjectConfig.projectPath + "//" + x.DocumentName)).OrderBy(x => x.Seq).ToList();
                foreach (DocumentItem doc in allFiles)
                {
                    rtb1.LoadFile(ProjectConfig.projectPath + "\\" + doc.DocumentName);
                    rtb1.SelectAll();
                    rtb1.Copy();
                    rtb2.SelectionFont = new System.Drawing.Font("Arial", 18, FontStyle.Bold | FontStyle.Underline);
                    rtb2.AppendText("\n\n" + seq + ". " + doc.ItemName + "\n\n");
                    rtb2.SelectionFont = new System.Drawing.Font(rtb1.Font, FontStyle.Regular);
                    rtb2.Paste();
                    Clipboard.Clear();
                    seq += 1;
                }

                LoadingSpinner ls       = new LoadingSpinner(this, AppMessages.messages["exporting"]);
                string         filename = saveFileDialog1.FileName;
                try
                {
                    ls.show();
                    System.Windows.Forms.Application.DoEvents();
                    ExportGenerator document = new ExportGenerator();
                    document.open(filename);
                    document.generateCoverPage(project_name);
                    byte[] byteArray = Encoding.UTF8.GetBytes(rtb2.Rtf);
                    document.setContent(byteArray);
                    rtb1.Dispose();
                    rtb2.Dispose();
                    document.saveDocument();
                    document.Close();
                    mssg = AppMessages.messages["export_success"];
                    ls.hide();
                }
                catch (Exception ex)
                {
                    mssg = ex.Message;
                    ls.hide();
                }
                finally
                {
                    MessageBox.Show(mssg);
                    Clipboard.Clear();
                    GC.Collect();
                }
            }
        }
        private async void buttonExport_Click(object sender, EventArgs e)
        {
            //Create Export Paramaters
            bool             excludePrivates         = radCheckBoxExcludePrivate.Checked;
            bool             ignoreDynamicProperties = _settings.IgnoreDynamicallyAddedProperties;
            ExportType       exportType       = GetExportType();
            int              maxDepth         = (int)numericUpDownMaxDepth.Value;
            ExportParamaters exportParamaters = new ExportParamaters(excludePrivates, ignoreDynamicProperties, maxDepth, exportType);

            CancellationTokenSource cancellationTokenSource = new CancellationTokenSource();

            _waitingDialog = new ProgressDialog(cancellationTokenSource);

            List <ExpressionWithSource> expressions = GetAllExpressions();

            if (expressions.Any())
            {
                //Hide and Show Progress Bar
                this.Hide();
                _waitingDialog.Show(this);

                TypeRetriever retriever       = new TypeRetriever(_dte2);
                var           exportGenerator = new ExportGenerator(expressions, retriever, exportParamaters);

                try
                {
                    Dictionary <string, string> lookupGeneratedTexts = await exportGenerator.GenerateTextWithKey(cancellationTokenSource.Token);

                    //Setup event for when the form is shown to close the waiting dialog
                    FormDisplayGeneratedText formDisplayGeneratedText = new FormDisplayGeneratedText(lookupGeneratedTexts, exportType);
                    formDisplayGeneratedText.Shown += formDisplayGeneratedText_Shown;
                    formDisplayGeneratedText.ShowDialog(this);
                }
                catch (ThreadAbortException ex)
                {
                    _waitingDialog.Close();
                }
                catch (ObjectDisposedException ex)
                {
                    _waitingDialog.Close();
                }
                catch (Exception ex)
                {
                    _waitingDialog.Close();
                    Raygun.LogException(ex);
                    MessageBox.Show("Error when attempting to export objects. If error reporting has not been disabled," +
                                    " then your error has already been logged.");
                }
                finally
                {
                    this.Show();
                }
            }
        }
Пример #4
0
 public void Exec(string commandName, vsCommandExecOption executeOption, ref object varIn, ref object varOut,
                  ref bool handled)
 {
     handled = false;
     if (executeOption == vsCommandExecOption.vsCommandExecOptionDoDefault)
     {
         if (commandName == Command.COMMAND_PREFIX + Command.MENU_BAR_EXPORT_COMMAND_NAME)
         {
             ExportGenerator generator = _ioc.CreateExportGenerator();
             generator.Generate();
         }
     }
 }