123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412 |
- using Common.system;
-
- using System;
- using System.Collections.ObjectModel;
- using System.Threading;
- using System.Windows;
- using System.Windows.Controls;
- using System.Windows.Input;
-
- using XHWK.Model;
- using XHWK.WKTool.DAL;
-
- using static XHWK.WKTool.XHMicroLessonSystemWindow;
-
- namespace XHWK.WKTool
- {
- /// <summary>
- /// UploadWindow.xaml 的交互逻辑
- /// </summary>
- public partial class UploadWindow : Window
- {
- /// <summary>
- /// 调用接口
- /// </summary>
- private readonly Interface @interface = new Interface();
- /// <summary>
- /// 前台数据
- /// </summary>
- internal LoginPageData pageData = new LoginPageData();
- /// <summary>
- /// 文件名
- /// </summary>
- private string Resourcename = string.Empty;
- /// <summary>
- /// 文件大小
- /// </summary>
- private long Resourcesize = 0;
- /// <summary>
- /// 文件类型
- /// </summary>
- private string Suffix = string.Empty;
- /// <summary>
- /// 唯一编号
- /// </summary>
- private string Guid = string.Empty;
- //定义事件
- public event ChangeTextHandlers ChangeTextEvents;
- /// <summary>
- /// 当前视频的下标
- /// </summary>
- private int i = 0;
- private System.Timers.Timer times;
- public UploadWindow()
- {
- InitializeComponent();
- if (APP.SkinStyle == "Blue")
- {
- GridTitle.Visibility = Visibility.Visible;
- GridTitle_Black.Visibility = Visibility.Collapsed;
- }
- else if (APP.SkinStyle == "Black")
- {
- GridTitle.Visibility = Visibility.Collapsed;
- GridTitle_Black.Visibility = Visibility.Visible;
- }
- else
- {
- GridTitle.Visibility = Visibility.Visible;
- GridTitle_Black.Visibility = Visibility.Collapsed;
- }
- }
- /// <summary>
- /// 初始化
- /// </summary>
- public void Initialize(string _resourcename, long _resourcesize, string _suffix, string _guid, int _i)
- {
- i = _i;
- Resourcename = _resourcename;
- Resourcesize = _resourcesize;
- Suffix = _suffix;
- Guid = _guid;
- tip_outer.Visibility = Visibility.Collapsed;
- Tsubjectbook();
- }
- /// <summary>
- /// 教材接口调用
- /// </summary>
- /// <returns></returns>
- private void Tsubjectbook()
- {
- int code = @interface.TsubjectbookList();
- if (code == 0)
- {
- for (int i = 0; i < APP.TsubjectbookList.Count; i++)
- {
- pageData.bookList.Add(new ComboBoxBean()
- {
- Key = APP.TsubjectbookList[i].Lsbid,
- //Value = $"{APP.TsubjectbookList[i].Subjectname} {APP.TsubjectbookList[i].Bookname}"
- Value = $"{APP.TsubjectbookList[i].Subjectname} {APP.TsubjectbookList[i].Versionname} {APP.TsubjectbookList[i].Lsbname}"
- });
- }
- book_list.SelectedIndex = 0;
- DataContext = pageData;
- Director();
- }
- else
- {
- MessageWindow.Show(APP.ServerMsg);
- }
- }
- /// <summary>
- /// 章节接口调用
- /// </summary>
- private void Director()
- {
- int selectIndex = book_list.SelectedIndex;
- if (selectIndex < 0)
- {
- selectIndex = 0;
- }
- int code = @interface.DirectorList(APP.TsubjectbookList[selectIndex].Lsbid, 4, APP.UserInfo.Userid);
- if (code == 0)
- {
- pageData.zhangjieList.Clear();
- pageData.zhangjieList.Add(new ComboBoxBean()
- {
- Key = "0",
- Value = "全部",
- });
- for (int i = 0; i < APP.DirectorList.Count; i++)
- {
- Model_DirectorList item = APP.DirectorList[i];
- pageData.zhangjieList.Add(new ComboBoxBean()
- {
- Key = item.directorid,
- Value = item.directorname
- });
- addChild(item);
- }
- cmbTeachingMaterial.SelectedIndex = 0;
- }
- else
- {
- MessageWindow.Show(APP.ServerMsg);
- }
- }
- /// <summary>
- /// 子章节递归
- /// </summary>
- /// <param name="directorList"></param>
- private void addChild(Model_DirectorList directorList)
- {
- if (directorList.children != null && directorList.children.Count > 0)
- {
- foreach (Model_DirectorList child in directorList.children)
- {
- pageData.zhangjieList.Add(new ComboBoxBean()
- {
- Key = child.directorid,
- Value = getSpace(child.directorlevel) + child.directorname
- });
- if (child.children != null && child.children.Count > 0)
- {
- addChild(child);
- }
- }
- }
- }
- /// <summary>
- /// 章节是否加空格符
- /// </summary>
- /// <param name="num"></param>
- /// <returns></returns>
- private string getSpace(int num)
- {
- string str = "";
- for (int i = 0; i < num; i++)
- {
- str += " ";
- }
- return str;
- }
- private void Window_Loaded(object sender, RoutedEventArgs e)
- {
-
- }
-
- private void Window_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
- {
-
- }
- /// <summary>
- /// 教材下拉框改变事件
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="e"></param>
- private void toolbar_list_SelectionChanged(object sender, SelectionChangedEventArgs e)
- {
- Director();
- }
-
- private void BtnDown_Click(object sender, RoutedEventArgs e)
- {
- APP.IsUpLoad = false;
- Hide();
- }
- /// <summary>
- /// 上传到个人空间
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="e"></param>
- private void BtnStart_Click(object sender, RoutedEventArgs e)
- {
- if (string.IsNullOrWhiteSpace(book_list.Text))
- {
- MessageWindow.Show("请选择教材!");
- }
- btnStart.IsEnabled = false;
- book_list.IsEnabled = false;
- cmbTeachingMaterial.IsEnabled = false;
- Thread myThread = new Thread(StartUpload);
-
- num = 0;
- tip_outer.Visibility = Visibility.Visible;
- myThread.Start();
- times = new System.Timers.Timer(100);
- times.Elapsed += Times_ElapsedClick;
- times.Start();
- }
- private void StartUpload()
- {
- try
- {
- DAL_Upload dAL_Upload = new DAL_Upload();
- if (dAL_Upload.UploadVideoTwo(Guid, out string ErrMessage))
- {
-
-
- // converted: 0
- //createid: 80
- //directorid: 1009
- //duration: 39
- //imgUrl: ""
- //level: 2
- //lsbid: 40
- //mp4code: "h264"
- //resourcebelong: 3
- //resourceclass: 2
- //resourcecover: "12/resource/20200917/4f297df0-f8c0-11ea-adf5-81f24b97d4ff/weather_pic.jpg"
- //resourcename: "weather_pic"
- //resourcesize: 6105268
- //resourcetype: 0
- //resourceurl: "12/resource/20200917/4f297df0-f8c0-11ea-adf5-81f24b97d4ff/weather_pic.mp4"
- //schoolid: 12
- //suffix: "mp4"
- //uid: 80
- Model_ResourceAdd model_ResourceAdd = new Model_ResourceAdd();
- Dispatcher.Invoke(() =>
- {
- model_ResourceAdd = new Model_ResourceAdd
- {
- converted = 0,
- createid = APP.UserInfo.Userid,
- directorid = cmbTeachingMaterial.SelectedValue.ToString(),
- duration = APP.ResourceAddTwo.duration,
- imgUrl = "",
- level = 2,
- lsbid = book_list.SelectedValue.ToString(),
- mp4code = APP.ResourceAddTwo.mp4code,
- resourcebelong = 3,
- resourceclass = 2,
- resourcecover = APP.ResourceAddTwo.coverpath,
- resourcename = Resourcename,
- resourcesize = Resourcesize,
- resourcetype = 0,
- resourceurl = APP.ResourceAddTwo.videopath,
- schoolid = APP.UserInfo.Schoolid
- };
- });
-
- if (Suffix.Equals("FLV"))
- {
- Suffix = "flv";
- }
- else if (Suffix.Equals("AVI"))
- {
- Suffix = "avi";
- }
- else
- {
- Suffix = "mp4";
- }
-
- model_ResourceAdd.suffix = Suffix;
- //model_ResourceAdd.uid = 0;//zxy
- int code = @interface.ResourceAdd(model_ResourceAdd);
- if (code == 0)
- {
- Dispatcher.Invoke(() =>
- {
- foreach (Model_WKData Vdata in APP.WKDataList)
- {
- if (Vdata.VideoList == null)
- {
- continue;
- }
-
- foreach (Model_Video videoinfo in Vdata.VideoList)
- {
- if (videoinfo.FileGuid == Guid)
- {
- videoinfo.IsUpload = true;
- break;
- }
- }
- }
-
-
- btnStart.IsEnabled = true;
- book_list.IsEnabled = true;
- cmbTeachingMaterial.IsEnabled = true;
- num = 99;
- times.Stop();
- pgbProcess.Value = 100;
- lbProcess.Content = "100%";
- MessageWindow.Show("视频上传成功!");
- tip_outer.Visibility = Visibility.Collapsed;
- ChangeTextEvents("上传成功", i);
- Hide();
- });
- }
- else
- {
- Dispatcher.Invoke(() =>
- {
- btnStart.IsEnabled = true;
- book_list.IsEnabled = true;
- cmbTeachingMaterial.IsEnabled = true;
- times.Stop();
- tip_outer.Visibility = Visibility.Collapsed;
- MessageWindow.Show(APP.ServerMsg);
- });
- }
- }
- else
- {
- Dispatcher.Invoke(() =>
- {
- btnStart.IsEnabled = true;
- book_list.IsEnabled = true;
- cmbTeachingMaterial.IsEnabled = true;
- times.Stop();
- tip_outer.Visibility = Visibility.Collapsed;
- MessageWindow.Show(ErrMessage);
- });
- }
- }
- catch (Exception ex)
- {
- Dispatcher.Invoke(() =>
- {
- btnStart.IsEnabled = true;
- book_list.IsEnabled = true;
- cmbTeachingMaterial.IsEnabled = true;
- times.Stop();
- tip_outer.Visibility = Visibility.Collapsed;
- MessageWindow.Show("无法上传视频,请检查与服务器链接状态!");
- APP.IsUpLoad = false;
- Hide();
- LogHelper.WriteErrLog("【UploadWindow】(BtnStart_Click)" + ex.Message, ex);
- });
- }
- }
-
- private int num = 0;
- /// <summary>
- /// 计时器
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="e"></param>
- private void Times_ElapsedClick(object sender, System.Timers.ElapsedEventArgs e)
- {
- Dispatcher.Invoke(() =>
- {
- pgbProcess.Value = num;
- lbProcess.Content = num.ToString() + "%";
- if (num < 99)
- {
- num++;
- times.Interval += (num / 2);
- }
- else
- {
- times.Stop();
- }
- });
- }
- }
- public class LoginPageData : NotifyModel
- {
- public ObservableCollection<ComboBoxBean> bookList { get; set; }
-
- public ObservableCollection<ComboBoxBean> zhangjieList { get; set; }
-
- public LoginPageData()
- {
- bookList = new ObservableCollection<ComboBoxBean>();
- zhangjieList = new ObservableCollection<ComboBoxBean>();
- }
- }
- }
|