/// <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;
        }
Beispiel #6
0
        /// <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;
        }
Beispiel #8
0
        /// <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;


        }
Beispiel #15
0
 /// <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);
            }
        }
Beispiel #21
0
 /// <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)
 {
 }