public RetailersListViewModel()
        {
            if (DesignerProperties.GetIsInDesignMode(
                new System.Windows.DependencyObject())) return;

            try
            {
                var retailers = db.Retailers.Include(r => r.Employee).Include(r => r.Suburb);
                Retailers = new ObservableCollection<Retailer>(retailers.ToList());
            }
            catch (Exception ex)
            {
                logger.Error(ex.Message.ToString());
            }
            try
            {
                var suburbs = db.Suburbs.ToList();
                Suburbs = new ObservableCollection<Suburb>(suburbs);
            }
            catch (Exception ex)
            {
                logger.Error(ex.Message.ToString());
            }
            try
            {
                var employees = db.Employees.ToList();
                Employees = new ObservableCollection<Employee>(employees);
            }
            catch (Exception ex)
            {
                logger.Error(ex.Message.ToString());
            }

            _newRetailer = new Retailer();
            _searchResults = new ObservableCollection<Retailer>();

            DeleteRetailerCommand = new RelayCommand<Retailer>(onDeleteRetailer);
            UpdateRetailerCommand = new RelayCommand<Retailer>(onUpdateRetailer);
            AddRetailerCommand = new RelayCommand<Retailer>(onAddRetailer);
            FindRetailersCommand = new RelayCommand<string>(onFindRetailers);
        }
        public void onDeleteRetailer(Retailer ret)
        {
            if (ret != null)
            {
                MessageBoxResult messageBoxResult = System.Windows.MessageBox.Show("Are you sure you wish to delete this retailer?", "Confirm Delete", System.Windows.MessageBoxButton.YesNo);

                if (messageBoxResult == MessageBoxResult.Yes)
                {
                    int retailerid = ret.retailerID;
                    Retailer retToRemove = (Retailer)Retailers.Single(r => r.retailerID == retailerid);

                    db.Retailers.Remove(retToRemove);
                    db.SaveChanges();
                    Retailers = UpdateRetailersCollection(Retailers);
                }
            }
        }
        public void onUpdateRetailer(Retailer ret)
        {
            var retailer = ret;

            if (retailer != null)
            {
                db.Entry(retailer).State = EntityState.Modified;
                db.SaveChanges();
                Retailers = UpdateRetailersCollection(Retailers);

                MessageBoxResult msgBox = MessageBox.Show("Changes Saved", "Success");

            }
        }
        public void onAddRetailer(Retailer ret)
        {
            var newRetailer = ret;

            if (newRetailer != null)
            {
                db.Retailers.Add(newRetailer);
                db.SaveChanges();
                Retailers = UpdateRetailersCollection(Retailers);
                MessageBoxResult msgBox = MessageBox.Show("Retailer Added", "Success");
            }
        }