/// <summary>
 /// To load the data when Reports from left navigation pane is clicked
 /// </summary>
 /// <param name="arg">The argument.</param>
 private void ReportsClickExecute(object arg)
 {
     using (ApplicationCursor.SetCursor(Cursors.Wait)) {
         // Load the Projects view
         _regionManager.RequestNavigate(RegionNames.MainContent, new Uri(ViewNames.MainReportView, UriKind.Relative));
     }
 }
 //todo: Import view must be satified before getting the control
 //TESTING IF WebsiteCollectionView LoADING CORRECTLY.
 //[Import(ViewNames.WebsiteCollectionView)] private UserControl TestWebsiteCollectionViewImports;
 /// <summary>
 /// To load the data when  Website from left navigation pane can is clicked
 /// </summary>
 /// <param name="arg">The argument.</param>
 private void WebsitesClickExecute(object arg)
 {
     using (ApplicationCursor.SetCursor(Cursors.Wait)) {
         //if (TestWebsiteCollectionViewImports == null) throw new NullReferenceException("LeftNavigationViewModel.cs method: WebsitesClickExecute(object arg) has import error. WebsiteCollectionView are not loading correctly");
         // Load the Projects view
         _regionManager.RequestNavigate(RegionNames.MainContent, new Uri(ViewNames.WebsiteCollectionView, UriKind.Relative));
     }
 }
예제 #3
0
        private void OnPopulationExport()
        {
            var fileName = string.Format("{0}_RegionsPopulation_{1:yyyyMMdd}.csv"
                                         , string.Join("_", ConfigurationService.HospitalRegion.DefaultStates.OfType <string>().ToList())
                                         , DateTime.Now);

            var exportPath = MonahrqContext.FileExportsDirPath;

            if (Directory.Exists(exportPath))
            {
                Directory.CreateDirectory(exportPath);
            }

            //Open File Dialog so that user can point to the Export folder and file..
            var dlg = new SaveFileDialog
            {
                CheckFileExists  = false,
                Filter           = @"CSV Files (*.csv)|*.csv|All Files (*.*)|*.*",
                FilterIndex      = 1,
                RestoreDirectory = true,
                AddExtension     = true,
                FileName         = fileName,
                InitialDirectory = MonahrqContext.FileExportsDirPath
            };

            //if (!Directory.Exists(dlg.InitialDirectory)) Directory.CreateDirectory(dlg.InitialDirectory);

            //..but quit Export if user changes its mind by pressing Cancel button
            if (dlg.ShowDialog() != true)
            {
                return;
            }

            //Manufacture a filename if none is informed
            if (string.IsNullOrEmpty(dlg.FileName))
            {
                dlg.FileName = fileName;
            }

            //Cue Export with a wait cursor (Export may be too fast to be observed)
            using (ApplicationCursor.SetCursor(Cursors.Wait))
            {
                //Export the Hospitals collection in memory
                //var hospitals = CollectionItems.SourceCollection as IList<Hospital>;
                var regionsPopulation = GetRegionsPopulations();
                if (regionsPopulation == null)
                {
                    return;
                }

                CSVGenerator.Create(regionsPopulation, dlg.FileName);

                Notify(string.Format("Regions' Population exported to file {0}", dlg.FileName));
            }
        }
 /// <summary>
 /// Goes to previous hospital.
 /// </summary>
 public void GoToPreviousHospital()
 {
     using (ApplicationCursor.SetCursor(Cursors.Wait))
     {
         var prevHospitalIx = CurrentHospitalIx - 1;
         if (prevHospitalIx < 0)
         {
             return;
         }
         CurrentHospitalId = EditingHospitalIdsList.ElementAt(prevHospitalIx);
         OnHospitalsEditing(EditingHospitalIdsList);
     }
 }
 /// <summary>
 /// Goes to next hospital.
 /// </summary>
 public void GoToNextHospital()
 {
     using (ApplicationCursor.SetCursor(Cursors.Wait))
     {
         var nextHospitalIx = CurrentHospitalIx + 1;
         if (nextHospitalIx >= EditingHospitalIdsList.Count)
         {
             return;
         }
         CurrentHospitalId = EditingHospitalIdsList.ElementAt(nextHospitalIx);
         OnHospitalsEditing(EditingHospitalIdsList);
     }
 }
 /// <summary>
 /// Executes the manage command.
 /// </summary>
 /// <param name="vm">The vm.</param>
 private void ExecuteManageCommand(WebsiteViewModel vm)
 {
     if (vm == null)
     {
         return;
     }
     using (var cursor = ApplicationCursor.SetCursor(Cursors.Wait))
     {
         var q = new UriQuery {
             { "WebsiteId", vm.Website.Id.ToString() }
         };
         RegionManager.RequestNavigate(RegionNames.MainContent, new Uri(ViewNames.WebsiteManageView + q, UriKind.Relative));
     }
 }
예제 #7
0
 /// <summary>
 /// Delegate that reloads (ExecLoad) Paging able collection
 /// </summary>
 public void GetPage()
 {
     using (var cursor = ApplicationCursor.SetCursor(System.Windows.Input.Cursors.Wait))
     {
         using (var session = DataserviceProvider.SessionFactory.OpenSession())
         {
             using (var trans = session.BeginTransaction())
             {
                 ExecLoad(session);
             }
         }
         cursor.Pop();
     }
 }
예제 #8
0
        private void InternalPreviewWebsitePage(WebsitePage previewWebsitePage)
        {
            try
            {
                //	Save data to DB so WebsiteGenerator can pick up changes.
                CommitToCurrentWebsite();
                Save();

                //	Generate CMSZoneEntities.js file; also disable navigation.
                using (ApplicationCursor.SetCursor(Cursors.Wait))
                {
                    EventAggregator.GetEvent <DisableNavigationEvent>()
                    .Publish(new DisableNavigationEvent {
                        DisableUIElements = true
                    });
                    Generator.Publish(CurrentWebsite, PublishTask.BaseCMSZoneOnly);
                    EventAggregator.GetEvent <DisableNavigationEvent>()
                    .Publish(new DisableNavigationEvent {
                        DisableUIElements = false
                    });
                }

                //	Compute url to navigate to.
                var urlAudience = SelectedEditAudienceType == Audience.Consumers ? "consumer" : "professional";
                var urlPage     = previewWebsitePage.Url.StartsWith("/") ? previewWebsitePage.Url.Substring(1) : previewWebsitePage.Url;
                var previewUrl  =                   //"http://www.google.com"
                                  String.Format(
                    "file:///{0}/index.html#/{1}/{2}",
                    CurrentWebsite.OutPutDirectory.Replace("\\", "/").Trim(),
                    urlAudience,
                    urlPage);

                //	Show WebBrowser window and navigate to the correct page.
                WebBrowserProxy.NavigateTo(previewUrl);
                WebsitePagesEditView.HideEditors();
                IsPreviewWebBrowserOpen = true;
                WebBrowserProxy.Refresh();
            }
            catch (System.Runtime.InteropServices.COMException comEx)
            {
            }
            catch (Exception exc)
            {
                Logger.Write(exc);
            }
        }
        /// <summary>
        /// Saves the go to next hospital.
        /// </summary>
        public async void SaveGoToNextHospital()
        {
            using (ApplicationCursor.SetCursor(Cursors.Wait))
            {
                HospitalToSave = CurrentHospitalViewModel;
                var result = await OnSave2(false, true);

                if (result)
                {
                    var nextHospitalIx = CurrentHospitalIx + 1;
                    if (nextHospitalIx >= EditingHospitalIdsList.Count)
                    {
                        return;
                    }
                    CurrentHospitalId = EditingHospitalIdsList.ElementAt(nextHospitalIx);
                    OnHospitalsEditing(EditingHospitalIdsList);
                }
            }
        }
        private void ExecuteExportCommand(WebsiteViewModel vm)
        {
            try
            {
                if (vm == null)
                {
                    return;
                }
                //if (WebsiteDataService == null)
                //Events.GetEvent<ErrorNotificationEvent>().Publish();

                base.Logger.Information($"Exporting configuration for website \"{vm.DisplayName}\"");
                Website websiteToExport = null;
                using (ApplicationCursor.SetCursor(Cursors.Wait))
                {
                    WebsiteDataService.GetEntityById <Website>(vm.Website.Id, (website, exception) =>
                    {
                        if (exception == null)
                        {
                            websiteToExport = website;
                        }
                        else
                        {
                            Events.GetEvent <ErrorNotificationEvent>().Publish(exception);
                        }
                    });

                    if (websiteToExport == null)
                    {
                        return;
                    }

                    WebsiteExporter.Export(websiteToExport);
                }
            }
            catch (Exception exc)
            {
                Events.GetEvent <ErrorNotificationEvent>().Publish(exc);
            }
        }
예제 #11
0
 /// <summary>
 /// Called when [load].
 /// </summary>
 protected virtual void OnLoad()
 {
     using (var busyCursor = ApplicationCursor.SetCursor(System.Windows.Input.Cursors.Wait))
     {
         IsLoading = true;
         if (!IsInitialLoad)
         {
             using (var session = DataserviceProvider.SessionFactory.OpenSession())
             {
                 using (var trans = session.BeginTransaction())
                 {
                     ExecLoad(session);
                     trans.Commit();
                 }
             }
             IsLoaded = true;
         }
         IsInitialLoad = false;
         IsLoading     = false;
         busyCursor.Pop();
     }
 }
        /// <summary>
        /// Called when the implementer has been navigated to.
        /// </summary>
        /// <param name="navigationContext">The navigation context.</param>
        public override void OnNavigatedTo(NavigationContext navigationContext)
        {
            AvailableCounties = null;
            //CurrentHospitalViewModel.AvailableStates = null;
            AvailableStates          = null;
            CurrentHospitalViewModel = null;

            using (ApplicationCursor.SetCursor(Cursors.Wait))
            {
                CurrentHospitalId = (navigationContext.Parameters["HospitalId"] != null && int.Parse(navigationContext.Parameters["HospitalId"]) > 0)
                                            ? int.Parse(navigationContext.Parameters["HospitalId"])
                                            : -1;
                IsEditingHospitalsList = (navigationContext.Parameters["IsHospitalsListEditing"] != null && bool.Parse(navigationContext.Parameters["IsHospitalsListEditing"]));

                var hospIdsList = navigationContext.Parameters["HospitalIds"] != null ? navigationContext.Parameters["HospitalIds"].Split(',').ToList() : new List <string>();

                if (hospIdsList.Any())
                {
                    if (EditingHospitalIdsList == null)
                    {
                        EditingHospitalIdsList = new List <int>();
                    }
                    EditingHospitalIdsList.Clear();

                    hospIdsList.ForEach(id => EditingHospitalIdsList.Add(int.Parse(id)));

                    CurrentHospitalIx = EditingHospitalIdsList.Contains(CurrentHospitalId) ? EditingHospitalIdsList.FindIndex(id => id == CurrentHospitalId) : 0;
                }

                //if (!IsEditingHospitalsList)
                {
                    IsCreatingNewHospital = CurrentHospitalId == -1;
                    LoadModel(CurrentHospitalId);
                    InitializeHospitalModel(ConfigService, CurrentHospitalId);
                }
            }
        }
        /// <summary>
        /// Executes this instance.
        /// </summary>
        public virtual void Execute()
        {
            var dlg = new Microsoft.Win32.OpenFileDialog
            {
                DefaultExt = FileExtension,
                Filter     = "csv files (*.csv)|*.csv|All files (*.*)|*.*"
            };

            if (!dlg.ShowDialog().GetValueOrDefault())
            {
                return;
            }

            if (PromptUserForContinue() == MessageBoxResult.No)
            {
                return;
            }

            if (!ValidateImportFileName(dlg.FileName))
            {
                var message = string.Format("The file \"{0}\" could not be import due to the file name containing special characters (*,&,!,@,#, etc.) and/or dashes ( - ). Please replace any special characters and/or dashes to spaces and/or underscores ( _ ) and try again.", Path.GetFileName(dlg.FileName));
                MessageBox.Show(message, "MONAHRQ Import File Open Error", MessageBoxButton.OK);
                return;
            }

            try
            {
                using (ApplicationCursor.SetCursor(Cursors.Wait))
                {
                    BeginImport();
                    //var lines = File.ReadAllLines(dlg.FileName);
                    //Import3(lines);

                    using (var csvRdr = new Microsoft.VisualBasic.FileIO.TextFieldParser(dlg.FileName))
                    {
                        csvRdr.SetDelimiters(new[] { "," });
                        csvRdr.TrimWhiteSpace            = true;
                        csvRdr.HasFieldsEnclosedInQuotes = true;

                        Import2(csvRdr);
                    }

                    //using (var fs = File.OpenRead(dlg.FileName))
                    //{
                    //    Import(fs);
                    //}
                }
            }
            catch (IOException exc)
            {
                Logger.Write(exc, "Error importing file \"{0}\"",
                             dlg.FileName);

                var message = string.Format("Please close file\"{0}\" before trying to import.",
                                            dlg.FileName.SubStrAfterLast(@"\"));
                MessageBox.Show(message, "MONAHRQ Import File Open Error", MessageBoxButton.OK);
            }
            finally
            {
                EndImport();
            }
        }