public void Save(Pet pet)
        {
            string petType = (pet.Type == null) ? string.Empty : pet.Type.Name;
            string petFood = (pet.FoodType == null) ? string.Empty : pet.FoodType.Text;
            _history.AddText(string.Format("{0} the {1} registered at a price of £{2}. Food: {3}", pet.Name, petType, pet.Price, petFood));
            new Thread(() =>
                           {
                               // Mimics talking to a real repository
                               Thread.Sleep(400);
                               System.Console.WriteLine("Got a new pet in the repository");
                               _pets.Add(pet);
                               PropertyChanged(this, new PropertyChangedEventArgs("Pets"));
                           }).Start();

        }
 public void PetWasPutInBasket(Pet pet)
 {
     _pets.Remove(pet);
     PropertyChanged(this, new PropertyChangedEventArgs("Pets"));
 }
 public RegistrationViewModel(PetRepository petRepository)
 {
     _petRepository = petRepository;
     _pet = new Pet();
 }
 public SavePetCommand(PetRepository repository, Pet pet)
     : base(o => repository.Save(pet))
 {
 }