/// <summary>
        /// Constructor of the ViewModelMain
        /// </summary>
        public ViewModelMain()
        {
            Service = new WCFDeveloperReference.WCFDeveloperClient();

            //Initialize Developer datagrid
            Developers = new ObservableCollection <Developer>();
            InitializeDeveloper(Service);

            //Initialize programming language datagrid
            AvalaiblebLanguages = new ObservableCollection <ProgrammingLanguage>();
            InitializeProgrammingLanguage(Service);

            //Initialize commands
            LaunchDevelopersCommand = new RelayCommand(LaunchDevelopers);
            AddLanguageCommand      = new RelayCommand(AddLanguageToDev, x => CanExecuteLanguageCommands());
            RemoveLanguageCommand   = new RelayCommand(RemoveLanguageToDev, x => CanExecuteLanguageCommands());
            SaveDeveloperCommand    = new RelayCommand(SaveDevelopers);
        }
 /// <summary>
 /// Initialize the datagrid which contains developers
 /// </summary>
 /// <param name="service"></param>
 private void InitializeDeveloper(WCFDeveloperClient service)
 {
     this.Developers = new ObservableCollection <Developer>(service.GetDevelopers());
 }
 /// <summary>
 /// Initialize the datagrid which contains programming language
 /// </summary>
 /// <param name="service"></param>
 private void InitializeProgrammingLanguage(WCFDeveloperClient service)
 {
     this.AvalaiblebLanguages = new ObservableCollection <ProgrammingLanguage>(service.GetProgrammingLanguages());
 }