public TitleManageViewModel()
        {
            Dictionary <string, TitleAdornmentLayer> layerDictionary = GetTitleAdornmentLayers();

            if (layerDictionary.Count > 0)
            {
                titles = new ObservableCollection <TitleViewModel>();
                foreach (var layerPair in layerDictionary)
                {
                    TitleViewModel entity = new TitleViewModel()
                    {
                        ID = layerPair.Key
                    };
                    entity.Load(layerPair.Value);
                    entity.PropertyChanged += (sender, e) => { ChangePreview(); };
                    titles.Add(entity);
                }
            }
            else
            {
                TitleViewModel entity = new TitleViewModel();
                entity.PropertyChanged += (sender, e) => { ChangePreview(); };
                titles = new ObservableCollection <TitleViewModel> {
                    entity
                };
            }
            SelectedTitle = Titles.FirstOrDefault();
        }
예제 #2
0
 public RepresenteeUCViewModel()
 {
     CheckRoles();
     LoadTitles();
     if (Titles != null)
     {
         SelectedTitle = Titles.FirstOrDefault();
     }
 }
예제 #3
0
 public Title FindBestTitle()
 {
     foreach (TitleType type in Priority)
     {
         Title title = Titles.FirstOrDefault(x => x?.Metadata.Type == type);
         if (title != null)
         {
             return(title);
         }
     }
     return(Titles.First());
 }
예제 #4
0
        public void ExcuteTitleListViewCommand()
        {
            var listWindow = new Categories(NameTypes.Title);

            listWindow.ShowDialog();
            if (listWindow.DialogResult != null && (bool)listWindow.DialogResult)
            {
                LoadTitles();
                SelectedTitle = Titles.FirstOrDefault(c => c.DisplayName == listWindow.TxtCategoryName.Text);
                if (SelectedTitle != null)
                {
                    SelectedContact.TitleId = SelectedTitle.Id;
                }
            }
        }
예제 #5
0
        public List <Title> OrderTitlesByBest()
        {
            List <Title> list = new List <Title>();

            foreach (TitleType type in Priority) // first find the types that need to be in a specifc order
            {
                Title title = Titles.FirstOrDefault(x => x?.Metadata.Type == type);
                if (title != null)
                {
                    list.Add(title);
                }
            }
            IEnumerable <Title> unorganized = Titles.Except(list); // then add the types that don't need to be organized afterwards

            list.AddRange(unorganized);
            return(list);
        }
예제 #6
0
        private void ExcuteAddNewTitleCommand()
        {
            var category = new Categories(NameTypes.TitleType);

            category.ShowDialog();
            var dialogueResult = category.DialogResult;

            if (dialogueResult != null && (bool)dialogueResult)
            {
                LoadTitles();//should also get the latest updates in each row
                SelectedTitle = Titles.FirstOrDefault(c => c.DisplayName == category.TxtCategoryName.Text);
                if (SelectedTitle != null)
                {
                    SelectedRepresentee.TitleId = SelectedTitle.Id;
                }
            }
        }
예제 #7
0
        public CnmtContainerViewModel(CnmtContainer cnmtContainer, int containerNumber, IServiceProvider serviceProvider)
        {
            _containerNumber = containerNumber;
            _cnmtContainer   = cnmtContainer ?? throw new ArgumentNullException(nameof(cnmtContainer));
            ServiceProvider  = serviceProvider ?? throw new ArgumentNullException(nameof(serviceProvider));

            SaveSelectedImageCommand = serviceProvider.GetRequiredService <ISaveTitleImageCommand>();
            CopySelectedImageCommand = serviceProvider.GetRequiredService <ICopyImageCommand>();

            var nacpContainer = _cnmtContainer.NacpContainer;

            if (nacpContainer != null)
            {
                var titleInfoViewModels = nacpContainer.Titles.Select(titleInfo => new TitleInfoViewModel(titleInfo, serviceProvider));

                foreach (var titleInfoViewModel in titleInfoViewModels)
                {
                    Titles.Add(titleInfoViewModel);
                }
            }

            SelectedTitle = Titles?.FirstOrDefault();
        }
예제 #8
0
 public string GetPrimaryTitle()
 => Titles.FirstOrDefault(x => x.IsPrimary)?.Title ?? Titles.FirstOrDefault()?.Title ?? string.Empty;
예제 #9
0
 public override string ToString()
 {
     return(Titles.FirstOrDefault() ?? base.ToString());
 }