示例#1
0
        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");
            }
        }