public void GivenTheFixedIncomeClosePrices(Table table)
        {
            var rows = TableHelpers.ToEnumerableDictionary(table);

            foreach (var row in rows)
            {
                var item = new SecurityTimeBarQuerySubResponse
                {
                    Identifiers = new SecurityIdentifiers
                    {
                        Ric   = row["_FixedIncomeSecurity"],
                        Isin  = row["_FixedIncomeSecurity"],
                        Sedol = row["_FixedIncomeSecurity"],
                        ExternalIdentifiers = row["_FixedIncomeSecurity"]
                    },
                    Timebars =
                    {
                        new TimeBar
                        {
                            CloseAsk     = double.Parse(row["ClosePrice"]),
                            CloseBid     = double.Parse(row["ClosePrice"]),
                            CurrencyCode = "GBP",
                            EpochUtc     = DateTime.Parse(row["Date"]).ToUniversalTime().ToTimestamp()
                        }
                    }
                };

                _ruleRunner.FixedIncomeClosePriceMock.Add(item);
            }
        }
Esempio n. 2
0
        /// <summary>
        /// Maps a property
        /// </summary>
        /// <param name="expression">The expression that returns the property to map</param>
        /// <returns>An helper to define the property mapping</returns>
        public FluentPropertyMapping <T> Property(Expression <Func <T, object> > expression)
        {
            var property        = TableHelpers.GetExpressionPropertyInfo(expression);
            var propertyMapping = typeMapping.Columns[property.Name];

            return(new FluentPropertyMapping <T>(propertyMapping));
        }
Esempio n. 3
0
        public static System.Web.WebPages.HelperResult TableHeader(System.Web.Mvc.HtmlHelper helper, PropertyMetadata prop, string title, TableHelpers.SortOrder sortOrder)
        {
#line default
#line hidden
            return(new System.Web.WebPages.HelperResult(__razor_helper_writer => {
                if (prop.Sortable)
                {
                    WriteLiteralTo(__razor_helper_writer, "        <th");

                    WriteLiteralTo(__razor_helper_writer, " class=\"sortable\"");

                    WriteLiteralTo(__razor_helper_writer, " data-name=\"");

                    WriteTo(__razor_helper_writer, prop.PropertyInfo.Name);

                    WriteLiteralTo(__razor_helper_writer, "\"");

                    WriteLiteralTo(__razor_helper_writer, " data-descending=\"");

                    WriteTo(__razor_helper_writer, TableHelpers.IsOppositeOrderDescending(sortOrder).ToString());

                    WriteLiteralTo(__razor_helper_writer, "\"");

                    WriteLiteralTo(__razor_helper_writer, ">\r\n            <div");

                    WriteLiteralTo(__razor_helper_writer, " class=\"sortable\"");

                    WriteLiteralTo(__razor_helper_writer, ">\r\n");

                    WriteLiteralTo(__razor_helper_writer, "                ");

                    WriteTo(__razor_helper_writer, title);

                    WriteLiteralTo(__razor_helper_writer, "\r\n                <span");

                    WriteAttributeTo(__razor_helper_writer, "class", Tuple.Create(" class=\"", 3801), Tuple.Create("\"", 3848)
                                     , Tuple.Create(Tuple.Create("", 3809), Tuple.Create("fa", 3809), true)
                                     , Tuple.Create(Tuple.Create(" ", 3811), Tuple.Create <System.Object, System.Int32>(TableHelpers.GetSortIcon(sortOrder)
                                                                                                                        , 3812), false)
                                     );

                    WriteLiteralTo(__razor_helper_writer, " style=\"margin-right: 5px\"");

                    WriteLiteralTo(__razor_helper_writer, "></span>\r\n            </div>\r\n        </th>\r\n");
                }
                else
                {
                    WriteLiteralTo(__razor_helper_writer, "        <th>");

                    WriteTo(__razor_helper_writer, title);

                    WriteLiteralTo(__razor_helper_writer, "</th>\r\n");
                }
            }));

#line default
#line hidden
        }
Esempio n. 4
0
        /// <summary>
        /// Defines the primary key
        /// </summary>
        /// <param name="expression">An expression that selects the primary key</param>
        public void HasKey(Expression <Func <T, object> > expression)
        {
            var propertyInfo = TableHelpers.GetExpressionPropertyInfo(expression);

            typeMapping.Key       = typeMapping.Columns[propertyInfo.Name];
            typeMapping.Key.IsKey = true;
            if (propertyInfo.PropertyType == typeof(int) || propertyInfo.PropertyType == typeof(long))
            {
                typeMapping.Key.IsAutomatic = true;
            }
        }
Esempio n. 5
0
        static async Task Main(string[] args)
        {
            Console.WriteLine("Welcome to the Heroes Table Storage sample!");

            Console.WriteLine("Let's connect to our table");

            string connectionString = AppSettings.LoadAppSettings().ConnectionString;

            CloudTableClient tableClient = TableHelpers.ConnectToClient(connectionString);

            CloudTable cloudTable = tableClient.GetTableReference("HeroesDB");

            List <HeroEntity> heroes = GenerateHeros();

            try
            {
                foreach (var hero in heroes)
                {
                    await OperationsHelper.InsertOrMergeHero(cloudTable, hero);
                }

                Console.WriteLine("Let's see if we can find Superman! Performing a read.");

                var superman = await OperationsHelper.GetHero(cloudTable, "Superman", "Clark Kent");

                Console.WriteLine("Wait, his hometown isn't right! Let's update it.");

                superman.Hometown = "Kryptonopolis";

                await OperationsHelper.InsertOrMergeHero(cloudTable, superman);

                Console.WriteLine("Let's 'snap' Tony Stark out of the Universe (too soon?).");

                HeroEntity tonyStark = await OperationsHelper.GetHero(cloudTable, "Iron Man", "Tony Stark");

                await OperationsHelper.DeleteHero(cloudTable, tonyStark);

                Console.WriteLine("Love you 3000");

                Console.WriteLine("Sample over. Press any key to exit....");
                Console.ReadKey();
            }
            catch (Exception ex)
            {
                Console.WriteLine($"Something went wrong. Exception thrown: {ex.Message}");
                Console.ReadLine();
                throw;
            }
        }
        public void GivenTheEquityClosePrices(Table table)
        {
            var rows = TableHelpers.ToEnumerableDictionary(table);

            foreach (var row in rows)
            {
                var item = new FactsetSecurityDailyResponseItem
                {
                    Epoch       = DateTime.Parse(row["Date"], null, DateTimeStyles.AssumeUniversal),
                    ClosePrice  = Convert.ToDecimal(row["ClosePrice"]),
                    Figi        = IdentifierHelpers.ToIsinOrFigi(row["_EquitySecurity"]),
                    Currency    = "GBP",
                    DailyVolume = row.ValueOrNull("DailyVolume") != null?Convert.ToInt64(row.ValueOrNull("DailyVolume")) : 0
                };

                _ruleRunner.EquityClosePriceMock.Add(item);
            }
        }
Esempio n. 7
0
        public void GivenTheAllocations(Table table)
        {
            var rows = TableHelpers.ToEnumerableDictionary(table);

            _ruleRunner.AllocationCsvContent = MakeCsv(rows);
        }
Esempio n. 8
0
        public void GivenTheOrders(Table table)
        {
            var rows = TableHelpers.ToEnumerableDictionary(table);

            // expand special columns
            foreach (var row in rows)
            {
                if (row.ContainsKey("_Date"))
                {
                    var value = row["_Date"];
                    row.AddIfNotExists("OrderPlacedDate", value);
                    row.AddIfNotExists("OrderBookedDate", value);
                    row.AddIfNotExists("OrderAmendedDate", value);
                    row.AddIfNotExists("OrderFilledDate", value);
                }

                if (row.ContainsKey("_Volume"))
                {
                    var value = row["_Volume"];
                    row.AddIfNotExists("OrderOrderedVolume", value);
                    row.AddIfNotExists("OrderFilledVolume", value);
                }

                if (row.ContainsKey("_EquitySecurity"))
                {
                    var value      = row["_EquitySecurity"];
                    var identifier = IdentifierHelpers.ToIsinOrFigi(value);

                    row.AddIfNotExists("MarketType", "STOCKEXCHANGE");
                    row.AddIfNotExists("OrderCurrency", "GBP");
                    row.AddIfNotExists("OrderType", "MARKET");
                    row.AddIfNotExists("InstrumentIsin", identifier);
                    row.AddIfNotExists("InstrumentFigi", identifier);
                    row.AddIfNotExists("MarketIdentifierCode", "XLON");
                    row.AddIfNotExists("InstrumentCfi", "e");
                }

                if (row.ContainsKey("_FixedIncomeSecurity"))
                {
                    var value = row["_FixedIncomeSecurity"];

                    row.AddIfNotExists("MarketType", "STOCKEXCHANGE");
                    row.AddIfNotExists("OrderCurrency", "GBP");
                    row.AddIfNotExists("OrderType", "MARKET");
                    row.AddIfNotExists("InstrumentRic", value);
                    row.AddIfNotExists("MarketIdentifierCode", "RDFI");
                    row.AddIfNotExists("MarketName", "RDFI");
                    row.AddIfNotExists("InstrumentCfi", "d");

                    var identifier = IdentifierHelpers.ToIsinOrFigi(value);
                    row.AddIfNotExists("InstrumentIsin", identifier);
                }
            }

            _ruleRunner.TradeCsvContent = MakeCsv(rows);

            // default allocations
            if (_ruleRunner.AllocationCsvContent == null)
            {
                var allocationRows = rows.Select(x => new Dictionary <string, string>
                {
                    ["OrderId"]           = x["OrderId"],
                    ["Fund"]              = "",
                    ["Strategy"]          = "",
                    ["ClientAccountId"]   = "",
                    ["OrderFilledVolume"] = x.ValueOrNull("OrderFilledVolume")
                });

                _ruleRunner.AllocationCsvContent = MakeCsv(allocationRows);
            }
        }