Ejemplo n.º 1
0
        public IActionResult ResetCache([FromServices] IPriceMovements priceMovement)
        {
            try
            {
                Logger.LogInformation(default(EventId), message: "Resetting cache.");

                var cacheReset = new Dictionary <string, object> {
                    { "success", true }
                };
                var reply = new Dictionary <string, object> {
                    { "data", cacheReset }
                };

                // reset known caches
                priceMovement.Reset();

                Logger.LogInformation(default(EventId), message: "Exit Reset cache.");
                return(new OkObjectResult(reply));
            }
            catch (Exception ex)
            {
                Logger.LogError(default(EventId), message: "Unexpected Exception:", exception: ex);
                return(this.StatusCode(500, $"Unexpected Exception: {ex}"));
            }
        }
Ejemplo n.º 2
0
        public async Task <IActionResult> DropDownData([FromServices] IPriceMovements priceMovement)
        {
            try
            {
                Logger.LogInformation(default(EventId), message: $"Retrieving Dropdown Lists.");

                var result = await priceMovement
                             .GetLookupData()
                             .ConfigureAwait(false);

                Logger.LogInformation(default(EventId), message: $"Exit DropDownData: retrieved {result.AssetClasses.Count} asset classes;  {result.Currencies.Count} currencies; {result.DealingDesks.Count} dealing desks.");
                return(new OkObjectResult(result));
            }
            catch (Exception ex)
            {
                Logger.LogError(default(EventId), message: "Unexpected Exception:", exception: ex);
                return(this.StatusCode(500, $"Unexpected Exception: {ex}"));
            }
        }
Ejemplo n.º 3
0
        public async Task <IActionResult> Data([FromServices] IPriceMovements priceMovement, [FromBody] PostData data)
        {
            try
            {
                var runDate = data.ForDate ?? DateTime.Today.Date;

                Logger.LogInformation(default(EventId), message: $"Retrieving PriceMovement Data for {runDate}; report type: {data.RecordType}; assets classes: {data.AssetClasses}; currencies: {data.Currencies}; dealing desks: {data.DealingDesks}.");

                var result = await priceMovement
                             .GetPriceMovementRecords(runDate, data.AssetClasses, data.Currencies, data.DealingDesks, data.RecordType)
                             .ConfigureAwait(false);

                Logger.LogInformation(default(EventId), message: $"Exit Data: retrieved {result.Count} records.");
                return(new OkObjectResult(result));
            }
            catch (Exception ex)
            {
                Logger.LogError(default(EventId), message: "Unexpected Exception:", exception: ex);
                return(this.StatusCode(500, $"Unexpected Exception: {ex}"));
            }
        }