private void ExecuteSaveNewDocument(PatientDocumentDto patientDocumentDto)
        {
            if (patientDocumentDto.Key == 0)
            {
                var requestDispatcher = _asyncRequestDispatcherFactory.CreateAsyncRequestDispatcher();

                if (patientDocumentDto is MailAttachmentPatientDocumentDto)
                {
                    requestDispatcher.Add(
                        new SaveDtoRequest <MailAttachmentPatientDocumentDto> {
                        DataTransferObject = patientDocumentDto as MailAttachmentPatientDocumentDto
                    });
                    IsLoading = true;
                    requestDispatcher.ProcessRequests(HandleSaveMailAttachmentPatientDocumentCompleted, HandleSavePatientDocumentException);
                }
                else
                {
                    requestDispatcher.Add(new SaveDtoRequest <PatientDocumentDto> {
                        DataTransferObject = patientDocumentDto
                    });
                    IsLoading = true;
                    requestDispatcher.ProcessRequests(HandleSavePatientDocumentCompleted, HandleSavePatientDocumentException);
                }
            }
        }
        private bool CanExecuteDeleteDocumentCommand(PatientDocumentDto arg)
        {
            bool result = arg != null &&
                          !(arg.C32ImportedIndicator.HasValue && arg.C32ImportedIndicator.Value) &&
                          _patientDocumentDtos.All(p => p.Key > 0);

            return(result);
        }
Esempio n. 3
0
        private void SavePatientDocumentAsync(PatientDocumentDto dto)
        {
            var requestDispatcher = _asyncRequestDispatcherFactory.CreateAsyncRequestDispatcher();

            requestDispatcher.Add(new SaveDtoRequest <PatientDocumentDto> {
                DataTransferObject = dto
            });
            requestDispatcher.ProcessRequests(HandleSavePatientDocumentCompleted, HandleSavePatientDocumenException);
            IsLoading = true;
        }
Esempio n. 4
0
        /// <summary>
        /// Navigates to default command.
        /// </summary>
        /// <param name="parameters">The parameters.</param>
        protected override void NavigateToDefaultCommand(KeyValuePair <string, string>[] parameters)
        {
            PatientDocumentDto            = new PatientDocumentDto();
            PatientDocumentDto.PatientKey = parameters.GetValue <long> ("PatientKey");

            var requestDispatcher = _asyncRequestDispatcherFactory.CreateAsyncRequestDispatcher();

            requestDispatcher.AddLookupValuesRequest("PatientDocumentType");
            requestDispatcher.ProcessRequests(HandleGetPatientDocumentTypeCompleted, HandleGetPatientDocumentTypeException);
        }
        private bool CanExecuteImportC32DocumnetCommand(PatientDocumentDto arg)
        {
            bool result = arg != null
                          &&
                          (arg.PatientDocumentType.WellKnownName == PatientDocumentType.C32 ||
                           arg.PatientDocumentType.WellKnownName == PatientDocumentType.XDM) &&
                          !(arg.C32ImportedIndicator.HasValue && arg.C32ImportedIndicator.Value) &&
                          _patientDocumentDtos.All(p => p.Key > 0);

            return(result);
        }
        private void ExecuteOpenDocumentCommand(PatientDocumentDto patientDocumentDto)
        {
            var relativePath = string.Format(
                "../{0}?{1}={2}&{3}={4}",
                HttpHandlerPaths.PatientModuleHttpHandlerPath,
                HttpUtility.UrlEncode(HttpHandlerQueryStrings.RequestName),
                HttpUtility.UrlEncode(HttpHandlerRequestNames.DownloadPatientDocument),
                HttpUtility.UrlEncode(HttpHandlerQueryStrings.PatientDocumentKey),
                patientDocumentDto.Key);
            var uri = new Uri(Application.Current.Host.Source, relativePath);

            HtmlPage.Window.Navigate(uri, "_blank");
        }
 private void ExecuteDeleteDocumentCommand(PatientDocumentDto patientDocumentDto)
 {
     ActAfterCheckIfHavingUnsavedNewDocument(
         () =>
     {
         var requestDispatcher = _asyncRequestDispatcherFactory.CreateAsyncRequestDispatcher();
         IsLoading             = true;
         requestDispatcher.Add(new DeletePatientDocumentRequest {
             PatientDocumentKey = patientDocumentDto.Key
         });
         requestDispatcher.ProcessRequests(HandleDeletePatientDocumentCompleted, HandleDeletePatientDocumentException);
     }
         );
 }
 private void ExecuteImportC32DocumentCommand(PatientDocumentDto patientDocumentDto)
 {
     ActAfterCheckIfHavingUnsavedNewDocument(
         () => _popupService.ShowPopup(
             "ImportC32View",
             "Default",
             "Import C32 Document",
             new[]
     {
         new KeyValuePair <string, string> ("PatientDocumentKey", patientDocumentDto.Key.ToString(CultureInfo.InvariantCulture)),
         new KeyValuePair <string, string> ("PatientKey", patientDocumentDto.PatientKey.ToString(CultureInfo.InvariantCulture))
     },
             true,
             () => ExecuteGoToDashboard(patientDocumentDto.PatientKey)));
 }
        private void ExecuteUpdateDocument(PatientDocumentDto patientDocumentDto)
        {
            ActAfterCheckIfHavingUnsavedNewDocument(
                () =>
            {
                if (patientDocumentDto.Key > 0)
                {
                    var requestDispatcher = _asyncRequestDispatcherFactory.CreateAsyncRequestDispatcher();

                    requestDispatcher.Add(new SaveDtoRequest <PatientDocumentDto> {
                        DataTransferObject = patientDocumentDto
                    });
                    IsLoading = true;
                    requestDispatcher.ProcessRequests(HandleSavePatientDocumentCompleted, HandleSavePatientDocumentException);
                }
            }
                );
        }
        private void HandleErrors(PatientDocumentDto patientDocumentDto)
        {
            if (patientDocumentDto.HasErrors)
            {
                var errors = patientDocumentDto.GetErrors(null);

                var errorMessageSb = new StringBuilder();

                foreach (DataErrorInfo dataErrorInfo in errors)
                {
                    errorMessageSb.AppendLine(dataErrorInfo.ToString());
                }

                errors = patientDocumentDto.GetErrors("ClinicalStartDate");

                foreach (DataErrorInfo dataErrorInfo in errors)
                {
                    errorMessageSb.AppendLine(dataErrorInfo.ToString());
                }

                errors = patientDocumentDto.GetErrors("DocumentProviderName");

                foreach (DataErrorInfo dataErrorInfo in errors)
                {
                    errorMessageSb.AppendLine(dataErrorInfo.ToString());
                }

                errors = patientDocumentDto.GetErrors("OtherDocumentTypeName");

                foreach (DataErrorInfo dataErrorInfo in errors)
                {
                    errorMessageSb.AppendLine(dataErrorInfo.ToString());
                }

                var errorMessage = errorMessageSb.ToString();

                if (!string.IsNullOrEmpty(errorMessage))
                {
                    _userDialogService.ShowDialog(errorMessage, "Save Patient Document", UserDialogServiceOptions.Ok);
                }
            }
        }
 private void ExecuteCancelNewDocument(PatientDocumentDto patientDocumentDto)
 {
     PatientDocumentDtos.Remove(patientDocumentDto);
 }
        private void ExecuteOpenEncryptedDocumentCommand(PatientDocumentDto patientDocumentDto)
        {
            var u = new Uri(Application.Current.Host.Source, "../DownloadEncryptedDocument.ashx?DocumentKey=" + patientDocumentDto.Key);

            HtmlPage.Window.Navigate(u, "_blank");
        }