예제 #1
0
 public async Task Process(DataCollectorRegistered @event)
 {
     /* Should use a specific command and event for updating
      * var dataCollector = _dataCollectors.GetById(@event.Id) ?? new DataCollector(@event.Id);
      * dataCollector.FullName = @event.FullName;
      * dataCollector.DisplayName = @event.DisplayName;
      * dataCollector.Location = new Location(@event.LocationLatitude, @event.LocationLongitude);
      * dataCollector.YearOfBirth = @event.YearOfBirth;
      * dataCollector.NationalSociety = @event.NationalSociety;
      * dataCollector.PreferredLanguage = (Language) @event.PreferredLanguage;
      * dataCollector.Sex = (Sex) @event.Sex;
      * dataCollector.RegisteredAt = @event.RegisteredAt;
      *
      * dataCollector.PhoneNumbers = new List<PhoneNumber>();
      */
     await _dataCollectors.SaveAsync(new DataCollector(@event.DataCollectorId)
     {
         DisplayName       = @event.DisplayName, FullName = @event.FullName,
         Location          = new Location(@event.LocationLatitude, @event.LocationLongitude),
         YearOfBirth       = @event.YearOfBirth, NationalSociety = @event.NationalSociety,
         Sex               = (Sex)@event.Sex, RegisteredAt = @event.RegisteredAt,
         PreferredLanguage = (Language)@event.PreferredLanguage,
         PhoneNumbers      = new List <PhoneNumber>()
     });
 }
        public void Process(DataCollectorRegistered @event)
        {
            var dataCollector = new Read.DataCollectors.DataCollector(
                @event.DataCollectorId, @event.FullName, @event.DisplayName, @event.YearOfBirth, @event.Sex,
                @event.PreferredLanguage, @event.LocationLongitude, @event.LocationLatitude, @event.RegisteredAt, @event.Region, @event.District);

            _dataCollectorsEventHandler.Handle(dataCollector);
        }
        public async Task Process(DataCollectorRegistered @event)
        {
            var dataCollector = _dataCollectors.GetById(@event.DataCollectorId) ?? new DataCollector(@event.DataCollectorId);

            dataCollector.FullName    = @event.FullName;
            dataCollector.DisplayName = @event.DisplayName;
            dataCollector.Location    = new Location(@event.LocationLatitude, @event.LocationLongitude);
            await _dataCollectors.Save(dataCollector);
        }
 public void Process(DataCollectorRegistered @event)
 {
     _dataCollectors.SaveDataCollector(
         @event.DataCollectorId,
         @event.FullName,
         @event.DisplayName,
         @event.LocationLatitude,
         @event.LocationLongitude,
         @event.Region,
         @event.District);
 }
예제 #5
0
 public void Process(DataCollectorRegistered @event, EventSourceId dataCollectorId)
 {
     _dataCollectors.Insert(new ListedDataCollector(dataCollectorId.Value)
     {
         DisplayName = @event.DisplayName,
         Region      = @event.Region,
         District    = @event.District,
         Village     = "",
         Location    = new Location(@event.LocationLatitude, @event.LocationLongitude)
     });
 }
예제 #6
0
        public void Process(DataCollectorRegistered @event)
        {
            var dataCollector = _dataCollectors.GetById(@event.DataCollectorId) ?? new DataCollector(@event.DataCollectorId);

            dataCollector.FullName    = @event.FullName;
            dataCollector.DisplayName = @event.DisplayName;
            dataCollector.Location    = new Location(@event.LocationLatitude, @event.LocationLongitude);
            dataCollector.Region      = @event.Region ?? "Unknown";
            dataCollector.District    = @event.District ?? "Unknown";
            _dataCollectors.Save(dataCollector);
        }
 public async Task Process(DataCollectorRegistered @event)
 {
     await _dataCollectors.SaveAsync(new DataCollector(@event.DataCollectorId)
     {
         DisplayName       = @event.DisplayName,
         FullName          = @event.FullName,
         Location          = new Location(@event.LocationLatitude, @event.LocationLongitude),
         YearOfBirth       = @event.YearOfBirth,
         NationalSociety   = @event.NationalSociety,
         Sex               = (Sex)@event.Sex,
         RegisteredAt      = @event.RegisteredAt,
         PreferredLanguage = (Language)@event.PreferredLanguage,
         PhoneNumbers      = new List <PhoneNumber>()
     });
 }
        public void Process(DataCollectorRegistered @event, EventSourceId dataCollectorId)
        {
            var dataCollector = _repositoryForDataCollector.GetById(dataCollectorId.Value); //why do we do this?

            dataCollector = new DataCollector()
            {
                Id          = dataCollectorId.Value,
                DisplayName = @event.DisplayName,
                Location    = new Concepts.Location(@event.LocationLatitude, @event.LocationLongitude),
                Region      = @event.Region,
                District    = @event.District,
                Village     = null //Event currently not supporting Village
            };
            _repositoryForDataCollector.Insert(dataCollector);
        }
 public void Process(DataCollectorRegistered @event)
 {
     _dataCollectors.Insert(new DataCollector(@event.DataCollectorId)
     {
         DisplayName       = @event.DisplayName,
         FullName          = @event.FullName,
         Location          = new Location(@event.LocationLatitude, @event.LocationLongitude),
         YearOfBirth       = @event.YearOfBirth,
         Sex               = (Sex)@event.Sex,
         RegisteredAt      = @event.RegisteredAt,
         PreferredLanguage = (Language)@event.PreferredLanguage,
         PhoneNumbers      = new List <PhoneNumber>(),
         District          = @event.District,
         Region            = @event.Region
     });
 }
예제 #10
0
        public void Process(DataCollectorRegistered @event)
        {
            var dataCollector = _dataCollectors.GetById(@event.Id);

            if (dataCollector == null)
            {
                dataCollector = new DataCollector {
                    Id = @event.Id
                };
                _dataCollectors.Create(dataCollector);
            }
            else
            {
                //TODO: Update volunteer properties
                _dataCollectors.Update(dataCollector);
            }
        }
예제 #11
0
 public void Process(DataCollectorRegistered @event, EventSourceId dataCollectorId)
 {
     _dataCollectors.Insert(new DataCollector()
     {
         Id                = dataCollectorId.Value,
         DisplayName       = @event.DisplayName,
         FullName          = @event.FullName,
         Location          = new Location(@event.LocationLatitude, @event.LocationLongitude),
         YearOfBirth       = @event.YearOfBirth,
         Sex               = (Sex)@event.Sex,
         RegisteredAt      = @event.RegisteredAt,
         PreferredLanguage = (Language)@event.PreferredLanguage,
         PhoneNumbers      = new List <PhoneNumber>(),
         District          = @event.District,
         Region            = @event.Region,
         DataVerifier      = @event.DataVerifierId,
         LastActive        = @event.RegisteredAt
     });
 }
예제 #12
0
        public void Process(DataCollectorRegistered @event, EventSourceId dataCollectorId)
        {
            // insert data collector
            var dataCollector = new DataCollector(
                dataCollectorId.Value,
                @event.RegisteredAt,
                @event.Region,
                @event.District,
                new Location(@event.LocationLatitude, @event.LocationLongitude),
                (Sex)@event.Sex);

            _dataCollectors.Insert(dataCollector);

            var region   = _repositoryForRegion.Query.FirstOrDefault(_ => _.Name == @event.Region);
            var district = _repositoryForDistrict.Query.FirstOrDefault(_ => _.Name == @event.District);

            if (region == null)
            {
                // if region doesn't exist, create it
                region = new Region()
                {
                    Id   = Guid.NewGuid(),
                    Name = @event.Region
                };
                _repositoryForRegion.Insert(region);
            }

            if (district == null)
            {
                // create if doesn't exist
                district = new District()
                {
                    Id       = Guid.NewGuid(),
                    Name     = @event.District,
                    RegionId = region.Id
                };
                _repositoryForDistrict.Insert(district);
            }
        }
예제 #13
0
 private void On(DataCollectorRegistered @event)
 {
     _isRegistered = true;
 }