コード例 #1
0
 /// <summary>
 /// Initializes a new instance of the <see cref="TagEditViewModel"/> class.
 /// </summary>
 /// <param name="dialogService">Dialog service dependency.</param>
 /// <param name="tagService">Tag service dependency.</param>
 /// <param name="tag">Tag to edit. Null means new tag creation.</param>
 public TagEditViewModel(DialogService dialogService, CRUDService <Tag> tagService, TagEdit?tag = null)
     : base(dialogService)
 {
     Tag = tag ?? new TagEdit();
     Tag.PropertyChanged += Tag_PropertyChanged;
     AllTags              = tagService.GetAll();
     AddIconCommand       = new AsyncDelegateCommand(AddIconAsync);
 }
コード例 #2
0
    /// <summary>
    /// Initializes a new instance of the <see cref="RecipeIngredientEditViewModel"/> class.
    /// </summary>
    /// <param name="dialogService">Dialog service dependency.</param>
    /// <param name="ingredientService">Ingredient service dependency.</param>
    /// <param name="measureUnitService">Provider for a list of measurement units.</param>
    /// <param name="ingredient">Ingredient to edit.</param>
    public RecipeIngredientEditViewModel(DialogService dialogService,
                                         CRUDService <Ingredient> ingredientService,
                                         CRUDService <MeasureUnit> measureUnitService,
                                         RecipeIngredientEdit ingredient)
        : base(dialogService)
    {
        this.dialogService     = dialogService;
        this.ingredientService = ingredientService;

        Ingredient       = ingredient;
        MeasurementUnits = measureUnitService.GetAll();

        AddMultipleCommand      = new DelegateCommand(AddMultiple, canExecute: CanOk);
        RemoveIngredientCommand = new DelegateCommand <RecipeIngredientEdit>(RemoveIngredient);
        CreateIngredientCommand = new AsyncDelegateCommand(CreateIngredientAsync);

        AllIngredients = ingredientService.GetProjected <IngredientEdit>();
    }
コード例 #3
0
    /// <summary>
    /// Initializes a new instance of the <see cref="MainWindowViewModel"/> class.
    /// </summary>
    /// <param name="localization">Localization provider dependency.</param>
    /// <param name="tagService">Tag service dependency. Used for menu items generation.</param>
    public MainWindowViewModel(ILocalization localization, CRUDService <Tag> tagService)
    {
        MenuItems = new HamburgerMenuItemCollection()
        {
            new HamburgerMenuIconItem()
            {
                Label = localization["MainPage"],
                Icon  = new PackIconModern()
                {
                    Kind = PackIconModernKind.Page
                },
                ToolTip = localization["MainPage"],
                Tag     = nameof(WeekView)
            },
            new HamburgerMenuIconItem()
            {
                Label = localization["Recepies"],
                Icon  = new PackIconModern()
                {
                    Kind = PackIconModernKind.Food
                },
                ToolTip = localization["Recepies"],
                Tag     = nameof(RecipeListView)
            },
            new HamburgerMenuIconItem()
            {
                Label = localization["Ingredients"],
                Icon  = new PackIconModern()
                {
                    Kind = PackIconModernKind.PuzzleRound
                },
                ToolTip = localization["Ingredients"],
                Tag     = nameof(IngredientListView)
            },
            new HamburgerMenuIconItem()
            {
                Label = localization["Tags"],
                Icon  = new PackIconModern()
                {
                    Kind = PackIconModernKind.Tag
                },
                ToolTip = localization["Tags"],
                Tag     = nameof(TagListView)
            },
        };

        IEnumerable <TagHamburgerMenuItem> namesForMenuItems = tagService.GetAll(x => x.IsInMenu)
                                                               .Select(x => new TagHamburgerMenuItem()
        {
            Label   = x.Name,
            ToolTip = x.Name,
            Icon    = x.MenuIcon != null ? new PackIconModern()
            {
                Kind = (PackIconModernKind)Enum.Parse(typeof(PackIconModernKind), x.MenuIcon)
            } : null,
            Tag = nameof(RecipeListView)
        });

        foreach (HamburgerMenuItem menuItem in namesForMenuItems.OfType <HamburgerMenuItem>())
        {
            MenuItems.Insert(2, menuItem);
        }

        SelectedMenuItem = MenuItems[0] as HamburgerMenuIconItem;

        OptionsMenuItems = new HamburgerMenuItemCollection()
        {
            new HamburgerMenuIconItem()
            {
                Label = localization["Settings"],
                Icon  = new PackIconModern()
                {
                    Kind = PackIconModernKind.Settings
                },
                ToolTip = localization["Settings"],
                Tag     = nameof(SettingsView)
            }
        };
    }