You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
117 lines
2.7 KiB
117 lines
2.7 KiB
using System;
|
|
using System.Diagnostics;
|
|
using Model;
|
|
using MyToolkitMVVM;
|
|
|
|
namespace ViewModel
|
|
{
|
|
public class BookVM : BaseViewModel<Book>
|
|
{
|
|
public string Title
|
|
{
|
|
get =>Model.Title;
|
|
set =>SetProperty(Model.Title,value,v=>Model.Title=v);
|
|
}
|
|
|
|
public int Nbpages
|
|
{
|
|
get => Model.NbPages;
|
|
set => SetProperty(Model.NbPages, value, v => Model.NbPages = v);
|
|
}
|
|
|
|
public float? UserRating
|
|
{
|
|
get => Model.UserRating;
|
|
set => SetProperty(Model.UserRating, value,v=> Model.UserRating=v);
|
|
}
|
|
|
|
|
|
public DateTime PublishDate
|
|
{
|
|
get => Model.PublishDate;
|
|
set => SetProperty(Model.PublishDate, value, v => Model.PublishDate = v);
|
|
}
|
|
|
|
public string Annee
|
|
{
|
|
get => Model.PublishDate.ToString("yyyy");
|
|
set { }
|
|
}
|
|
|
|
public Languages Language
|
|
{
|
|
get => Model.Language;
|
|
set => SetProperty(Model.Language, value, v => Model.Language = v);
|
|
}
|
|
|
|
public string Id
|
|
{
|
|
get => Model.Id;
|
|
set => SetProperty(Model.Id, value, v => Model.Id = v);
|
|
}
|
|
|
|
public string Image
|
|
{
|
|
get => Model.ImageLarge;
|
|
set { }
|
|
}
|
|
|
|
public string ISBN
|
|
{
|
|
get => Model.ISBN13;
|
|
set => SetProperty(Model.ISBN13, value, v => Model.ISBN13 = v);
|
|
}
|
|
|
|
public Status BookStatus
|
|
{
|
|
get => Model.Status;
|
|
set
|
|
{
|
|
SetProperty(Model.Status, value, v => Model.Status = v);
|
|
}
|
|
}
|
|
|
|
public List<string> BookPublishers
|
|
{
|
|
get => Model.Publishers;
|
|
set
|
|
{
|
|
SetProperty(Model.Publishers, value, v => Model.Publishers = v);
|
|
}
|
|
}
|
|
|
|
public List<Author> BookAuthors
|
|
{
|
|
get => Model.Authors;
|
|
set
|
|
{
|
|
SetProperty(Model.Authors, value, v => Model.Authors = v);
|
|
}
|
|
}
|
|
|
|
public string BookFirstAuthor { get; private set; }
|
|
|
|
public string BookFirstPublisher { get; private set; }
|
|
|
|
public int StarsNumber{ get; private set; }
|
|
|
|
public BookVM(Book book): base(book)
|
|
{
|
|
if (BookAuthors.Count() > 0)
|
|
{
|
|
BookFirstAuthor = BookAuthors.First().Name;
|
|
}
|
|
else BookFirstAuthor = "Unknown";
|
|
|
|
if (BookPublishers.Count() > 0)
|
|
{
|
|
BookFirstPublisher = BookPublishers.First();
|
|
}
|
|
else BookFirstPublisher = "Unknown";
|
|
|
|
StarsNumber = (int)Math.Round(UserRating ?? 0);
|
|
}
|
|
}
|
|
}
|
|
|