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);
 | 
						|
            });
 | 
						|
        }
 | 
						|
    }
 | 
						|
}
 |