public void SelectDisplayField(IDisplayFieldViewModel fieldViewModel)
        {
            var path = fieldViewModel.FullSystemPath;

            if (ContainsSelectedField(path))
            {
                return;
            }

            var maxOrder = 0.0;

            if (this.ViewConfigurator.ExistingRecordFields.Any())
            {
                maxOrder = this.ViewConfigurator.ExistingRecordFields.Max(x => x.Order);
            }

            var newField = new DisplayField(fieldViewModel.FullPath, fieldViewModel.FullSystemPath, maxOrder + 1.0, fieldViewModel.Model.IsBuiltIn);
            this.ViewConfigurator.ExistingRecordFields.Add(newField);

            var vm = new SelectedFieldViewModel();
            vm.Initialize(newField, this);
            this.SelectedDisplayFields.Add(vm);

            this.UpdateCanMoveFields();
        }
 /// <summary>
 /// Initializes the specified model.
 /// </summary>
 /// <param name="model">The model.</param>
 /// <param name="parentViewModel">The parent view model.</param>
 public void Initialize(DisplayField model, IDisplayFieldsContainer parentViewModel)
 {
     Model = model;
     ParentViewModel = parentViewModel;
 }