70 lines
2.2 KiB
C#
70 lines
2.2 KiB
C#
using System;
|
|
using CommunityToolkit.Mvvm.ComponentModel;
|
|
using Wino.Core.Domain.Entities.Calendar;
|
|
using Wino.Core.Domain.Entities.Shared;
|
|
using Wino.Core.Domain.Interfaces;
|
|
|
|
namespace Wino.Calendar.ViewModels.Data;
|
|
|
|
public partial class AccountCalendarViewModel : ObservableObject, IAccountCalendar
|
|
{
|
|
public MailAccount Account { get; }
|
|
public AccountCalendar AccountCalendar { get; }
|
|
|
|
public AccountCalendarViewModel(MailAccount account, AccountCalendar accountCalendar)
|
|
{
|
|
Account = account;
|
|
AccountCalendar = accountCalendar;
|
|
|
|
IsChecked = accountCalendar.IsExtended;
|
|
}
|
|
|
|
[ObservableProperty]
|
|
private bool _isChecked;
|
|
|
|
partial void OnIsCheckedChanged(bool value) => IsExtended = value;
|
|
|
|
public string Name
|
|
{
|
|
get => AccountCalendar.Name;
|
|
set => SetProperty(AccountCalendar.Name, value, AccountCalendar, (u, n) => u.Name = n);
|
|
}
|
|
|
|
public string TextColorHex
|
|
{
|
|
get => AccountCalendar.TextColorHex;
|
|
set => SetProperty(AccountCalendar.TextColorHex, value, AccountCalendar, (u, t) => u.TextColorHex = t);
|
|
}
|
|
|
|
public string BackgroundColorHex
|
|
{
|
|
get => AccountCalendar.BackgroundColorHex;
|
|
set => SetProperty(AccountCalendar.BackgroundColorHex, value, AccountCalendar, (u, b) => u.BackgroundColorHex = b);
|
|
}
|
|
|
|
public bool IsExtended
|
|
{
|
|
get => AccountCalendar.IsExtended;
|
|
set => SetProperty(AccountCalendar.IsExtended, value, AccountCalendar, (u, i) => u.IsExtended = i);
|
|
}
|
|
|
|
public bool IsPrimary
|
|
{
|
|
get => AccountCalendar.IsPrimary;
|
|
set => SetProperty(AccountCalendar.IsPrimary, value, AccountCalendar, (u, i) => u.IsPrimary = i);
|
|
}
|
|
|
|
public Guid AccountId
|
|
{
|
|
get => AccountCalendar.AccountId;
|
|
set => SetProperty(AccountCalendar.AccountId, value, AccountCalendar, (u, a) => u.AccountId = a);
|
|
}
|
|
|
|
public string RemoteCalendarId
|
|
{
|
|
get => AccountCalendar.RemoteCalendarId;
|
|
set => SetProperty(AccountCalendar.RemoteCalendarId, value, AccountCalendar, (u, r) => u.RemoteCalendarId = r);
|
|
}
|
|
public Guid Id { get => ((IAccountCalendar)AccountCalendar).Id; set => ((IAccountCalendar)AccountCalendar).Id = value; }
|
|
}
|