public NewspaperDetailViewModel(INewspaperAdRepository adRepository)
        {
            _adRepository = adRepository;
            Advertisements = new ObservableCollection<AdvertisementItemViewModel>();
            Messenger.Default.Send(new NewspaperDetailViewModelReady());
            Messenger.Default.Register<CurrentNewspaperItemChangedMessage>(this, (message) =>
                                                                                 {
                                                                                     if (message.ItemViewModel != null)
                                                                                     {
                                                                                         ItemViewModel = message.ItemViewModel;
                                                                                         _name = ItemViewModel.Name;
                                                                                     }
                                                                                     else
                                                                                         _name = "";

                                                                                     RaisePropertyChanged(() => AllowSave);
                                                                                 });
            Messenger.Default.Register<CurrentAdvertisementItemChangedMessage>(this,
                                                                               (message) =>
                                                                               {
                                                                                   _currentAd = message.ItemViewModel;
                                                                                   RaisePropertyChanged(() => AllowSave);
                                                                               });
            AddItemCommand = new RelayCommand(AddItemCommandHandler);
            CancelItemCommand = new RelayCommand(CancelItemCommandHandler);
            SaveItemCommand = new RelayCommand(SaveItemCommandHandler);
            DeleteItemCommand = new RelayCommand(DeleteItemCommandHandler);
            LinkToCurentAd = new RelayCommand(LinkToCurrentAdHandler);
        }
        private void SaveCommandHandler(AdvertisementItemViewModel viewModel)
        {
            if (inSave)
                return;

            inSave = true;
            viewModel.Newspapers.ToList().ForEach(n => _adRepository.Save(n.Model));
            var sortedList = Advertisements.OrderBy(a=>a.Name).ToList();
            Advertisements.Clear();
            sortedList.ForEach(a=>Advertisements.Add(a));
            inSave = false;
        }
        private void AddingItemMessageHandler(AddingAdvertisementItemMessage obj)
        {
            var model = new Advertisement();
            var vm = new AdvertisementItemViewModel(_adRepository) {Model = model};
            Advertisements.Add(vm);
            var sortedAds = Advertisements.OrderBy(a => a.Name).ToList();
            Advertisements.Clear();
            sortedAds.ForEach(Advertisements.Add);

            Messenger.Default.Send(new CurrentAdvertisementItemChangedMessage(vm));
        }