Example #1
0
        public async Task <string> GetTopByProperties(
            [FromQuery] string city     = "amsterdam",
            [FromQuery] int limit       = 10,
            [FromQuery] string[]?extras = null)
        {
            extras ??= new string[0];

            // We are fetching a lot of duplicate entries because the second query
            // (properties with garden) will return a subset of objects already available in the
            // initial query. However, becuase the property entity does not contain info whether
            // it has a garden or not, we need to make fetch them separately (instead of doing
            // client side filtering)

            // Since fetching this from Funda requires walking over all the available data, we
            // cache the results based on `city` and `extras`. We don't cache based on `limit`
            // because we need to fetch all the properties anyway regardless of client requested
            // limit.
            var cacheKey = (city, extras);

            if (!cache.TryGetValue(cacheKey, out List <Agent> agents))
            {
                agents = await repository.ListTopAgentsByProperties(city, extras);

                var cacheEntryOptions = new MemoryCacheEntryOptions()
                                        .SetAbsoluteExpiration(TimeSpan.FromDays(1));
                cache.Set(cacheKey, agents, cacheEntryOptions);
            }

            var tableFormatter = new TableFormatter();

            return(tableFormatter.FormatObjects(agents.Take(limit)));
        }
        private void InitializeExecutionMessageHandlers()
        {
            var activatorWrapper  = new ActivatorWrapper();
            var reflectionWrapper = new ReflectionWrapper();
            var assemblies        = new AssemblyLocater(new DirectoryWrapper(), new FileWrapper()).GetAllAssemblies();
            var assemblyLoader    = new AssemblyLoader(new AssemblyWrapper(), assemblies, reflectionWrapper, activatorWrapper);

            _stepRegistry = assemblyLoader.GetStepRegistry();
            var tableFormatter        = new TableFormatter(assemblyLoader, activatorWrapper);
            var classInstanceManager  = assemblyLoader.GetClassInstanceManager();
            var executionOrchestrator = new ExecutionOrchestrator(reflectionWrapper, assemblyLoader, activatorWrapper,
                                                                  classInstanceManager,
                                                                  new HookExecutor(assemblyLoader, reflectionWrapper, classInstanceManager),
                                                                  new StepExecutor(assemblyLoader, reflectionWrapper, classInstanceManager));

            this.executionStartingProcessor         = new ExecutionStartingProcessor(executionOrchestrator);
            this.executionEndingProcessor           = new ExecutionEndingProcessor(executionOrchestrator);
            this.specExecutionStartingProcessor     = new SpecExecutionStartingProcessor(executionOrchestrator);
            this.specExecutionEndingProcessor       = new SpecExecutionEndingProcessor(executionOrchestrator);
            this.scenarioExecutionStartingProcessor = new ScenarioExecutionStartingProcessor(executionOrchestrator);
            this.scenarioExecutionEndingProcessor   = new ScenarioExecutionEndingProcessor(executionOrchestrator);
            this.stepExecutionStartingProcessor     = new StepExecutionStartingProcessor(executionOrchestrator);
            this.stepExecutionEndingProcessor       = new StepExecutionEndingProcessor(executionOrchestrator);
            this.executeStepProcessor           = new ExecuteStepProcessor(_stepRegistry, executionOrchestrator, tableFormatter);
            this.scenarioDataStoreInitProcessor = new ScenarioDataStoreInitProcessor(assemblyLoader);
            this.specDataStoreInitProcessor     = new SpecDataStoreInitProcessor(assemblyLoader);
            this.suiteDataStoreInitProcessor    = new SuiteDataStoreInitProcessor(assemblyLoader);
        }
Example #3
0
        internal override async Task Execute(CommandObjects CommandObject)
        {
            Database.DatabaseMethods.RolesMethods.RolesListFind(CommandObject.Guild.Id, out List <Roles> DBRolesList);

            List <object> DBRolesObjects = new List <object> {
            };

            foreach (Roles DBRole in DBRolesList)
            {
                DBRolesObjects.Add(new { RegisteredID = DBRole.Uuid, RegisteredNumber = DBRole.RoleNum, DBRole.RoleLevel });
            }

            object[] DBRolesArray     = DBRolesObjects.ToArray();
            string   DBRolesTableText = new TableFormatter().FormatObjects(DBRolesArray);

            await CommandObject.Message.Channel.SendMessageAsync(string.Format(CommandObject.Language.DMMention, CommandObject.Message.Author.Mention));

            if (string.IsNullOrWhiteSpace(DBRolesTableText))
            {
                await CommandObject.Member.SendMessageAsync(CommandObject.Language.ListNothing);
            }
            else
            {
                await CommandObject.Member.SendMessageAsync(DBRolesTableText);
            }
        }
Example #4
0
        public void CanFormatAsTableWithCellWithMultipleLines()
        {
            var tableFormatter = new TableFormatter();

            var text = tableFormatter.FormatObjects(new[]
            {
                new { FirstColumn = @"This is the first line
This is the second line
And this is the third and last line" }
            });

            Console.WriteLine(text);

            const string expected = @"

+-------------------------------------+
| FirstColumn                         |
+-------------------------------------+
| This is the first line              |
| This is the second line             |
| And this is the third and last line |
+-------------------------------------+
";

            Assert.That(text.Normalized(), Is.EqualTo(expected.Normalized()));
        }
Example #5
0
        public void CanFormatAsTableWithTwoColumns()
        {
            var tableFormatter = new TableFormatter();

            var text = tableFormatter.FormatObjects(new[]
            {
                new { FirstColumn = "r1", SecondColumn = "hej" },
                new { FirstColumn = "r2", SecondColumn = "hej" },
                new { FirstColumn = "r3", SecondColumn = "hej" },
                new { FirstColumn = "r4", SecondColumn = "hej" }
            });

            Console.WriteLine(text);

            const string expected = @"
+-------------+--------------+
| FirstColumn | SecondColumn |
+-------------+--------------+
| r1          | hej          |
+-------------+--------------+
| r2          | hej          |
+-------------+--------------+
| r3          | hej          |
+-------------+--------------+
| r4          | hej          |
+-------------+--------------+
";

            Assert.That(text.Normalized(), Is.EqualTo(expected.Normalized()));
        }
Example #6
0
        public void Example3()
        {
            var objects = new[]
            {
                new { MachineName = "ctxtest01", Ip = "10.0.0.10", Ports = new[] { 80, 8080, 9090 }, Comments = "" },
                new { MachineName = "ctxtest02", Ip = "10.0.0.11", Ports = new[] { 5432 },
                      Comments    = @"This bad boy hosts our database and a couple of internal jobs." }
            };

            var hints = new Hints {
                MaxTableWidth = 80
            };
            var formatter = new TableFormatter(hints);

            var text = formatter.FormatObjects(objects);

            Console.WriteLine(text);

            /*
             *
             * ====================================================================================
             | MachineName | Ip        | Ports | Comments                                       |
             | ====================================================================================
             | ctxtest01   | 10.0.0.10 | 80    |                                                |
             |             |           | 8080  |                                                |
             |             |           | 9090  |                                                |
             | ====================================================================================
             | ctxtest02   | 10.0.0.11 | 5432  | This bad boy hosts our database and a couple   |
             |             |           |       | of internal jobs.                              |
             | ====================================================================================
             |
             */
        }
Example #7
0
        public void CanFormatAsTableWithThreeColumns()
        {
            var tableFormatter = new TableFormatter();

            var objects = new[]
            {
                new { FirstColumn = "r1", SecondColumn = "hej", ThirdColumn = "hej igen" },
                new { FirstColumn = "r2", SecondColumn = "hej", ThirdColumn = "hej igen" },
            };

            var text = tableFormatter.FormatObjects(objects);

            Console.WriteLine(text);

            const string expected = @"

+-------------+--------------+-------------+
| FirstColumn | SecondColumn | ThirdColumn |
+-------------+--------------+-------------+
| r1          | hej          | hej igen    |
+-------------+--------------+-------------+
| r2          | hej          | hej igen    |
+-------------+--------------+-------------+

";

            Assert.That(text.Normalized(), Is.EqualTo(expected.Normalized()));
        }
Example #8
0
        public void DoesNotCollapseWhenCellHasMoreLines()
        {
            var objects = new[]
            {
                new { Id = "whatever01", Value = "jigeojgieojw" },
                new { Id = "whatever02", Value = @"huiehguiw
ruined the party!" },
            };


            var formatter = new TableFormatter(new Hints {
                CollapseVerticallyWhenSingleLine = true
            });

            var text = formatter.FormatObjects(objects);

            Console.WriteLine(text);

            Assert.That(text.Normalized(), Is.EqualTo(@"

+------------+-------------------+
| Id         | Value             |
+------------+-------------------+
| whatever01 | jigeojgieojw      |
+------------+-------------------+
| whatever02 | huiehguiw         |
|            | ruined the party! |
+------------+-------------------+

".Normalized()));
        }
Example #9
0
 private void Format()
 {
     try
     {
         DataTable dataTable = new TableFormatter().Format(this.InputTextBox.Text, this.FormatOptions, this.TableOptions);
         //DataTable dataTable = new DataTable();
         foreach (DataColumn dataColumn in dataTable.Columns)
         {
             DataColumn expr_3D = dataColumn;
             expr_3D.ColumnName += string.Format("{0}({1})", Environment.NewLine, dataColumn.DataType);
         }
         this.OutputDataTable.ItemsSource = dataTable.AsDataView();
     }
     catch (Exception ex)
     {
         Window window = Window.GetWindow(this);
         if (window != null)
         {
             SharedObject.Instance.Output(SharedObject.enOutputType.Error, "", ex);
         }
         else
         {
             SharedObject.Instance.Output(SharedObject.enOutputType.Error, "", ex);
         }
         Trace.TraceError(ex.Message);
     }
 }
Example #10
0
        public IMessageProcessor GetProcessor(Message.Types.MessageType messageType, bool scan = false)
        {
            if (!scan)
            {
                return(!_messageProcessorsDictionary.ContainsKey(messageType)
                    ? new DefaultProcessor()
                    : _messageProcessorsDictionary[messageType]);
            }
            var activatorWrapper  = new ActivatorWrapper();
            var reflectionWrapper = new ReflectionWrapper();
            var assemblyLoader    = new AssemblyLoader(new AssemblyWrapper(),
                                                       new AssemblyLocater(new DirectoryWrapper(), new FileWrapper()).GetAllAssemblies(),
                                                       reflectionWrapper);

            _stepRegistry = assemblyLoader.GetStepRegistry();
            var tableFormatter       = new TableFormatter(assemblyLoader, activatorWrapper);
            var classInstanceManager = assemblyLoader.GetClassInstanceManager(activatorWrapper);

            InitializeExecutionMessageHandlers(reflectionWrapper, assemblyLoader, activatorWrapper, tableFormatter,
                                               classInstanceManager);

            return(!_messageProcessorsDictionary.ContainsKey(messageType)
                ? new DefaultProcessor()
                : _messageProcessorsDictionary[messageType]);
        }
Example #11
0
        public void CanCollapseTable()
        {
            var objects = new[]
            {
                new { Id = "whatever01", Value = "jigeojgieojw" },
                new { Id = "whatever02", Value = "huiehguiw" },
                new { Id = "whatever03", Value = "nvnjkdnjkdsjkvds" },
                new { Id = "whatever04", Value = "fjeiufhweui" }
            };

            var formatter = new TableFormatter(new Hints {
                CollapseVerticallyWhenSingleLine = true
            });

            var text = formatter.FormatObjects(objects);

            Console.WriteLine(text);

            Assert.That(text.Normalized(), Is.EqualTo(@"

+------------+------------------+
| Id         | Value            |
+------------+------------------+
| whatever01 | jigeojgieojw     |
| whatever02 | huiehguiw        |
| whatever03 | nvnjkdnjkdsjkvds |
| whatever04 | fjeiufhweui      |
+------------+------------------+

".Normalized()));
        }
Example #12
0
        internal override async Task Execute(CommandObjects CommandObject)
        {
            Database.DatabaseMethods.AllowUsersMethods.AllowUsersListFind(CommandObject.Guild.Id, out List <AllowUsers> DBAllowUsersList);

            List <object> DBAllowUsersObjects = new List <object> {
            };

            foreach (AllowUsers DBAllowUser in DBAllowUsersList)
            {
                Database.DatabaseMethods.RolesMethods.RoleFind(CommandObject.Guild.Id, DBAllowUser.RoleNum, out Roles DBRole);

                DiscordRole GuildRole = CommandObject.Guild.GetRole(DBRole.Uuid);

                DBAllowUsersObjects.Add(new { RegisteredName = DBAllowUser.Name, UserID = DBAllowUser.Uuid, Role = GuildRole.Name });
            }

            object[] DBAllowUsersArray     = DBAllowUsersObjects.ToArray();
            string   DBAllowUsersTableText = new TableFormatter().FormatObjects(DBAllowUsersArray);

            await CommandObject.Message.Channel.SendMessageAsync(string.Format(CommandObject.Language.DMMention, CommandObject.Message.Author.Mention));

            if (string.IsNullOrWhiteSpace(DBAllowUsersTableText))
            {
                await CommandObject.Member.SendMessageAsync(CommandObject.Language.ListNothing);
            }
            else
            {
                await CommandObject.Member.SendMessageAsync(DBAllowUsersTableText);
            }
        }
Example #13
0
        public void Example3_WithoutHint()
        {
            var objects = new[]
            {
                new { MachineName = "ctxtest01", Ip = "10.0.0.10", Ports = new[] { 80, 8080, 9090 }, Comments = "" },
                new { MachineName = "ctxtest02", Ip = "10.0.0.11", Ports = new[] { 5432 },
                      Comments    = @"This bad boy hosts our database and a couple of internal jobs." }
            };

            var formatter = new TableFormatter();

            var text = formatter.FormatObjects(objects);

            Console.WriteLine(text);

            /*
             *
             +----------------------------------------------------------------+-----------+-------------+-------+
             | Comments                                                       | Ip        | MachineName | Ports |
             +----------------------------------------------------------------+-----------+-------------+-------+
             |                                                                | 10.0.0.10 | ctxtest01   | 80    |
             |                                                                |           |             | 8080  |
             |                                                                |           |             | 9090  |
             +----------------------------------------------------------------+-----------+-------------+-------+
             | This bad boy hosts our database and a couple of internal jobs. | 10.0.0.11 | ctxtest02   | 5432  |
             +----------------------------------------------------------------+-----------+-------------+-------+
             |
             */
        }
Example #14
0
        public void Print(ITextOutput output, TableFormatter tableFormatter)
        {
            var table = CreateTable();

            foreach (var issueView in Issues)
            {
                object[] currentRow = table.AddRow(issueView.Name);
                for (int i = 1; i < table.Columns.Count; i++)
                {
                    var    currentWorkDay     = WorkingDays.SingleOrDefault(x => x.Date.Equals(table.Columns[i].Value));
                    double?totalHoursPerIssue = currentWorkDay?.GetTotalHoursByIssue(issueView);
                    // TODO: move tostring into formatter it doesn't belongs here
                    currentRow[i] = totalHoursPerIssue > 0 ? totalHoursPerIssue.Value.ToString("0.##") : null;
                }
            }

            var currentFooterRow = table.AddFooterRow("Total hours:");

            for (int i = 1; i < table.Columns.Count; i++)
            {
                var day = WorkingDays.SingleOrDefault(x => x.Date.Equals(table.Columns[i].Value));
                //TODO: move tostring into formatter it doesn't belongs here
                currentFooterRow[i] = day?.TotalHours.ToString("0.##");
            }

            //TODO: move tostring into formatter it doesn't belongs here
            table.AddFooterRow($"Total hours for period logged/expected: {TotalHoursInPeriod.ToString("0.##")}" +
                               $"/{ExpectedTotalHoursInPeriod.ToString("0.##")}");

            tableFormatter.Write(table, output);
        }
        public void CanTakeAHint()
        {
            var column = new Column("Just a colum");
            var row    = new Row();

            row.AddCell(column, new Cell(new string('*', 80)));
            var table = new Table(new List <Column> {
                column
            }, new List <Row> {
                row
            });
            var text = TableFormatter.FormatTable(table, new Hints {
                MaxTableWidth = 50
            });

            Console.WriteLine(text);

            Assert.That(text.Normalized(), Is.EqualTo(@"

===============================================
| Just a colum                                |
===============================================
| ******************************************* |
| *************************************       |
===============================================

".Normalized()));
        }
Example #16
0
        private void InitializeExecutionMessageHandlers()
        {
            var tableFormatter       = new TableFormatter(this._assemblyLoader, this._activatorWrapper);
            var classInstanceManager = new ThreadLocal <object>(() =>
            {
                return(this._assemblyLoader.GetClassInstanceManager());
            });
            var executionInfoMapper   = new ExecutionInfoMapper(this._assemblyLoader, this._activatorWrapper);
            var executionOrchestrator = new ExecutionOrchestrator(this._reflectionWrapper, this._assemblyLoader,
                                                                  classInstanceManager.Value,
                                                                  new HookExecutor(this._assemblyLoader, this._reflectionWrapper, classInstanceManager.Value, executionInfoMapper),
                                                                  new StepExecutor(this._assemblyLoader, this._reflectionWrapper, classInstanceManager.Value));

            this.executionStartingProcessor         = new ExecutionStartingProcessor(executionOrchestrator);
            this.executionEndingProcessor           = new ExecutionEndingProcessor(executionOrchestrator);
            this.specExecutionStartingProcessor     = new SpecExecutionStartingProcessor(executionOrchestrator);
            this.specExecutionEndingProcessor       = new SpecExecutionEndingProcessor(executionOrchestrator);
            this.scenarioExecutionStartingProcessor = new ScenarioExecutionStartingProcessor(executionOrchestrator);
            this.scenarioExecutionEndingProcessor   = new ScenarioExecutionEndingProcessor(executionOrchestrator);
            this.stepExecutionStartingProcessor     = new StepExecutionStartingProcessor(executionOrchestrator);
            this.stepExecutionEndingProcessor       = new StepExecutionEndingProcessor(executionOrchestrator);
            this.executeStepProcessor           = new ExecuteStepProcessor(_stepRegistry, executionOrchestrator, tableFormatter);
            this.scenarioDataStoreInitProcessor = new ScenarioDataStoreInitProcessor(this._assemblyLoader);
            this.specDataStoreInitProcessor     = new SpecDataStoreInitProcessor(this._assemblyLoader);
            this.suiteDataStoreInitProcessor    = new SuiteDataStoreInitProcessor(this._assemblyLoader);
        }
        public void NoColumnsAndNoRows_EmptyResult()
        {
            var text = TableFormatter.FormatTable(new Table(new List <Column>(), new List <Row>()));

            Console.WriteLine(text);

            Assert.That(text.Normalized(), Is.EqualTo("".Normalized()));
        }
        private static IList <string> BuildCompareTables(
            Dictionary <CryptoExchangeId, Dictionary <CryptoExchangeId, Dictionary <CryptoCoinId, CoinMapModel> > > compare)
        {
            var tables = new List <string> ( );

            foreach (var from in compare)
            {
                var table     = new StringBuilder( );
                var formatter = new TableFormatter( );
                var objects   = new List <IDictionary <string, object> > ( );
                //table.AppendLine ( $"{from.Key}" );

                var coinIds = ExtractSymbols(from.Value.Values);

                foreach (var value in from.Value)
                {
                    foreach (var item in value.Value)
                    {
                        var buyINR        = FiatConverter.Convert(item.Value.Buy, FiatCurrency.USD, FiatCurrency.INR);
                        var sellINR       = FiatConverter.Convert(item.Value.Sell, FiatCurrency.USD, FiatCurrency.INR);
                        var minInvestment = FiatConverter.Convert(item.Value.minInvestment, FiatCurrency.USD, FiatCurrency.INR);

                        table.AppendLine(item.Value.Coin.ToString());
                        table.AppendLine($"{from.Key} Ask {item.Value.Buy:C} / {TOINR(buyINR)}");
                        table.AppendLine($"{value.Key} Bid {item.Value.Sell:C} / {TOINR(sellINR)}");
                        table.AppendLine($"Withdr Fee: {item.Value.WithdrawFee } {item.Value.Coin.ToString()}");
                        table.AppendLine($"Expected profit:    {item.Value.Profit:C} / {TOINR(item.Value.ProfitINR)}");
                        table.AppendLine($"Minimum Investment:  {item.Value.minInvestment:C} / {TOINR(minInvestment)}");
                        table.AppendLine($"{item.Value.ProfitPercentage:P}");
                        table.AppendLine();
                    }

                    //    $"Buy  {best} From: {from.Name,-12} @ {from[best].BuyPrice:C}\n" +
                    //$"Sell {best} To:   {to.Name,-12} @ {to[best].SellPrice:C}\n" +
                    //$"Buy  {leastWorst} From: {to.Name,-12} @ {to[leastWorst].BuyPrice:C}\n" +
                    //$"Sell {leastWorst} To:   {from.Name,-12} @ {from[leastWorst].SellPrice:C}\n" +
                    //$"Expected profit:    {profit:P}\n" +
                    //$"Estimated fees:     {fees:C}\n" +
                    //$"Minimum Investment: {minInvestment:C}";


                    //var dict = new Dictionary<string, object> {["Exchange"] = $"{value.Key}"};
                    //foreach ( var id in coinIds )
                    //	dict[id.ToString ( )] =
                    //		value.Value.ContainsKey ( id )
                    //			? $"{value.Value[id]:P}"
                    //			: "";
                    //objects.Add ( dict );
                }


                table.AppendLine( );
                tables.Add(table.ToString( ));
            }

            return(tables);
        }
Example #19
0
        protected override void CreatFormatter()
        {
            IReportService reporService = IOCContainer.Instance.Resolve <IReportService>();

            var data = reporService.GetFeeByRegionReport(StartTime, EndTime);

            var parameterContainer = new WorkbookParameterContainer();

            parameterContainer.Load(TemplateFormatterPath);
            SheetParameterContainer sheetContainer = parameterContainer["Sheet1"];

            var dataFormatter = new List <ElementFormatter>();

            dataFormatter.Add(new CellFormatter(sheetContainer["StartDate"], data.StartDate));
            dataFormatter.Add(new CellFormatter(sheetContainer["EndDate"], data.EndDate));
            dataFormatter.Add(new CellFormatter(sheetContainer["SumCurResNum"], data.SumCurrent.ResNum));
            dataFormatter.Add(new CellFormatter(sheetContainer["SumCurHospDay"], data.SumCurrent.HospDay));
            dataFormatter.Add(new CellFormatter(sheetContainer["SumCurFee"], data.SumCurrent.Fee));
            dataFormatter.Add(new CellFormatter(sheetContainer["SumCurMedFee"], data.SumCurrent.MedFee));
            dataFormatter.Add(new CellFormatter(sheetContainer["SumCurNciPay"], data.SumCurrent.NciPay));
            dataFormatter.Add(new CellFormatter(sheetContainer["SumCurSvcDep"], data.SumCurrent.SvcDep));
            dataFormatter.Add(new CellFormatter(sheetContainer["SumCurDecut"], data.SumCurrent.Decut));
            dataFormatter.Add(new CellFormatter(sheetContainer["SumCurAccNciPay"], data.SumCurrent.AccNciPay));
            //dataFormatter.Add(new CellFormatter(sheetContainer["SumTotalResNum"], data.SumTotal.ResNum));
            //dataFormatter.Add(new CellFormatter(sheetContainer["SumTotalHospDay"], data.SumTotal.HospDay));
            //dataFormatter.Add(new CellFormatter(sheetContainer["SumTotalFee"], data.SumTotal.Fee));
            //dataFormatter.Add(new CellFormatter(sheetContainer["SumTotalMedFee"], data.SumTotal.MedFee));
            //dataFormatter.Add(new CellFormatter(sheetContainer["SumTotalNciPay"], data.SumTotal.NciPay));
            //dataFormatter.Add(new CellFormatter(sheetContainer["SumTotalSvcDep"], data.SumTotal.SvcDep));
            //dataFormatter.Add(new CellFormatter(sheetContainer["SumTotalDecut"], data.SumTotal.Decut));
            //dataFormatter.Add(new CellFormatter(sheetContainer["SumTotalAccNciPay"], data.SumTotal.AccNciPay));

            var indexNum       = 1;
            var tableFormatter = new TableFormatter <FeeReportComDetail>(sheetContainer["Index"], data.DataDetail,
                                                                         new CellFormatter <FeeReportComDetail>(sheetContainer["Index"], t => indexNum++),
                                                                         new CellFormatter <FeeReportComDetail>(sheetContainer["OrgName"], t => t.GroupColumn1),
                                                                         new CellFormatter <FeeReportComDetail>(sheetContainer["CurResNum"], t => t.Current.ResNum),
                                                                         new CellFormatter <FeeReportComDetail>(sheetContainer["CurHospDay"], t => t.Current.HospDay),
                                                                         new CellFormatter <FeeReportComDetail>(sheetContainer["CurFee"], t => t.Current.Fee),
                                                                         new CellFormatter <FeeReportComDetail>(sheetContainer["CurMedFee"], t => t.Current.MedFee),
                                                                         new CellFormatter <FeeReportComDetail>(sheetContainer["CurNciPay"], t => t.Current.NciPay),
                                                                         new CellFormatter <FeeReportComDetail>(sheetContainer["CurSvcDep"], t => t.Current.SvcDep),
                                                                         new CellFormatter <FeeReportComDetail>(sheetContainer["CurDecut"], t => t.Current.Decut),
                                                                         new CellFormatter <FeeReportComDetail>(sheetContainer["CurAccNciPay"], t => t.Current.AccNciPay)
                                                                         //new CellFormatter<FeeReportComDetail>(sheetContainer["TotalResNum"], t => t.Total.ResNum),
                                                                         //new CellFormatter<FeeReportComDetail>(sheetContainer["TotalHospDay"], t => t.Total.HospDay),
                                                                         //new CellFormatter<FeeReportComDetail>(sheetContainer["TotalFee"], t => t.Total.Fee),
                                                                         //new CellFormatter<FeeReportComDetail>(sheetContainer["TotalMedFee"], t => t.Total.MedFee),
                                                                         //new CellFormatter<FeeReportComDetail>(sheetContainer["TotalNciPay"], t => t.Total.NciPay),
                                                                         //new CellFormatter<FeeReportComDetail>(sheetContainer["TotalSvcDep"], t => t.Total.SvcDep),
                                                                         //new CellFormatter<FeeReportComDetail>(sheetContainer["TotalDecut"], t => t.Total.Decut),
                                                                         //new CellFormatter<FeeReportComDetail>(sheetContainer["TotalAccNciPay"], t => t.Total.AccNciPay)
                                                                         );

            dataFormatter.Add(tableFormatter);
            Formatter = new SheetFormatter("Sheet1", dataFormatter.ToArray());
        }
Example #20
0
        private async Task HandleStatus(Message message, IList <string> _)
        {
            var formatter = new TableFormatter( );
            var objects   = new List <IDictionary <string, string> > ( );

            foreach (var exchange in exchanges.Values)
            {
                objects.Add(new Dictionary <string, string>
                {
Example #21
0
        public void MultipleCellsWithMultipleLines()
        {
            var objects = new[]
            {
                new  { MachineName = "ctxtest01", Ip = "10.0.0.10", Ports = new[] { 80, 8080, 9090 } },
                new  { MachineName = "ctxtest02", Ip = "10.0.0.11", Ports = new[] { 80, 5432 } }
            };

            var text = new TableFormatter().FormatObjects(objects);

            Console.WriteLine(text);
        }
Example #22
0
        public static IEnumerable <string> Tablize(IEnumerable objs, Type type, params string[] columeOptions)
        {
            var info = GetOrRegister(type);

            // TODO: TypeRegister can cache a TableFormatter. But need to make a base non-generic TableFormatter
            Func <TypeInfo, string> getHeader = _ => columeOptions.FirstOrDefault(opt => opt.StartsWith(_.Name)) ?? _.Name;
            var formatter = new TableFormatter <object>()
                            .SetHeaders(info.Select(getHeader).ToArray())
                            .SetColumns(info.Select(_ => _.Getter).ToArray());

            return(formatter.Format(objs.OfType <object>()));
        }
Example #23
0
        public void Example1()
        {
            var tableFormatter = new TableFormatter();

            var objects = new[]
            {
                new { FirstColumn = "r1", SecondColumn = "hej", ThirdColumn = "hej igen" },
                new { FirstColumn = "r2", SecondColumn = "hej", ThirdColumn = "hej igen" },
            };

            var text = tableFormatter.FormatObjects(objects);

            Console.WriteLine(text);
        }
Example #24
0
        public string GetConfiguration()
        {
            var obj   = new ConfigurationMainLogic(_context);
            var data  = obj.SelectSchemaHeaderSync();
            var data1 = obj.SelectAllDataAsync();

            Task.WaitAll(data1);

            var result = new TableFormatter {
                Header = data, Body = data1.Result
            };

            return(Tools.ConvertToJSON(result));
        }
Example #25
0
        public string GetHistory(string identifier)
        {
            var obj    = new HistoryLogic(_context);
            var header = obj.SelectSchemaHeaderSync();
            var data   = obj.SelectSpecificdata(identifier);

            Task.WaitAll(data);

            var result = new TableFormatter {
                Header = header, Body = data.Result
            };

            return(Tools.ConvertToJSON(result));
        }
Example #26
0
        public void CanGenerateTableFromSingleJsonObject()
        {
            var text = new TableFormatter().FormatJson(@"{""A property"": ""A value"", ""Another property"": 123}");

            Console.WriteLine(text);

            Assert.That(text.Normalized(), Is.EqualTo(@"
+------------+------------------+
| A property | Another property |
+------------+------------------+
| A value    | 123              |
+------------+------------------+
".Normalized()));
        }
        public void NoRows_JustColumnHeaders()
        {
            var columns = new List <Column>
            {
                new Column("Bimse"),
                new Column("Hej"),
            };
            var text = TableFormatter.FormatTable(new Table(columns, new List <Row>()));

            Console.WriteLine(text);

            Assert.That(text.Normalized(), Is.EqualTo(@"
===============
| Bimse | Hej |
===============
".Normalized()));
        }
Example #28
0
        protected override void CreatFormatter()
        {
            IReportService reporService = IOCContainer.Instance.Resolve <IReportService>();

            var data = reporService.GetFeeByCareTypeMainReport(StartTime, EndTime);

            var parameterContainer = new WorkbookParameterContainer();

            parameterContainer.Load(TemplateFormatterPath);
            SheetParameterContainer sheetContainer = parameterContainer["Sheet1"];

            var dataFormatter = new List <ElementFormatter>();

            dataFormatter.Add(new CellFormatter(sheetContainer["StartDate"], data.StartDate + " - "));
            dataFormatter.Add(new CellFormatter(sheetContainer["EndDate"], data.EndDate));
            dataFormatter.Add(new CellFormatter(sheetContainer["SumSpecCareResNum"], data.SumTotal.SpecCareResNum));
            dataFormatter.Add(new CellFormatter(sheetContainer["SumSpecCareHospDay"], data.SumTotal.SpecCareHospDay));
            dataFormatter.Add(new CellFormatter(sheetContainer["SumSpecCareFee"], data.SumTotal.SpecCareFee));
            dataFormatter.Add(new CellFormatter(sheetContainer["SumSpecCareNciPay"], data.SumTotal.SpecCareNciPay));
            dataFormatter.Add(new CellFormatter(sheetContainer["SumOrgCareResNum"], data.SumTotal.OrgCareResNum));
            dataFormatter.Add(new CellFormatter(sheetContainer["SumOrgCareHospDay"], data.SumTotal.OrgCareHospDay));
            dataFormatter.Add(new CellFormatter(sheetContainer["SumOrgCareFee"], data.SumTotal.OrgCareFee));
            dataFormatter.Add(new CellFormatter(sheetContainer["SumOrgCareNciPay"], data.SumTotal.OrgCareNciPay));
            dataFormatter.Add(new CellFormatter(sheetContainer["SumCurResNum"], data.SumTotal.ResNum));
            dataFormatter.Add(new CellFormatter(sheetContainer["SumCurFee"], data.SumTotal.Fee));
            dataFormatter.Add(new CellFormatter(sheetContainer["SumCurNciPay"], data.SumTotal.NciPay));
            var indexNum       = 1;
            var tableFormatter = new TableFormatter <FeeByCareTypeDetail>(sheetContainer["Index"], data.Detail,
                                                                          new CellFormatter <FeeByCareTypeDetail>(sheetContainer["Index"], t => indexNum++),
                                                                          new CellFormatter <FeeByCareTypeDetail>(sheetContainer["OrgName"], t => t.OrgName),
                                                                          new CellFormatter <FeeByCareTypeDetail>(sheetContainer["SpecCareResNum"], t => t.SpecCareResNum),
                                                                          new CellFormatter <FeeByCareTypeDetail>(sheetContainer["SpecCareHospDay"], t => t.SpecCareHospDay),
                                                                          new CellFormatter <FeeByCareTypeDetail>(sheetContainer["SpecCareFee"], t => t.SpecCareFee),
                                                                          new CellFormatter <FeeByCareTypeDetail>(sheetContainer["SpecCareNciPay"], t => t.SpecCareNciPay),
                                                                          new CellFormatter <FeeByCareTypeDetail>(sheetContainer["OrgCareResNum"], t => t.OrgCareResNum),
                                                                          new CellFormatter <FeeByCareTypeDetail>(sheetContainer["OrgCareHospDay"], t => t.OrgCareHospDay),
                                                                          new CellFormatter <FeeByCareTypeDetail>(sheetContainer["OrgCareFee"], t => t.OrgCareFee),
                                                                          new CellFormatter <FeeByCareTypeDetail>(sheetContainer["OrgCareNciPay"], t => t.OrgCareNciPay),
                                                                          new CellFormatter <FeeByCareTypeDetail>(sheetContainer["CurResNum"], t => t.ResNum),
                                                                          new CellFormatter <FeeByCareTypeDetail>(sheetContainer["CurFee"], t => t.Fee),
                                                                          new CellFormatter <FeeByCareTypeDetail>(sheetContainer["CurNciPay"], t => t.NciPay)
                                                                          );

            dataFormatter.Add(tableFormatter);
            Formatter = new SheetFormatter("Sheet1", dataFormatter.ToArray());
        }
Example #29
0
        protected override Task <DataTable> ExecuteAsyncWithResult(AsyncCodeActivityContext context, CancellationToken cancellationToken)
        {
            IEnumerable <KeyValuePair <Rectangle, string> > positions = this.Positions.Get(context);
            string         input         = this.InputString.Get(context);
            ITableOptions  tableOptions  = this.GetTableOptions();
            IFormatOptions formatOptions = this.GetFormatOptions(context);

            return(Task.Factory.StartNew <DataTable>(delegate
            {
                TableFormatter tableFormatter = new TableFormatter();
                if (positions == null)
                {
                    return tableFormatter.Format(input, formatOptions, tableOptions);
                }
                return tableFormatter.Format(positions, tableOptions);
            }));
        }
Example #30
0
        protected override int OnExecute(CommandLineApplication app)
        {
            var config   = Parent.GetK8SConfiguration();
            var clusters = config.Clusters ?? Enumerable.Empty <Cluster>();

            if (!clusters.Any())
            {
                Reporter.Output.WriteLine("No clusters found");
                return(1);
            }

            TableFormatter.Print(clusters, "", null, new Dictionary <string, Func <Cluster, object> >
            {
                { "NAME", x => x.Name }
            });

            return(0);
        }