public void Process(DataCollectorUserInformationChanged @event) { var res = _dataCollectors.UpdateOne( Builders <DataCollector> .Filter.Where(d => d.DataCollectorId == @event.DataCollectorId), Builders <DataCollector> .Update.Combine( Builders <DataCollector> .Update.Set(d => d.FullName, @event.FullName), Builders <DataCollector> .Update.Set(d => d.DisplayName, @event.DisplayName), Builders <DataCollector> .Update.Set(d => d.Sex, (Sex)@event.Sex), Builders <DataCollector> .Update.Set(d => d.YearOfBirth, @event.YearOfBirth), Builders <DataCollector> .Update.Set(d => d.District, @event.District), Builders <DataCollector> .Update.Set(d => d.Region, @event.Region)) ); if (res.IsModifiedCountAvailable && res.MatchedCount < 1) { throw new Exception("Data collector with id " + @event.DataCollectorId + " was not found"); } }