public Task <object> Command([FromBody] object payload)
 {
     try
     {
         return(_handlerRegistry.ResolveHandler(payload.GetType()).Handle(payload, _context));
     }
     catch (Exception e)
     {
         Console.WriteLine(e);
         throw;
     }
 }
Пример #2
0
        public override async Task <bool> HandleTyped(UploadSnapshotCommand input,
                                                      ApplicationContext applicationContext)
        {
            try
            {
                applicationContext.UpdateDeviceDefinitionCommands.RemoveRange(applicationContext
                                                                              .UpdateDeviceDefinitionCommands);
                await applicationContext.SaveChangesAsync();

                applicationContext.CommandsStoreEntries.RemoveRange(applicationContext.CommandsStoreEntries);
                await applicationContext.SaveChangesAsync();

                foreach (var commandRecord in input.CommandRecords)
                {
                    if (commandRecord.CommandType == nameof(UpdateDeviceDefinitionCommand))
                    {
                        var payload = JsonConvert.DeserializeObject <UpdateDeviceDefinitionCommand>(commandRecord.CommandValue);
                        await _handlerRegistry.ResolveHandler(payload
                                                              .GetType()).Handle(payload, applicationContext);
                    }
                }
            }
            catch
            {
                return(false);
            }

            return(true);
        }