public AppointmentViewModel(AppointmentViewDto appointment, IValidator validator, DialogRepository dialogRepository, IRepository repository, IMapper mapper)
        {
            Appointment       = appointment;
            Repository        = repository;
            _validator        = validator;
            _dialogRepository = dialogRepository;
            _mapper           = mapper;
            var year = DateTime.Now.Year;

            Date = new DateViewModel(Appointment.Date.LocalDateTime)
            {
                MinYear = year - 5, MaxYear = year + 1
            };
            ((INotifyPropertyChanged)Date).PropertyChanged += (s, e) => Appointment.Date = new DateTimeOffset(Date.Date);
        }
        protected override (bool, AppointmentNewDto) CreateNewDto()
        {
            var appointmentDto = new AppointmentViewDto()
            {
                Type = AppointmentType.Initial, Date = DateTimeOffset.UtcNow
            };

            var vm     = new AppointmentViewModel(appointmentDto, AppointmentNewDtoValidator, DialogRepository, Repository, Mapper);
            var dialog = DialogRepository.GetView(vm);

            if (dialog?.ShowDialog() == true)
            {
                appointmentDto = vm.Appointment;
                var newDto = Mapper.Map <AppointmentNewDto>(appointmentDto);
                return(true, newDto);
            }

            return(false, appointmentDto);
        }
Exemplo n.º 3
0
 public AppointmentRowViewModel(AppointmentViewDto appointment)
 {
     _appointment = appointment;
 }