/// <summary> /// операция конвертации структуры курса /// </summary> /// <param name="_cource">курс</param> /// <param name="_params">параметры конвертации</param> public ContentXSLTConvertor(XElement _cource, XSLTConvertParams _params) { if (_cource == null) throw new ArgumentNullException("Нет курса для конвертации структуры"); course = _cource; convParams = _params; }
/// <summary> /// операция конвертации структуры курса /// </summary> /// <param name="_cource">курс</param> /// <param name="_params">параметры конвертации</param> public ScormXSLTConvertor(XElement _cource, XSLTConvertParams _params) { if (_cource == null) throw new ArgumentNullException("Нет курса для конвертации scorrm манифеста"); course = _cource; convParams = _params; }
/// <summary> /// базовый класс преобразования курса /// с помощью xslt /// </summary> /// <param name="_curse">курс для преобразования</param> /// <param name="_params">параметры преобразования</param> public XSLTConvertorBase(CourseForXSLT _course, XSLTConvertParams _params) { if (_course == null || _params == null) throw new ArgumentNullException(); course = _course; convParams = _params; convertOperations = new List<IOperationModel>(); }
/// <summary> /// операция конвертации структуры курса /// </summary> /// <param name="_cource">курс</param> /// <param name="_params">параметры конвертации</param> public ScormXSLTConvertor(XElement _cource, XSLTConvertParams _params) { if (_cource == null) { throw new ArgumentNullException("Нет курса для конвертации scorrm манифеста"); } course = _cource; convParams = _params; }
/// <summary> /// операция конвертации структуры курса /// </summary> /// <param name="_cource">курс</param> /// <param name="_params">параметры конвертации</param> public ContentXSLTConvertor(XElement _cource, XSLTConvertParams _params) { if (_cource == null) { throw new ArgumentNullException("Нет курса для конвертации структуры"); } course = _cource; convParams = _params; }
/// <summary> /// базовый класс преобразования курса /// с помощью xslt /// </summary> /// <param name="_curse">курс для преобразования</param> /// <param name="_params">параметры преобразования</param> public XSLTConvertorBase(CourseForXSLT _course, XSLTConvertParams _params) { if (_course == null || _params == null) { throw new ArgumentNullException(); } course = _course; convParams = _params; convertOperations = new List <IOperationModel>(); }
/// <summary> /// создать конвертор /// </summary> /// <param name="_params">параметры конвертации</param> /// <param name="_course">курс для конвертации</param> /// <returns>конвертор</returns> public static IOperationModel Create(CourseForXSLT _course, XSLTConvertParams _params) { if (_params == null || _course==null) throw new ArgumentNullException("Create(CourseForXSLT _course, XSLTConvertParams _params)"); IOperationModel conv; bool isHtml5 = _params.ConvertVideoToHTML5; if (isHtml5) conv = new XSLTConvertorHTML5(_course, _params); else conv = new XSLTConvertor(_course, _params); return conv; }
/// <summary> /// конвертировать курс /// </summary> public void Convert(IConvertParam _param) { if (_param == null) { throw new ArgumentNullException("Не переданы параметры конвертации"); } if (IsConvert == false) { throw new Exception("Не выбран элемент для конвертации"); } convParams = (XSLTConvertParams)_param; if (convParams == null) { throw new Exception("Неидентифицированные пареметры конвертации: " + _param.GetType()); } convParams.SetFlashParam(flashParam); if (!convParams.IsParamsValid) { throw new Exception("Ошибка параметров конвертации. " + convParams.ErrorMessage + "\n Исправьте ошибку и перезапустите программу."); } IOperationModel conv = ConvertorFactory.Create(this, convParams); conv.StepChange += conv_StepChange; try { conv.Prepare(); conv.Do(); conv.PostStep(); } catch (Exception ex) { if (conv.Undo()) { throw new Exception(ex.Message); } else { throw new Exception("Произошла ошибка при конвертации: " + ex.Message + ". Действия конвертации не могут быть отменены: " + conv.LastError); } } }
/// <summary> /// создать конвертор /// </summary> /// <param name="_params">параметры конвертации</param> /// <param name="_course">курс для конвертации</param> /// <returns>конвертор</returns> public static IOperationModel Create(CourseForXSLT _course, XSLTConvertParams _params) { if (_params == null || _course == null) { throw new ArgumentNullException("Create(CourseForXSLT _course, XSLTConvertParams _params)"); } IOperationModel conv; bool isHtml5 = _params.ConvertVideoToHTML5; if (isHtml5) { conv = new XSLTConvertorHTML5(_course, _params); } else { conv = new XSLTConvertor(_course, _params); } return(conv); }
/// <summary> /// операция конвертации тестов курса /// </summary> /// <param name="_themes">список тестов</param> /// <param name="_params">параметры конвертации</param> public TestXSLTConvertor(IEnumerable <XElement> _tests, XSLTConvertParams _params, IItemsAdapter _itemsAdapter) { tests = _tests; convParams = _params; itemsAdapter = _itemsAdapter; }
/// <summary> /// класс преобразования курса /// с помощью xslt /// </summary> /// <param name="_curse">курс для преобразования</param> /// <param name="_params">параметры преобразования</param> public XSLTConvertor(CourseForXSLT _course, XSLTConvertParams _params) : base(_course,_params) { }
/// <summary> /// операция конвертации структуры курса /// </summary> /// <param name="_cource">курс</param> public ThemeplateXSLTConvertor(XSLTConvertParams _params) { convParams = _params; }
/// <summary> /// операция конвертации структуры курса /// </summary> /// <param name="_cource">курс</param> public ThemeplateXSLTConvertor( XSLTConvertParams _params) { convParams = _params; }
/// <summary> /// представление параметров /// конвертации курса /// </summary> /// <param name="_params">параметры конвертации</param> /// <exception cref="ArgumentNullException"></exception> public XSLTParamsView(XSLTConvertParams _params) { if (_params == null) throw new ArgumentNullException(); convertParams = _params; outputPath = _params.OutputAbsPath; }
/// <summary> /// класс преобразования курса /// с помощью xslt /// </summary> /// <param name="_curse">курс для преобразования</param> /// <param name="_params">параметры преобразования</param> public XSLTConvertorHTML5(CourseForXSLT _course, XSLTConvertParams _params) : base(_course, _params) { }
/// <summary> /// операция конвертации тем курса /// </summary> /// <param name="_themes">список тем</param> /// <param name="_params">параметры конвертации</param> public ThemeXSLTConvertor(IEnumerable<XElement> _themes,XSLTConvertParams _params,IItemsAdapter _itemsAdapter) { themes = _themes; convParams = _params; itemsAdapter = _itemsAdapter; }
/// <summary> /// операция конвертации тем курса /// </summary> /// <param name="_themes">список тем</param> /// <param name="_params">параметры конвертации</param> public ThemeXSLTHTML5(IEnumerable <XElement> _themes, XSLTConvertParams _params, IItemsAdapter _itemsAdapter) : base(_themes, _params, _itemsAdapter) { }
/// <summary> /// установить курс /// </summary> /// <param name="_course">курс</param> /// <param name="_absPathToParamsFolder">путь до папки с параметрами</param> /// <exception cref="ArgumentNullException"></exception> public void SetCourse(ICourseModel _course, string _absPathToParamsFolder) { if (_course == null || string.IsNullOrEmpty(_absPathToParamsFolder) ) throw new ArgumentNullException(); pnlConvParam.IsEnabled = true; //XSLTParamFromXML xmlPrm = new XSLTParamFromXML(_absPathToParamsFolder); XSLTConvertParams prm = new XSLTConvertParams(); XSLTParamsView prmv = new XSLTParamsView(prm); CourseViewModel ivm = new CourseViewModel(_course); XSLTConvertView cv = new XSLTConvertView(ivm, prmv); this.DataContext = ivm; tree.ItemsSource = ivm.Children; convBtn.Command = cv.СonvertCommand; Binding bi0 = new Binding(); bi0.Source = prmv; bi0.Path = new PropertyPath("TemplateFilePath"); bi0.Mode = BindingMode.TwoWay; bi0.UpdateSourceTrigger = UpdateSourceTrigger.PropertyChanged; tbParam.SetBinding(TextBox.TextProperty, bi0); Binding bi1 = new Binding(); bi1.Source = prmv; bi1.Path = new PropertyPath("OutputAbsPath"); bi1.Mode = BindingMode.TwoWay; bi1.UpdateSourceTrigger = UpdateSourceTrigger.PropertyChanged; bi1.ValidationRules.Add(new FolderTryValidation()); tbPath.SetBinding(TextBox.TextProperty, bi1); Binding bi2 = new Binding(); bi2.Source = prmv; bi2.Path = new PropertyPath("IsToScorm"); bi2.Mode = BindingMode.TwoWay; bi2.UpdateSourceTrigger = UpdateSourceTrigger.PropertyChanged; IsScorm.SetBinding(CheckBox.IsCheckedProperty, bi2); // Binding bi = new Binding(); // bi.Source = _course.Items; // bi.Path = new PropertyPath("Sections"); // bi.Mode = BindingMode.TwoWay; // bi.UpdateSourceTrigger = UpdateSourceTrigger.PropertyChanged; //tvCourse.SetBinding(TreeView.ItemsSourceProperty, bi); base.CommandBindings.Add( new CommandBinding( ApplicationCommands.Undo, (sender, e) => // Execute { e.Handled = true; ivm.IsChecked = false; this.tree.Focus(); }, (sender, e) => // CanExecute { e.Handled = true; e.CanExecute = (ivm.IsChecked != false); })); base.CommandBindings.Add( new CommandBinding( ApplicationCommands.Redo, (sender, e) => // Execute { e.Handled = true; ivm.IsChecked = true; this.tree.Focus(); }, (sender, e) => // CanExecute { e.Handled = true; e.CanExecute = (ivm.IsChecked != true); })); this.tree.Focus(); }
/// <summary> /// операция конвертации тестов курса /// </summary> /// <param name="_themes">список тестов</param> /// <param name="_params">параметры конвертации</param> public TestXSLTConvertor(IEnumerable<XElement> _tests, XSLTConvertParams _params, IItemsAdapter _itemsAdapter) { tests = _tests; convParams = _params; itemsAdapter = _itemsAdapter; }
/// <summary> /// конвертировать курс /// </summary> public void Convert(IConvertParam _param) { if (_param == null) throw new ArgumentNullException("Не переданы параметры конвертации"); if (IsConvert == false) throw new Exception("Не выбран элемент для конвертации"); convParams = (XSLTConvertParams)_param; if (convParams == null) throw new Exception("Неидентифицированные пареметры конвертации: " + _param.GetType()); convParams.SetFlashParam(flashParam); if (!convParams.IsParamsValid) throw new Exception("Ошибка параметров конвертации. " + convParams.ErrorMessage+"\n Исправьте ошибку и перезапустите программу."); IOperationModel conv =ConvertorFactory.Create(this, convParams); conv.StepChange += conv_StepChange; try { conv.Prepare(); conv.Do(); conv.PostStep(); } catch(Exception ex) { if (conv.Undo()) throw new Exception(ex.Message); else throw new Exception("Произошла ошибка при конвертации: " + ex.Message + ". Действия конвертации не могут быть отменены: " + conv.LastError); } }
/// <summary> /// операция конвертации тем курса /// </summary> /// <param name="_themes">список тем</param> /// <param name="_params">параметры конвертации</param> public ThemeXSLTConvertor(IEnumerable <XElement> _themes, XSLTConvertParams _params, IItemsAdapter _itemsAdapter) { themes = _themes; convParams = _params; itemsAdapter = _itemsAdapter; }
/// <summary> /// операция конвертации тем курса /// </summary> /// <param name="_themes">список тем</param> /// <param name="_params">параметры конвертации</param> public ThemeXSLTHTML5(IEnumerable<XElement> _themes, XSLTConvertParams _params, IItemsAdapter _itemsAdapter) : base(_themes,_params,_itemsAdapter) { }