コード例 #1
0
 public PatientNewViewModel(PatientNewDto patient,
                            IValidator <PatientNewDto> patientValidator,
                            DialogRepository dialogRepository)
     : base(patient, patientValidator, dialogRepository)
 {
     Address = new AddressViewModel(patient.Address);
 }
コード例 #2
0
        public void ProcessContent(IContentPersister persister)
        {
            using (var db = new GameDatabaseContext())
            {
                var repo = new DialogRepository(db);
                var dialogs = repo.GetAll();

                foreach (var dialog in dialogs)
                {

                    // Save out properties we want to a new object and then persist
                    var dialogTemplate = JsonConvert.DeserializeObject<DialogNode>(dialog.JsonPayload, jsonSerializerSettings);

                    dynamic persistable = new ExpandoObject();

                    Console.WriteLine("Processing dialog with ID {0}", dialog.Id);

                    // TODO: Scrub conditions here so users cannot access them, as this would reveal information we do not desire

                    persistable = dialogTemplate;

                    persister.Persist(persistable, "\\dialogs\\{0}.json".FormatWith(dialog.Id));

                }

            }
        }
コード例 #3
0
        public ActionResult Index(int id)
        {
            DialogRepository dialogRepository = new DialogRepository();

            if (id == CurrentAccountID)
            {
                List <InterlocutorModel> interlocutorsList = dialogRepository.GetInterlocutors(CurrentAccountID);
                if (interlocutorsList.Count == 0)
                {
                    return(RedirectToAction("Index", "Friend", CurrentAccountID));
                }
                else
                {
                    _convModel.InterlocutorID = interlocutorsList.First().accountID;
                }
            }
            else
            {
                _convModel.InterlocutorID = id;
            }

            _convModel.CurrentUserID = CurrentAccountID;

            _convModel.InterlocutorUsername = dialogRepository.GetInterlocutorNameByID(_convModel.InterlocutorID);
            _convModel.Dialogs       = dialogRepository.GetMessagesForDialog(_convModel.CurrentUserID, _convModel.InterlocutorID);
            _convModel.Interlocutors = dialogRepository.GetInterlocutors(_convModel.CurrentUserID);

            return(View("Index", _convModel));
        }
コード例 #4
0
        protected override void OnStartup(StartupEventArgs e)
        {
            base.OnStartup(e);

            try {
                var(importService, reportService) = WorkSpeedBusinessContextCreator.Create();
                reportService.ReloadAllCollections();

                Window mainWindow       = new MainWindow();
                var    dialogRepository = new DialogRepository(mainWindow);
                dialogRepository.Register <ErrorViewModel, ErrorWindow>();
                var mvm = new MainViewModel(importService, reportService, dialogRepository);
                mainWindow.DataContext = mvm;

                mainWindow.Show();
            }
            catch
#if RELEASE
            (Exception ex)
#endif
            {
#if DEBUG
                throw;
#endif

#if RELEASE
                string message = $"{ex.Message}\n{ex.InnerException}\n{ex.StackTrace}";
                File.AppendAllText("log.log", message);
#endif
            }
        }
コード例 #5
0
        public ActionResult DeleteMessageConfirmed(int id)
        {
            DialogRepository _dialogRepository = new DialogRepository();

            _dialogRepository.RemoveMessageByID(id);
            return(RedirectToAction("Dialogs"));
        }
コード例 #6
0
        public void Start()
        {
            var dialogRepository = new DialogRepository();
            var pieceRepository  = new PieceRepository();

            dialogRepository.WelcomeDialog();
            Console.ReadLine();
            Process(pieceRepository.StandardValues());
        }
コード例 #7
0
 public DialogListViewModel(VkApi vkApi, DialogRepository dialogRepository)
 {
     _vkApi              = vkApi;
     _dialogRepository   = dialogRepository;
     Title               = "Мои сообщения";
     CountDialog         = 0;
     OpenMessagesCommand = new RelayCommand(OpenMessages);
     LoadCommand         = new RelayCommand(LoadDialogs);
     LoadDialogs();
 }
コード例 #8
0
        protected PatientViewModelBase(TDto patient,
                                       IValidator <TDto> patientValidator,
                                       DialogRepository dialogRepository)
        {
            Patient           = patient;
            _patientValidator = patientValidator;
            _dialogRepository = dialogRepository;

            DateOfBirth = new DateViewModel(patient.DateOfBirth);
            ((INotifyPropertyChanged)DateOfBirth).PropertyChanged += (s, e) => Patient.DateOfBirth = DateOfBirth.Date;
        }
コード例 #9
0
        private static DialogRepository RegisterDialogs(Window wnd)
        {
            DialogRepository dialogRepository = new DialogRepository(wnd);

            dialogRepository.Register <PatientUpdateViewModel, PatientDialogWindow>();
            dialogRepository.Register <PatientNewViewModel, PatientDialogWindow>();
            dialogRepository.Register <AppointmentViewModel, AppointmentDialogWindow>();
            dialogRepository.Register <PatientListViewModel, PatientListDialogWindow>();
            dialogRepository.Register <ErrorViewModel, ErrorDialogWindow>();
            return(dialogRepository);
        }
コード例 #10
0
 public AppointmentCrudViewModel(IRepository repository,
                                 DialogRepository dialogRepository,
                                 ILogger <AppointmentCrudViewModel> logger,
                                 IMapper mapper,
                                 IValidator <AppointmentViewDto> appointmentViewDtoValidator,
                                 IValidator <AppointmentNewDto> appointmentNewDtoValidator
                                 )
     : base(repository, dialogRepository, logger, mapper)
 {
     AppointmentViewDtoValidator = appointmentViewDtoValidator;
     AppointmentNewDtoValidator  = appointmentNewDtoValidator;
 }
コード例 #11
0
 public PatientCrudViewModel(IRepository repository,
                             DialogRepository dialogRepository,
                             ILogger <PatientCrudViewModel> logger,
                             IMapper mapper,
                             IValidator <PatientNewDto> patientPatientNewDtoValidator,
                             IValidator <PatientUpdateDto> patientPatientUpdateDtoValidator
                             )
     : base(repository, dialogRepository, logger, mapper)
 {
     PatientUpdateDtoValidator = patientPatientUpdateDtoValidator;
     PatientNewDtoValidator    = patientPatientNewDtoValidator;
 }
コード例 #12
0
        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);
        }
コード例 #13
0
        protected override (bool, PatientNewDto) CreateNewDto()
        {
            var newPatient = new PatientNewDto {
                Address = new AddressNewDto()
            };

            var vm     = new PatientNewViewModel(newPatient, PatientNewDtoValidator, DialogRepository);
            var dialog = DialogRepository.GetView(vm);

            if (dialog?.ShowDialog() == true)
            {
                return(true, vm.Patient);
            }

            return(false, vm.Patient);
        }
コード例 #14
0
        protected CrudViewModel(IRepository repository,
                                DialogRepository dialogRepository,
                                ILogger logger,

                                IMapper mapper)
        {
            Repository       = repository;
            DialogRepository = dialogRepository;
            Mapper           = mapper;
            Logger           = logger;



            _vmCollection = new ObservableCollection <TViewModel>();
            VmCollection  = new ReadOnlyObservableCollection <TViewModel>(_vmCollection);
        }
コード例 #15
0
        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);
        }
コード例 #16
0
        private void OpenDialogs()
        {
            if (_dialogList == null)
            {
                _eventService = new EventsService(_vkApi);
                _eventService.LongPool();
                _dialogRepository = new DialogRepository(_vkApi, _eventService);

                _dialogList = new DialogListViewModel(_vkApi, _dialogRepository);
            }
            if (_viewModels.Contains(_dialogList))
            {
                ActiveViewModel = _dialogList;
            }
            else
            {
                _viewModels.Add(_dialogList);
                ActiveViewModel = _viewModels.Last();
            }
        }
コード例 #17
0
        public ActionResult SendMessage(MessageModel model)
        {
            if (ModelState.IsValid)
            {
                DialogRepository dialogRepository = new DialogRepository();

                dialogRepository.SendMessage(new DialogModel
                {
                    SenderID    = _convModel.CurrentUserID,
                    RecepientID = _convModel.InterlocutorID,
                    DateTime    = DateTime.Now,
                    Subject     = model.Subject,
                    MessageText = model.MessageText
                });
            }
            else
            {
                ModelState.AddModelError("", "Message was not sent.");
            }

            return(RedirectToAction("Index", _convModel.InterlocutorID));
        }
コード例 #18
0
        public MainViewModel(IRepository repository,
                             DialogRepository dialogRepository,
                             ILogger <MainViewModel> logger,
                             IValidator <PatientUpdateDto> patientUpdateDtoValidator,
                             IValidator <PatientNewDto> patientNewDtoValidator,
                             IValidator <AppointmentUpdateDto> appointmentValidator,
                             IMapper mapper)
        {
            _repository           = repository;
            _dialogRepository     = dialogRepository;
            _appointmentValidator = appointmentValidator;
            _mapper = mapper;
            _logger = logger;

            _patientUpdateDtoValidator = patientUpdateDtoValidator;
            _patientNewDtoValidator    = patientNewDtoValidator;

            _patientVmCollection = new ObservableCollection <PatientRowViewModel>();
            PatientVmCollection  = new ReadOnlyObservableCollection <PatientRowViewModel>(_patientVmCollection);

            _appointmentVmCollection = new ObservableCollection <AppointmentRowViewModel>();
            AppointmentVmCollection  = new ReadOnlyObservableCollection <AppointmentRowViewModel>(_appointmentVmCollection);
        }
コード例 #19
0
        public ViewResult DeleteMessage(int id)
        {
            DialogRepository _dialogRepository = new DialogRepository();

            return(View(_dialogRepository.GetMessageByID(id)));
        }
コード例 #20
0
        protected override void Save()
        {
            var ContentTemplate = this.ContentTemplate as DialogTemplate;

            // Update the payload
            try
            {
                ContentTemplate.JsonPayload = ToJson();
            }

            catch (Exception exception)
            {
                MessageBox.Show("There was a problem saving the dialog. It was not saved. Aborting...");
                Close();
            }

            using (var db = new GameDatabaseContext())
            {

                var repository = new DialogRepository(db);
                repository.Update(ContentTemplate, ContentTemplate.Id);
            }

            base.Save();
        }
コード例 #21
0
        public ViewResult Dialogs()
        {
            DialogRepository _dialogRepository = new DialogRepository();

            return(View(_dialogRepository.GetAllMessages()));
        }
コード例 #22
0
        public void Process(GameModel model)
        {
            bool hasImpossibilities = true;
            var  dialogRepository   = new DialogRepository();
            var  pieceRepository    = new PieceRepository();

            int[,] matrix = new int[model.Lines, model.Columns];
            var loops = 0;

            impossibleList = new List <int>();
            addedPieces    = new List <PieceModel>();

            if (pieceRepository.BasicValidator(model))
            {
                dialogRepository.SizeErrorMessage();
                Console.ReadLine();
                Start();
            }
            dialogRepository.PiecesInformation(model);

            foreach (var piece in model.Pieces)
            {
                if (piece.Quantity > 0)
                {
                    for (int x = 0; x < piece.Quantity; x++)
                    {
                        addedPieces.Add(piece);
                    }
                }
            }
            while (hasImpossibilities)
            {
                foreach (var piece in addedPieces)
                {
                    pieceRepository.AddPiece(matrix, model.Lines, model.Columns, piece);
                }
                if (impossibleList.Count <= 0)
                {
                    hasImpossibilities = false;
                }
                if (hasImpossibilities)
                {
                    matrix = new int[model.Lines, model.Columns];
                    impossibleList.Clear();
                }
                if (loops >= 1000)
                {
                    dialogRepository.TooManyTriesMessage();
                    var answer = Console.ReadLine();
                    if (answer.ToLower() == "reiniciar")
                    {
                        loops = 0;
                        Console.Clear();
                        Start();
                    }
                }
                loops++;
            }

            dialogRepository.Result(matrix, model.Lines, model.Columns);
            var afirmations = pieceRepository.Challange(matrix, model.Lines, model.Columns);

            foreach (var a in afirmations)
            {
                Console.WriteLine(a);
            }
            dialogRepository.SucessMessage();
            Console.ReadLine();
            Console.Clear();
            Start();
        }
コード例 #23
0
 public PatientListViewModel(IRepository repository, DialogRepository dialogRepository)
 {
     _repository       = repository;
     _dialogRepository = dialogRepository;
     _patients         = new PatientRowViewModel[0];
 }