Compare commits

...

1 Commits

@ -58,7 +58,8 @@ public static class MauiProgram
.AddSingleton<FavorisVM>()
.AddSingleton<ContactsVM>()
.AddSingleton<PopupISBNVM>()
.AddSingleton<ScanVM>();
.AddSingleton<ScanVM>()
.AddSingleton<StarNotationVM>();
#if DEBUG
builder.Logging.AddDebug();

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

@ -1,4 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" width="108" height="110">
<path d="M54,5 86,105 1,43H107L22,105" fill="#808080"/>
</svg>

Before

Width:  |  Height:  |  Size: 167 B

@ -1,24 +1,67 @@
<?xml version="1.0" encoding="utf-8" ?>
<ContentView xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:toolkit="http://schemas.microsoft.com/dotnet/2022/maui/toolkit"
x:Class="LivreLand.View.ContentViews.StarNotationView">
<HorizontalStackLayout Spacing="2">
<Grid ColumnSpacing="2">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="auto"/>
<ColumnDefinition Width="auto"/>
<ColumnDefinition Width="auto"/>
<ColumnDefinition Width="auto"/>
<ColumnDefinition Width="auto"/>
</Grid.ColumnDefinitions>
<Image Source="star.png"
HeightRequest="20"
WidthRequest="20"
Grid.Column="0"/>
<Image Source="star_fill.png"
HeightRequest="20"
WidthRequest="20"/>
WidthRequest="20"
Grid.Column="0"
IsVisible="{Binding StarNotationVM.Star1IsVisible}"/>
<Image Source="star.png"
HeightRequest="20"
WidthRequest="20"
Grid.Column="1"/>
<Image Source="star_fill.png"
HeightRequest="20"
WidthRequest="20"/>
WidthRequest="20"
Grid.Column="1"
IsVisible="{Binding StarNotationVM.Star2IsVisible}"/>
<Image Source="star.png"
HeightRequest="20"
WidthRequest="20"
Grid.Column="2"/>
<Image Source="star_fill.png"
HeightRequest="20"
WidthRequest="20"/>
WidthRequest="20"
Grid.Column="2"
IsVisible="{Binding StarNotationVM.Star3IsVisible}"/>
<Image Source="star.png"
HeightRequest="20"
WidthRequest="20"
Grid.Column="3"/>
<Image Source="star_fill.png"
HeightRequest="20"
WidthRequest="20"/>
WidthRequest="20"
Grid.Column="3"
IsVisible="{Binding StarNotationVM.Star4IsVisible}"/>
<Image Source="star_fill.png"
HeightRequest="20"
WidthRequest="20"/>
</HorizontalStackLayout>
WidthRequest="20"
Grid.Column="4"
IsVisible="{Binding StarNotationVM.Star5IsVisible}"/>
<Image Source="star.png"
HeightRequest="20"
WidthRequest="20"
Grid.Column="4"/>
</Grid>
</ContentView>

@ -1,9 +1,30 @@
using LivreLand.ViewModel;
namespace LivreLand.View.ContentViews;
public partial class StarNotationView : ContentView
{
#region Properties
public static readonly BindableProperty StarNotationProperty = BindableProperty.Create(nameof(StarNotation), typeof(StarNotationVM), typeof(StarNotationView), Application.Current.Handler.MauiContext.Services.GetService<StarNotationVM>());
public StarNotationVM StarNotation
{
get { return (StarNotationVM)GetValue(StarNotationProperty); }
set { SetValue(StarNotationProperty, value); }
}
public StarNotationVM StarNotationVM { get; private set; }
#endregion
#region Constructor
public StarNotationView()
{
StarNotationVM = StarNotation;
InitializeComponent();
}
#endregion
}

@ -8,6 +8,7 @@
xmlns:model="clr-namespace:Model;assembly=Model"
x:Class="LivreLand.View.DetailsLivreView"
Title="DetailsLivreView">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="auto"/>

@ -0,0 +1,61 @@
using Model;
using PersonalMVVMToolkit;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Input;
using ViewModels;
namespace LivreLand.ViewModel
{
public class StarNotationVM : BaseViewModel
{
#region Properties
public bool Star1IsVisible { get; private set; }
public bool Star2IsVisible { get; private set; }
public bool Star3IsVisible { get; private set; }
public bool Star4IsVisible { get; private set; }
public bool Star5IsVisible { get; private set; }
public ManagerVM Manager { get; private set; }
public ICommand StarRatingConverterCommand { get; private set; }
#endregion
#region Constructor
public StarNotationVM(ManagerVM managerVM)
{
Manager = managerVM;
StarRatingConverterCommand = new RelayCommand(() => StarRatingConverter());
}
#endregion
#region Methods
private void StarRatingConverter()
{
var bookRating = Manager.SelectedBook.UserRating;
for (int i = 1; i <= 5; i++)
{
if (bookRating >= i)
{
var starProperty = typeof(StarNotationVM).GetProperty($"Star{i}IsVisible");
starProperty?.SetValue(this, true);
}
}
}
#endregion
}
}

@ -41,6 +41,18 @@ namespace LivreLand.ViewModel
{
var result = new DetailsLivreVM(Manager, Navigator, bookVM);
App.Current.MainPage.Navigation.PushAsync(new DetailsLivreView(result));
var bookRating = bookVM.UserRating;
StarNotationVM starNotationVM = new StarNotationVM(this.Manager);
for (int i = 1; i <= 5; i++)
{
if (bookRating >= i)
{
var starProperty = typeof(StarNotationVM).GetProperty($"Star{i}IsVisible");
starProperty?.SetValue(starNotationVM, true);
}
}
}
}

Loading…
Cancel
Save