public void RegisterNewAmbulance(RegisterAmbulanceMessage m) { Ambulance a; if (ambulanceRepository.Contains(m.Identifier)) { logger.Info("Updating already registered ambulance"); a = ambulanceRepository.Get(m.Identifier); a.SetStatus(AmbulanceStatus.Unavailable); a.SetPort(m.ListeningQueue); a.SetPosition(m.Latitude, m.Longitude); ambulanceRepository.Update(a); allocationRepository.CancelAllOpenAllocation(a.AmbulanceId, true); } else { logger.Info("Registering new ambulance"); a = ambulanceRepository.AddAmbulance(m.Identifier, m.Latitude, m.Longitude, AmbulanceStatus.Unavailable, m.ListeningQueue); } }
void Register() { var message = new RegisterAmbulanceMessage(ambulanceId, "mdt_" + ambulanceId, latitude, longitude); Send(message); }