74 lines
1.9 KiB
C#
74 lines
1.9 KiB
C#
using DM_Weight.Models;
|
|
using DM_Weight.msg;
|
|
using Prism.Commands;
|
|
using Prism.Mvvm;
|
|
using Prism.Services.Dialogs;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
|
|
namespace DM_Weight.ViewModels
|
|
{
|
|
internal class DatetimeDialogViewModel : BindableBase, IDialogAware
|
|
{
|
|
public string Title => throw new NotImplementedException();
|
|
|
|
public event Action<IDialogResult> RequestClose;
|
|
|
|
private DateTime? _date = new DateTime();
|
|
public DateTime? Date
|
|
{
|
|
get => _date;
|
|
set
|
|
{
|
|
SetProperty(ref _date, value);
|
|
}
|
|
}
|
|
private DateTime? _time = new DateTime();
|
|
public DateTime? Time
|
|
{
|
|
get => _time;
|
|
set
|
|
{
|
|
SetProperty(ref _time, value);
|
|
}
|
|
}
|
|
|
|
public bool CanCloseDialog()
|
|
{
|
|
return true;
|
|
}
|
|
|
|
public void OnDialogClosed()
|
|
{
|
|
|
|
}
|
|
string typeS;
|
|
public void OnDialogOpened(IDialogParameters parameters)
|
|
{
|
|
DateTime o = parameters.GetValue<DateTime>("DateTime");
|
|
|
|
typeS = parameters.GetValue<string>("Type");
|
|
Date = o;
|
|
Time = o;
|
|
}
|
|
|
|
public DelegateCommand CloseAction
|
|
{
|
|
get => new DelegateCommand(() =>
|
|
{
|
|
var datetime=new DateTime(Date?.Year ?? DateTime.Now.Year, Date?.Month ?? DateTime.Now.Month, Date?.Day ?? DateTime.Now.Day,
|
|
Time?.Hour ?? DateTime.Now.Hour, Time?.Minute ?? DateTime.Now.Minute, Time?.Second ?? DateTime.Now.Second);
|
|
var result = new DialogResult(ButtonResult.OK, new DialogParameters
|
|
{
|
|
{ "DateTime", datetime },
|
|
{"Type",typeS }
|
|
});
|
|
RequestClose?.Invoke(result);
|
|
});
|
|
}
|
|
}
|
|
}
|