public override void Handle(IBulkSpotCreatedOrUpdated command) { ValidateBookingPositions(command); var salesAreaDictionary = _salesAreaRepository.GetAll().ToDictionary(x => x.Name, x => x.CustomId); var spotEntities = _mapper.Map <List <SpotDbObject> >(command.Data); spotEntities.ForEach(s => { s.Uid = Guid.NewGuid(); var salesAreaCustomId = salesAreaDictionary[s.SalesArea]; s.ExternalBreakNo = s.ExternalBreakNo.GenerateBreakExternalRef(salesAreaCustomId, s.StartDateTime); }); _spotRepository.InsertOrReplace(spotEntities); _spotRepository.SaveChanges(); }