Пример #1
0
        public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
        {
            SummarizeDoc summarizeDoc = value as SummarizeDoc;
            double       size         = Math.Round(double.Parse(summarizeDoc.FILESIZE) / 1024.0, 1);

            return(size);
        }
        /// <summary>
        /// datagrid数据选择按钮
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void chkCell_Click(object sender, RoutedEventArgs e)
        {
            CheckBox box       = sender as CheckBox;
            bool?    isChecked = box.IsChecked;

            if (!isChecked.HasValue)
            {
                return;
            }
            // SummarizeDoc freq = box.DataContext as SummarizeDoc;
            currentsummarize = box.DataContext as SummarizeDoc;
            bool checkedState = isChecked.Value;

            currentsummarize.IsChecked = isChecked.Value;
            if (currentsummarize.IsChecked == true)
            {
                summarizeList.Add(currentsummarize);
            }
            else
            {
                summarizeList.Remove(currentsummarize);
            }

            #region 判断全选和保存状态
            int ischeckCount = (dgList.ItemsSource as List <SummarizeDoc>).Count(p => p.IsChecked == true);
            if (ischeckCount == 1 || ischeckCount == 0)
            {
                if (ischeckCount == 1)
                {
                    SummarizeDocSelected = (dgList.ItemsSource as List <SummarizeDoc>).Where(p => p.IsChecked == true).FirstOrDefault();
                    //RuleName.Text = SummarizeDocSelected.SUMMARIZENAME;
                    //Sender.Text = SummarizeDocSelected.SENDPERSON;
                    //dpSendDate.SelectedDate = Convert.ToDateTime(SummarizeDocSelected.SENDDATE);
                    //tbSynopsis.Text = SummarizeDocSelected.SUMMARY;
                }
                //btnSave.IsEnabled = true;
                isAddOrUpdate = 1;//可以进行修改操作
            }
            else
            {
                //RuleName.Text = "";
                //Sender.Text = "";
                //dpSendDate.SelectedDate = Convert.ToDateTime(DateTime.Now);
                //tbSynopsis.Text = "";
                //btnSave.IsEnabled = false;
                isAddOrUpdate = 0;
            }
            foreach (SummarizeDoc result in dgList.ItemsSource)
            {
                if (result.IsChecked != checkedState)
                {
                    this.chkAll.IsChecked = null;
                    return;
                }
            }
            chkAll.IsChecked = checkedState;
            #endregion
        }
 /// <summary>
 /// 下载功能
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void DownBtn_Click(object sender, RoutedEventArgs e)
 {
     try
     {
         SummarizeDoc summarize = (sender as System.Windows.Documents.Hyperlink).Tag as SummarizeDoc;
         if (summarize == null)
         {
             return;
         }
         string         docstr         = summarize.FILEFORM.Substring(summarize.FILEFORM.LastIndexOf('.'));
         string         serviceDocPath = ByteConvertDocService(summarize.FILEPATH, summarize.FILEFORM);
         WebClient      webClient      = new WebClient();
         SaveFileDialog dlg            = new SaveFileDialog();
         dlg.FileName = "活动文件下载";
         //dlg.Reset();
         if (docstr == ".doc" || docstr == ".docx")
         {
             dlg.Filter += "Word 文件|*.doc;*.docx";
         }
         else if (docstr == ".xls" || docstr == ".xlsx")
         {
             dlg.Filter += "Excel 文件|*.xls;*.xlsx";
         }
         // dlg.Filter = "Office Files|*.doc;*.docx;*.xls;*.xlsx";
         if (dlg.ShowDialog() == true)
         {
             try
             {
                 webClient.DownloadFile(serviceDocPath, dlg.FileName);
                 MessageBox.Show("文件下载成功!");
             }
             catch (Exception)
             {
                 throw;
             }
         }
     }
     catch (Exception ex)
     {
         //MessageBox.Show(ex.GetExceptionMessage());
     }
 }
        private void dgList_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            #region 加载基本信息
            if (SummarizeDocSelected == null)
            {
                return;//防止单击空白或标题等触发该事件
            }
            currentsummarize = dgList.SelectedItem as SummarizeDoc;
            isAddOrUpdate    = 1;//可以进行修改操作
            //if (currentsummarize.IsChecked == true)
            //{
            //    currentsummarize.IsChecked = false;
            //    summarizeList.Remove(currentsummarize);
            //}
            //else
            //{
            //    currentsummarize.IsChecked = true;
            //    summarizeList.Add(currentsummarize);
            //}
            bool checkedState = currentsummarize.IsChecked;

            #endregion

            #region //预览文件
            //
            string isxpsPath = GetPath() + currentsummarize.FILEFORM.Substring(0, currentsummarize.FILEFORM.LastIndexOf(".")).ToString() + ".xps";
            if (System.IO.File.Exists(isxpsPath))
            {
                //已经存xps文件,直接加载
                using (XpsDocument xpsDoc = new XpsDocument(isxpsPath, FileAccess.Read))
                {
                    var fsxps = xpsDoc.GetFixedDocumentSequence();
                    xpsDocViewr.Document = fsxps;
                }
            }
            else
            {
                //创建xps文件,启动进程耗时
                string serviceDocPathXPS = ByteConvertDocService(currentsummarize.FILEPATH, currentsummarize.FILEFORM);
                string xpsFilePath       = serviceDocPathXPS.Substring(0, serviceDocPathXPS.LastIndexOf(".")).ToString() + ".xps";

                try
                {
                    if (OfficeConverter.IsValidOfficeFile(serviceDocPathXPS))
                    {
                        OfficeConverter.ConvertToXps(serviceDocPathXPS, xpsFilePath);
                        using (XpsDocument xpsDoc = new XpsDocument(xpsFilePath, FileAccess.Read))
                        {
                            var fsxps = xpsDoc.GetFixedDocumentSequence();
                            xpsDocViewr.Document = fsxps;
                        }
                    }
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.GetExceptionMessage());
                }

                //var convertResults = OfficeToXps.ConvertToXps(serviceDocPathXPS, ref xpsFilePath);
                //switch (convertResults.Result)
                //{
                //    case ConversionResult.OK:
                //        try
                //        {
                //            using (XpsDocument xpsDoc = new XpsDocument(xpsFilePath, FileAccess.Read))
                //            {
                //                var fsxps = xpsDoc.GetFixedDocumentSequence();
                //                xpsDocViewr.Document = fsxps;
                //            }
                //        }
                //        catch (Exception ex)
                //        {

                //        }
                //        break;
                //    case ConversionResult.InvalidFilePath:
                //        // 处理文件路径错误或文件不存在
                //        break;
                //    case ConversionResult.UnexpectedError:

                //        break;
                //    case ConversionResult.ErrorUnableToInitializeOfficeApp:
                //        // Office 未安装会出现这个异常
                //        break;
                //    case ConversionResult.ErrorUnableToOpenOfficeFile:
                //        // 文件被占用会出现这个异常
                //        break;
                //    case ConversionResult.ErrorUnableToAccessOfficeInterop:
                //        // Office 未安装会出现这个异常
                //        break;
                //    case ConversionResult.ErrorUnableToExportToXps:
                //        // 微软 OFFICE Save As PDF 或 XPS  插件未安装异常
                //        break;
                //}
            }
            #endregion

            #region 判断全选和保存状态
            int ischeckCount = (dgList.ItemsSource as List <SummarizeDoc>).Count(p => p.IsChecked == true);
            if (ischeckCount == 1 || ischeckCount == 0)
            {
                //if (ischeckCount == 1)
                //{
                //    //SummarizeDocSelected = (dgList.ItemsSource as List<SummarizeDoc>).Where(p => p.IsChecked == true).FirstOrDefault();

                //    //RuleName.Text = SummarizeDocSelected.SUMMARIZENAME;
                //    //Sender.Text = SummarizeDocSelected.SENDPERSON;
                //    //dpSendDate.SelectedDate = Convert.ToDateTime(SummarizeDocSelected.SENDDATE);
                //    //tbSynopsis.Text = SummarizeDocSelected.SUMMARY;
                //}
                //btnSave.IsEnabled = true;
                isAddOrUpdate = 1;//可以进行修改操作
            }
            else
            {
                //RuleName.Text = "";
                //Sender.Text = "";
                //dpSendDate.SelectedDate = Convert.ToDateTime(DateTime.Now);
                //tbSynopsis.Text = "";
                //btnSave.IsEnabled = false;
                isAddOrUpdate = 0;
            }
            foreach (SummarizeDoc result in dgList.ItemsSource)
            {
                if (result.IsChecked != checkedState)
                {
                    this.chkAll.IsChecked = null;
                    return;
                }
            }
            chkAll.IsChecked = checkedState;
            #endregion
        }