private async void buttonLoadReport_Click(object sender, RoutedEventArgs e)
        {
            viewerCotnrol.ShowProgressBar(StiLocalization.Get("DesignerFx", "LoadingReport"));

            if (listBoxReports.SelectedIndex != -1)
            {
                string fileName = null;
                switch (listBoxReports.SelectedIndex)
                {
                case 0:
                    fileName = "StimulsoftResources\\Sample\\SimpleList.mrt";
                    break;

                case 1:
                    fileName = "StimulsoftResources\\Sample\\MultiColumnList.mrt";
                    break;

                case 2:
                    fileName = "StimulsoftResources\\Sample\\MasterDetail.mrt";
                    break;

                case 3:
                    fileName = "StimulsoftResources\\Sample\\TwoMastersOnOneDetail.mrt";
                    break;
                }

                if (fileName != null)
                {
                    StorageFile storage = await Windows.ApplicationModel.Package.Current.InstalledLocation.GetFileAsync(fileName);

                    var report = new StiReport();
                    await report.LoadAsync(storage);

                    report.RegBusinessObject("Data", "Data", new Data());
                    await report.RenderAsync();

                    viewerCotnrol.Report = report;
                }
            }
            else
            {
                await StiMessageBox.ShowAsync("Report is not selected!", "Error", StiMessageBoxButton.Ok);
            }

            viewerCotnrol.HideProgressBar();
        }
Exemplo n.º 2
0
        async private void buttonAddReport_Click(object sender, Windows.UI.Xaml.RoutedEventArgs e)
        {
            var openPicker = new FileOpenPicker();

            openPicker.FileTypeFilter.Add(".mdc");
            openPicker.SuggestedStartLocation = PickerLocationId.ComputerFolder;

            StorageFile storageFile = await openPicker.PickSingleFileAsync();

            if (storageFile != null)
            {
                bool isFind = false;
                foreach (string fName in listFiles)
                {
                    if (fName == storageFile.DisplayName)
                    {
                        isFind = true;
                        break;
                    }
                }

                if (isFind)
                {
                    await StiMessageBox.ShowAsync("The report of the same name already exists.", "ReportManager", StiMessageBoxButton.Ok);
                }
                else
                {
                    StorageFolder folder = await ApplicationData.Current.TemporaryFolder.CreateFolderAsync("Reports", CreationCollisionOption.OpenIfExists);

                    await storageFile.CopyAsync(folder);

                    listFiles.Add(storageFile.DisplayName);
                    listBox.Items.Add(storageFile.DisplayName);

                    await WriteListFilesAsync();
                }
            }
        }
        private async void ButtonSaveClick(object sender, RoutedEventArgs e)
        {
            #region Check

            string categoryStr;
            if (radioNewCategory.IsChecked == true)
            {
                textBoxCategory.Text = CheckName(textBoxCategory.Text);
                if (textBoxCategory.Text.Length == 0)
                {
                    textBoxCategory.Focus(FocusState.Pointer);
                    return;
                }

                categoryStr = textBoxCategory.Text;
            }
            else
            {
                categoryStr = (string)comboBoxCategory.SelectedItem;
            }

            textBoxReportName.Text = CheckName(textBoxReportName.Text);
            if (textBoxReportName.Text.Length == 0)
            {
                textBoxReportName.Focus(FocusState.Pointer);
                return;
            }

            if (CheckReportName(textBoxCategory.Text, textBoxReportName.Text))
            {
                var message = string.Format(StiLocalization.Get("NavigatorRT", "FailedAddReport"), textBoxCategory.Text);
                await StiMessageBox.ShowAsync(message, StiLocalization.Get("PropertyMain", "ReportName"), StiMessageBoxButton.Ok);

                textBoxReportName.Focus(FocusState.Pointer);
                return;
            }

            textBoxDataName.Text = CheckName(textBoxDataName.Text);
            if (radioNewReport.IsChecked == true && textBoxDataName.Text.Length == 0)
            {
                textBoxDataName.Focus(FocusState.Pointer);
                return;
            }

            #endregion

            ShowProgress();
            StiReport reportTemp = null;
            if (radioCurrentReport.IsChecked == true)
            {
                reportTemp = currentReport;
            }
            else if (radioNewDocument.IsChecked == true)
            {
                reportTemp = newReport;
            }
            else if (radioNewReport.IsChecked == true)
            {
                if (dataSet != null)
                {
                    newReport.RegBusinessObject(textBoxDataName.Text, dataSet);
                }

                var error = false;
                try
                {
                    await newReport.RenderAsync();
                }
                catch
                {
                    error = true;
                }

                if (error)
                {
                    await StiMessageBox.ShowAsync(StiLocalization.Get("NavigatorRT", "RenderingError"),
                                                  StiLocalization.Get("NavigatorRT", "Error"), StiMessageBoxButton.Ok);

                    HideProgress();
                    return;
                }

                reportTemp = newReport;
            }

            await StiCustomReportsHelper.AddCustomReportAsync(groups, reportTemp, categoryStr, textBoxCategoryDescriptino.Text, textBoxReportName.Text, textBoxReportDescription.Text);

            HideProgress();

            BackButtonClick(null, null);
        }