public PartialViewResult CopyLanguage(ModelingLanguage language, Guid idLanguage) { try { var languageToCopy = DbFactory.ModelingLanguageRepository.FirstById(idLanguage); var designer = LoginUtils.Designer; language.Inactive = false; language.IsConstant = false; language.Designer = designer; language.RegisterDate = DateTime.Now; language.Version = languageToCopy.Version; language.Description += "\n [Copied from: " + languageToCopy.Name + "]"; language = DbFactory.ModelingLanguageRepository.Save(language); var tempElements = new List <ModelingLanguageElement>(); foreach (var elementToCopy in languageToCopy.Elements.OrderBy(o => o.ParentElement != null)) { ModelingLanguageElement parentElement = null; if (elementToCopy.ParentElement != null) { parentElement = tempElements.FirstOrDefault(f => f.Metamodel == elementToCopy.ParentElement.Metamodel); } var element = new ModelingLanguageElement() { Name = elementToCopy.Name, Description = elementToCopy.Description, Metamodel = elementToCopy.Metamodel, Language = language, ParentElement = parentElement }; element = DbFactory.ModelingLanguageElementRepository.Save(element); tempElements.Add(element); } var languages = DbFactory.ModelingLanguageRepository.FindAllLanguagesByDesigner(designer, false); return(PartialView("_TblLanguages", languages)); } catch (Exception ex) { return(PartialView("Error", new HandleErrorInfo(ex, "Configuration", "SaveLanguage"))); } }
public PartialViewResult SaveLanguage(ModelingLanguage language) { try { var designer = LoginUtils.Designer; language.Inactive = false; language.IsConstant = false; language.Designer = designer; language.RegisterDate = DateTime.Now; DbFactory.ModelingLanguageRepository.Save(language); var languages = new List <ModelingLanguage> { language }; return(PartialView("_TblLanguages", languages)); } catch (Exception ex) { return(PartialView("Error", new HandleErrorInfo(ex, "Configuration", "SaveLanguage"))); } }
public Compiler(ModelingLanguage ModelingLanguage, Project project, SchematixCore core) { this.project = project; this.core = core; LoadCompiler(ModelingLanguage); }
/// <summary> /// Выполнение инициализации компилятора /// </summary> /// <param name="ModelingLanguage"></param> private void LoadCompiler(ModelingLanguage ModelingLanguage) { switch (ModelingLanguage) { case ModelingLanguage.VHDL_GHDL: compiler = new GHDLCompiler(); break; case ModelingLanguage.VHDL: { Schematix.Core.UserControls.ProgressWindow.Window.RunProcess( new MyBackgroundWorker( new Action(() => { try { // Start process compiler = new VHDLCompiler(SchematixCore.ProcessDirectory); compiler.CollectionChangedEvent += new System.Collections.Specialized.NotifyCollectionChangedEventHandler(messages_CollectionChanged); PrepareCompilator(); UpdateFileList(); } catch (Exception ex) { Schematix.Core.Logger.Log.Error("Load compile error.", ex); MessageBox.Show(string.Format("Load compile error. Message: {0}", ex.Message), "Error :(", MessageBoxButtons.OK, MessageBoxIcon.Error); } catch { MessageBox.Show("Some Error"); } }), new Action(() => { }), "Initializing Compiler for VHDL...")); } break; case ModelingLanguage.VHDL_Combined: { Schematix.Core.UserControls.ProgressWindow.Window.RunProcess( new MyBackgroundWorker( new Action(() => { try { // Start process compiler = new CombinedCompiler(SchematixCore.ProcessDirectory); compiler.CollectionChangedEvent += new System.Collections.Specialized.NotifyCollectionChangedEventHandler(messages_CollectionChanged); PrepareCompilator(); UpdateFileList(); } catch (Exception ex) { Schematix.Core.Logger.Log.Error("Load compile error.", ex); MessageBox.Show(string.Format("Load compile error. Message: {0}", ex.Message), "Error :(", MessageBoxButtons.OK, MessageBoxIcon.Error); } catch { MessageBox.Show("Some Error"); } }), new Action(() => { }), "Initializing Compiler for VHDL...")); } break; case ModelingLanguage.Verilog: throw new Exception("This Compiler Doe's not support yet"); case ModelingLanguage.SystemC: throw new Exception("This Compiler Doe's not support yet"); } }
public Compiler(ModelingLanguage ModelingLanguage, Project project) : this(ModelingLanguage, project, SchematixCore.Core) { }