public async Task Simulate(TicketOrderSimulationRequest request)
        {
            var error   = "";
            var handler = HandlersFactory.GetProfilerHandler(_settingService, _loggerService);

            handler.Start(LOG_TAG, "Simulate", null);

            try
            {
                // Enqueue the event to a queue so it can be processed by an Azure function or whatever
                if (_simulationQueue != null)
                {
                    var queueMessage = new CloudQueueMessage(JsonConvert.SerializeObject(request));
                    await _simulationQueue.AddMessageAsync(queueMessage);
                }
            }
            catch (Exception ex)
            {
                error = ex.Message;
                throw new Exception(error);
            }
            finally
            {
                handler.Stop(error);
            }
        }
Example #2
0
        public async Task <IHttpActionResult> PostTicketOrdersSimulation([FromBody] TicketOrderSimulationRequest request)
        {
            var error   = "";
            var handler = HandlersFactory.GetProfilerHandler(TheSettingService, TheLoggerService);

            handler.Start(LOG_TAG, "PostOrder", GetServiceProperties());

            try
            {
                TicketOrderSimulationRequest.Validate(request);

                IExternalizationService extService = ServiceFactory.GetInstance().GetExternalizationService(TheSettingService, TheLoggerService);
                await extService.Simulate(request);

                return(Ok("Running"));
            }
            catch (Exception ex)
            {
                error = ex.Message;
                return(BadRequest(ex.Message));
            }
            finally
            {
                handler.Stop(error);
            }
        }