/// <summary>
        /// Called by all "Open Window" actions
        /// </summary>
        /// <param name="param"></param>
        private void OpenWindowAction(object param)
        {
            switch (param.ToString())
            {
            case "PROFILES_MANAGER":
                ViewManager.ShowWindow <ProfileManagerView>();
                break;

            case "EXIT":
                ViewManager.TerminateProgram();
                break;

            case "PACKING_FILTERS":
                ViewManager.ShowWindow <PackingFiltersView>();
                break;

            case "VIRTUAL_TREE_VIEW":
                // If no selected profile, return
                if (SelectedWorkingProfile == null)
                {
                    UserInput.ShowMessage("SELECT_PROFILE_FIRST");
                    break;
                }
                ViewManager.ShowWindow <VirtualTreeViewWindow>(false, String.Format("Virtual Tree View - {0}", SelectedWorkingProfile.Name));
                break;

            case "UPDATE_WINDOW":
                ViewManager.ShowWindow <UpdateMenuView>();
                break;

            default:
                WindowLog.Critical(new[] { "INTERNAL_ERROR", "Error at OpenWindowAction with argument:", param });
                break;
            }
        }
        private async void InitializeVersionService()
        {
            // Handle New version found
            AppUpdater.CheckVersionsCompleted += (sender, args) =>
            {
                if (args.AskToDownloadHandled || args.TargetSubscriberType != null)
                {
                    return;
                }

                if (args.HasNewVersionAvailable)
                {
                    ViewManager.ShowWindow <UpdateMenuView>();
                    UpdateMenuString = "There's an update available!";
                }

                args.AskToDownloadHandled = true;
            };

            // Check for new versions
            try
            {
                await AppUpdater.CheckVersions();
            }
            catch (WebException ex)
            {
                WindowLog.Error("SERVER_DOWN", "App");
            }
        }
        protected void RunOkCommand()
        {
            if (!ChargerCmd())
            {
                SauverLg();
            }

            if (ListeLgProfil.IsNull())
            {
                return;
            }

            WindowLog.Ecrire("Lg max des barres :");

            foreach (var materiau in ListeLgProfil.DicLg.Keys)
            {
                foreach (var profil in ListeLgProfil.DicLg[materiau].Keys)
                {
                    String lg = ListeLgProfil.DicLg[materiau][profil].ToString();
                    WindowLog.EcrireF("{0,10} [{1:10}] {2,10}", profil, materiau, lg);
                }
            }

            Cmd.Executer();

            if (File.Exists(Cmd.CheminFichier))
            {
                System.Diagnostics.Process.Start(Cmd.CheminFichier);
            }
        }
Example #4
0
        protected override void Command()
        {
            try
            {
                if (MdlBase.TypeDoc() == eTypeDoc.Piece)
                {
                    Decompter(MdlBase.eComposantRacine());
                }
                else
                {
                    MdlBase.eRecParcourirComposants(Decompter);
                }

                WindowLog.SautDeLigne();

                foreach (var item in DicQte)
                {
                    WindowLog.EcrireF("{0,-5} : {1,-5}", "Ø " + Math.Round(item.Key, 2), "×" + item.Value);
                }
            }
            catch (Exception e)
            {
                this.LogErreur(new Object[] { e });
            }
        }
Example #5
0
        public static bool QueryLID(ref ulong id, string query)
        {
            MySqlCommand    cmd    = new MySqlCommand(query, connection);
            MySqlDataReader reader = null;

            try
            {
                reader = cmd.ExecuteReader();
                id     = (ulong)reader.FieldCount; // Maybe not the best to use, but should do the trick
            }
            catch (MySqlException ex)
            {
                WindowLog.Error("Database", "MySQL Error: " + ex.Message);
                return(false);
            }
            finally
            {
                if (reader != null)
                {
                    reader.Close();
                }
            }

            return(true);
        }
Example #6
0
        public void Decaler(Face2 face, Double decal, Boolean inverser)
        {
            Loop2 bord = null;

            foreach (Loop2 loop in face.GetLoops())
            {
                if (loop.IsOuter())
                {
                    bord = loop;
                    break;
                }
            }

            var listeFace = new List <Face2>();

            foreach (Edge e in bord.GetEdges())
            {
                listeFace.Add(e.eAutreFace(face));
            }

            MdlBase.eEffacerSelection();

            foreach (var f in listeFace)
            {
                f.eSelectEntite(MdlBase, 1, true);
            }

            var feat = MdlBase.FeatureManager.InsertMoveFace3((int)swMoveFaceType_e.swMoveFaceTypeOffset, inverser, 0, decal, null, null, 0, 0);

            WindowLog.Ecrire("Décalage : " + feat.IsRef());
        }
            public void AjouterDossier(BodyFolder dossier, Component2 comp)
            {
                Body2 corps = dossier.ePremierCorps();

                if (corps.IsNull())
                {
                    return;
                }

                String BaseMateriau;
                String Materiau = corps.eGetMateriauCorpsOuComp(comp, out BaseMateriau);
                string Profil;

                if (corps.eTypeDeCorps() == eTypeCorps.Tole)
                {
                    Double Ep = corps.eEpaisseurCorpsOuDossier(dossier);
                    if (Ep == -1)
                    {
                        WindowLog.EcrireF("Pb d'epaisseur sur le corps {0}", corps.Name);
                        return;
                    }

                    Profil = "Ep " + Ep.ToString();
                }
                else if (dossier.ePropExiste(CONSTANTES.PROFIL_NOM))
                {
                    Profil = dossier.eProp(CONSTANTES.PROFIL_NOM);
                }
                else
                {
                    Profil = NomVolume;
                }

                Ajouter(BaseMateriau, Materiau, Profil, dossier, comp);
            }
Example #8
0
        protected void Rechercher_Infos()
        {
            WindowLog.Ecrire("Recherche des materiaux : ");

            ListeMateriaux = MdlBase.ListeMateriaux(eTypeCorps.Tole);

            foreach (var m in ListeMateriaux)
            {
                WindowLog.Ecrire(" - " + m);
            }

            WindowLog.SautDeLigne();

            _TextListBox_Materiaux.Liste = ListeMateriaux;
            _TextListBox_Materiaux.ToutSelectionner(false);
            _TextComboBox_ForcerMateriau.Liste         = ListeMateriaux;
            _TextComboBox_ForcerMateriau.SelectedIndex = 0;

            WindowLog.Ecrire("Recherche des ep de tôle : ");

            ListeEp = MdlBase.ListeEp();

            foreach (var m in ListeEp)
            {
                WindowLog.Ecrire(" - ep" + m);
            }

            WindowLog.SautDeLigne();

            _TextListBox_Ep.Liste = ListeEp;
            _TextListBox_Ep.ToutSelectionner(false);
        }
        /// <summary>
        /// Saves current profile to file
        /// </summary>
        public void SaveProfile(bool log = true)
        {
            try
            {
                IsNameValid(Name);
                IsUnpackDirectoryValid(UnpackDirectory);
                IsWorkingDirectoryValid(WorkingDirectory);
                IsKeyValid(BitConverter.ToString(IndexKey), "IndexKey");
                IsKeyValid(BitConverter.ToString(PackKey), "PackKey");

                if (HasErrors)
                {
                    UserInput.ShowMessage("INVALID_PROFILE_SETTINGS");
                    return;
                }
                _profile.Save();

                if (log)
                {
                    WindowLog.Information("PROFILE_SAVED", null, Name);
                }
            }
            catch (ProfileNameAlreadyExistsException e)
            {
                Name = _profile.OriginalName;
                UserInput.ShowMessage("PROFILE_NAME_ALREADY_EXISTS");
            }
            catch (IOException e)
            {
                WindowLog.Error("COULD_NOT_ACCESS_FILE", String.Format("{0}{1}.xml", ConstantsBase.ProfilesPath, Name), e.Message);
            }
        }
Example #10
0
        private void cmdSupprimerLesAnciennesConfigs(ModelDoc2 mdl)
        {
            WindowLog.SautDeLigne();

            if (mdl.eNomConfigActive().eEstConfigDepliee())
            {
                mdl.ShowConfiguration2(mdl.eListeNomConfiguration()[0]);
            }

            mdl.EditRebuild3();

            WindowLog.Ecrire("  - Suppression des cfgs depliées :");
            var liste = mdl.eListeConfigs(eTypeConfig.Depliee);

            if (liste.Count == 0)
            {
                WindowLog.EcrireF("   Aucune configuration à supprimer");
            }

            foreach (Configuration Cf in liste)
            {
                String IsSup = Cf.eSupprimerConfigAvecEtatAff(mdl) ? "Ok" : "Erreur";
                WindowLog.EcrireF("  {0} : {1}", Cf.Name, IsSup);
            }
        }
        protected override void Command()
        {
            try
            {
                View Vue = MdlBase.eSelect_RecupererObjet <View>(1, -1);

                if (Vue.GetBodiesCount() == 0)
                {
                    WindowLog.Ecrire("Aucun corps");
                    return;
                }

                Object[] TabCorps = (Object[])Vue.Bodies;

                DispatchWrapper[] arrBodiesIn = new DispatchWrapper[Vue.GetBodiesCount()];

                for (int i = 0; i < TabCorps.Length; i++)
                {
                    arrBodiesIn[i] = new DispatchWrapper(TabCorps[i]);
                    WindowLog.Ecrire(((Body2)TabCorps[i]).Name);
                }

                Vue.Bodies = (arrBodiesIn);

                WindowLog.Ecrire(Vue.Name);
            }
            catch (Exception e)
            {
                this.LogErreur(new Object[] { e });
            }
        }
        protected void Rechercher_Infos()
        {
            WindowLog.Ecrire("Recherche des materiaux et epaisseurs ");

            ListeCorps     = MdlBase.pChargerNomenclature(eTypeCorps.Barre);
            ListeMateriaux = new List <String>();
            ListeProfil    = new List <String>();
            Campagne       = 1;

            foreach (var corps in ListeCorps.Values)
            {
                Campagne = Math.Max(Campagne, corps.Campagne.Keys.Max());

                ListeMateriaux.AddIfNotExist(corps.Materiau);
                ListeProfil.AddIfNotExist(corps.Dimension);
            }

            WindowLog.SautDeLigne();

            ListeMateriaux.Sort(new WindowsStringComparer());
            ListeProfil.Sort(new WindowsStringComparer());

            _TextBox_Campagne.Text = Campagne.ToString();

            _TextListBox_Materiaux.Liste = ListeMateriaux;
            _TextListBox_Materiaux.ToutSelectionner(false);

            _TextListBox_Profils.Liste = ListeProfil;
            _TextListBox_Profils.ToutSelectionner(false);
        }
Example #13
0
        private Boolean InclureExclure(Component2 cp)
        {
            if (!cp.IsSuppressed() && (eTypeDoc.Assemblage | eTypeDoc.Piece).HasFlag(cp.TypeDoc()))
            {
                if (cp.eModelDoc2().ePropExiste(_pPropExclureNomenclature.GetValeur <String>()))
                {
                    int MdlIntVal = cp.eModelDoc2().eGetProp(_pPropExclureNomenclature.GetValeur <String>()).eToInteger();

                    switch (MdlIntVal)
                    {
                    case 0:
                    {
                        cp.ExcludeFromBOM = false;
                        break;
                    }

                    case 1:
                    {
                        cp.ExcludeFromBOM = true;
                        WindowLog.Ecrire(cp.Name2 + " : Est exclu");
                        break;
                    }

                    case 2:
                    {
                        if (cp.ePropExiste(_pPropExclureNomenclature.GetValeur <String>()))
                        {
                            int CfgIntVal = cp.eProp(_pPropExclureNomenclature.GetValeur <String>()).eToInteger();

                            switch (CfgIntVal)
                            {
                            case 0:
                            {
                                cp.ExcludeFromBOM = false;
                                break;
                            }

                            case 1:
                            {
                                cp.ExcludeFromBOM = true;
                                //WindowLog.Ecrire(cp.Name2);
                                //WindowLog.Ecrire(cp.eNomConfiguration());
                                WindowLog.EcrireF("{0}  \"{1}\" : Est exclu", cp.Name2, cp.eNomConfiguration());
                                break;
                            }

                            default:
                                break;
                            }
                        }
                        break;
                    }

                    default:
                        break;
                    }
                }
            }
            return(false);
        }
        protected override void Command()
        {
            try
            {
                var dessin  = MdlBase.eDrawingDoc();
                var feuille = dessin.eFeuilleActive();;

                dessin.ActivateSheet(feuille.GetName());
                WindowLog.Ecrire("  - " + feuille.GetName());
                feuille.eAjusterAutourDesVues();
                MdlBase.eZoomEtendu();

                //dessin.eParcourirLesFeuilles(
                //    f =>
                //    {
                //        dessin.ActivateSheet(f.GetName());
                //        WindowLog.Ecrire("  - " + f.GetName());
                //        f.eAjusterAutourDesVues();
                //        MdlBase.eZoomEtendu();
                //        return false;
                //    }
                //    );
            }
            catch (Exception e)
            {
                this.LogErreur(new Object[] { e });
            }
        }
        private Boolean CreerConfigs()
        {
            Dictionary <String, ModelDoc2> ListeMdl = new Dictionary <String, ModelDoc2>()
            {
                { MdlBase.GetPathName(), MdlBase }
            };
            Dictionary <String, String> ListeMdlDisplayState = new Dictionary <string, string>()
            {
                { MdlBase.GetPathName(), MdlBase.eComposantRacine().ReferencedDisplayState }
            };

            foreach (Component2 cp in ListeComposants)
            {
                ModelDoc2 mdl = cp.GetModelDoc2();
                ListeMdl.AddIfNotExist(mdl.GetPathName(), mdl);
                ListeMdlDisplayState.AddIfNotExist(mdl.GetPathName(), cp.ReferencedDisplayState);

                foreach (Component2 cpParent in cp.eListeComposantParent())
                {
                    ModelDoc2 mdlParent = cpParent.GetModelDoc2();
                    ListeMdl.AddIfNotExist(mdlParent.GetPathName(), mdlParent);
                    ListeMdlDisplayState.AddIfNotExist(mdlParent.GetPathName(), cpParent.ReferencedDisplayState);
                }
            }

            int Options = (int)swConfigurationOptions2_e.swConfigOption_InheritProperties;

            if (SupprimerNvlFonction)
            {
                Options += (int)swConfigurationOptions2_e.swConfigOption_SuppressByDefault;
            }

            if (SupprimerNvComposant)
            {
                Options += (int)swConfigurationOptions2_e.swConfigOption_HideByDefault;
            }

            if ((ListeConfig.IsRef()) && (ListeConfig.Count > 0) && !String.IsNullOrWhiteSpace(ListeConfig[0]))
            {
                foreach (ModelDoc2 mdl in ListeMdl.Values)
                {
                    WindowLog.Ecrire(mdl.eNomAvecExt());
                    WindowLog.Ecrire(" - " + String.Join(" ", ListeConfig));
                    foreach (String nomConfig in ListeConfig)
                    {
                        String NomCurrentDisplayState = ListeMdlDisplayState[mdl.GetPathName()];

                        mdl.eAddConfiguration(nomConfig, nomConfig, "", Options);
                    }

                    WindowLog.SautDeLigne();
                }

                return(true);
            }

            return(false);
        }
Example #16
0
        protected override void Command()
        {
            try
            {
                String NomFichier = String.Format("{0}{1}", String.IsNullOrWhiteSpace(RefFichier) ? "" : RefFichier + "-", IndiceCampagne);

                switch (TypeSortie)
                {
                case eTypeSortie.ListeDebit:
                {
                    var DicBarre = _listeElement.ListeBarre();

                    String ResumeBarre      = DicBarre.ResumeNbBarre();
                    String ResumeListeDebit = DicBarre.ResumeListeDebit();

                    String Complet = RefFichier + "\r\n" + ResumeBarre + "\r\n\r\n" + ResumeListeDebit;

                    WindowLog.Ecrire(ResumeBarre);

                    CheminFichier = Path.Combine(MdlBase.eDossier(), NomFichier + " - Liste de débit.txt");

                    StreamWriter s = new StreamWriter(CheminFichier);
                    s.Write(Complet);
                    s.Close();

                    WindowLog.SautDeLigne(2);
                    WindowLog.EcrireF("Nb d'éléments {0}", _listeElement.NbElement);
                    WindowLog.EcrireF("Nb de barres {0}", DicBarre.NbBarre);
                }
                break;

                case eTypeSortie.ListeBarre:
                {
                    String ResumeListeBarre = _listeElement.ResumeListeBarre();

                    CheminFichier = Path.Combine(MdlBase.eDossier(), NomFichier + " - Liste des barres.txt");
                    String Complet = RefFichier + "\r\n" + ResumeListeBarre;

                    WindowLog.Ecrire(ResumeListeBarre);

                    StreamWriter s = new StreamWriter(CheminFichier);
                    s.Write(Complet);
                    s.Close();

                    WindowLog.SautDeLigne(2);
                }
                break;

                default:
                    break;
                }
            }
            catch (Exception e)
            {
                this.LogErreur(new Object[] { e });
            }
        }
Example #17
0
 public WindowLogger()
 {
     _winTracker = new WindowTracker(false);
     _windowLog  = new List <WindowLog>();
     _lastRecord = new WindowLog();
     _winTracker.ActApplicationChanged += WinTrackerActApplicationChanged;
     _winTracker.ActStateChanged       += WinTrackerActStateChanged;
     _winTracker.ProcessStopped        += WinTrackerProcessStopped;
 }
Example #18
0
        protected void SautDeLigne()
        {
            if (!LogToWindowLog)
            {
                return;
            }

            WindowLog.SautDeLigne();
        }
Example #19
0
        protected void AfficherTitre(String titreModule)
        {
            if (!LogToWindowLog)
            {
                return;
            }

            WindowLog.Ecrire("    " + titreModule.ToUpper());
            WindowLog.Ecrire("=".eRepeter(25));
            WindowLog.SautDeLigne();
        }
Example #20
0
 private void ApplyWindowLog(WindowLog logItem)
 {
     if (logItem.Add)
     {
         _windows[logItem.HWnd] = logItem.Filter;
     }
     else
     {
         _windows.Remove(logItem.HWnd);
     }
 }
 /// <summary>
 /// Starts monitoring the working directory
 /// </summary>
 public void StartMonitoringDirectory()
 {
     try
     {
         _fsw.Path = MainWindowVm.Instance.SelectedWorkingProfile.WorkingDirectory;
         _fsw.EnableRaisingEvents = true;
     }
     catch (ArgumentException ex)
     {
         WindowLog.Error("COULD_NOT_MONITOR_DIR", null, MainWindowVm.Instance.SelectedWorkingProfile.WorkingDirectory);
     }
 }
Example #22
0
        public static void Update()
        {
            WindowLog.Debug("Database", "Saving information into the DB");

            // Start the querys
            string query = "";

            while (queryQueue.Count > 0)
            {
                query = queryQueue.Dequeue();
                Query(query);
            }
        }
Example #23
0
        void WinTrackerActStateChanged(object sender, WindowTracker.ActStateChangedHandlerArgs args)
        {
            //TODO : add correct task id
            var newState = new WindowLog(args.NewPID,
                                         args.NewPName,
                                         args.NewPdesc,
                                         args.NewWindowText,
                                         DateTime.Now,
                                         0);

            InvokeAppWindowChanged(new AppWindowChangedHandlerArgs(_lastRecord, newState));
            _windowLog.Add(newState);
            _lastRecord = newState;
        }
Example #24
0
        protected void RunAfterClose()
        {
            List <Component2> ListeCompEmpreinte = MdlBase.eSelect_RecupererListeObjets <Component2>(_Select_CompEmpreinte.Marque);

            Isoler.Exit(MdlBase);

            if (_CheckBox_MasquerLesEmpreintes.IsChecked == true)
            {
                WindowLog.Ecrire("Masque les composants");
                foreach (Component2 c in ListeCompEmpreinte)
                {
                    c.Visible = (int)swComponentVisibilityState_e.swComponentHidden;
                }
            }
        }
Example #25
0
        protected override void Command()
        {
            try
            {
                var mass = MdlBase.Extension.CreateMassProperty();

                WindowLog.EcrireF("Ecraser la masse : {0}", mass.OverrideMass);

                mass.OverrideMass = false;
            }
            catch (Exception e)
            {
                this.LogMethode(new Object[] { e });
            }
        }
        /// <summary>
        /// Processes profile's Working directory
        /// </summary>
        public void ProcessWorkingDirectory()
        {
            // Return if null or no profile is selected
            if (MainWindowVm.Instance == null || MainWindowVm.Instance.SelectedWorkingProfile == null)
            {
                return;
            }

            WorkingItemsList.Clear();

            try
            {
                // Loop through all files
                foreach (var item in IOHelper.GetAllFilesFromDir(MainWindowVm.Instance.SelectedWorkingProfile.WorkingDirectory)
                         .Where(t => String.Equals(t.Extension, MainWindowVm.Instance.SelectedWorkingProfile.IndexExtension, StringComparison.CurrentCultureIgnoreCase))
                         .Select(file => new WorkingItemVm(Path.GetFileNameWithoutExtension(file.Name), file.Name, file.FullName, file.DirectoryName)))
                {
                    // Add it to the list
                    AddItemToWorkingList(item);
                }
            }
            catch (DirectoryNotFoundException ex)
            {
                WindowLog.Error("DIR_NOT_FOUND", null, MainWindowVm.Instance.SelectedWorkingProfile.WorkingDirectory);
            }

            try
            {
                // Loop through all the directories (since there may be files which are unpacked but not existing in the pack dir)
                foreach (var item in IOHelper.GetAllFirstDirectories(MainWindowVm.Instance.SelectedWorkingProfile.UnpackDirectory))
                {
                    if (WorkingItemsList.FirstOrDefault(x => String.Equals(x.DisplayName, item.Name, StringComparison.CurrentCultureIgnoreCase)) == null)
                    {
                        AddItemToWorkingList(new WorkingItemVm(
                                                 item.Name,
                                                 item.Name + MainWindowVm.Instance.SelectedWorkingProfile.IndexExtension,
                                                 item.FullName + MainWindowVm.Instance.SelectedWorkingProfile.IndexExtension,
                                                 item.FullName));
                    }
                }
            }
            catch (DirectoryNotFoundException ex)
            {
                WindowLog.Error("DIR_NOT_FOUND", null, MainWindowVm.Instance.SelectedWorkingProfile.UnpackDirectory);
            }

            WorkingItemsList = new ObservableImmutableList <WorkingItemVm>(WorkingItemsList.OrderBy(x => x.DisplayName));
        }
Example #27
0
        public static bool Query(ref MySqlDataReader res, string query)
        {
            MySqlCommand cmd = new MySqlCommand(query, connection);

            try
            {
                res = cmd.ExecuteReader();
            }
            catch (MySqlException ex)
            {
                WindowLog.Error("Database", "MySQL Error: " + ex.Message);
                return(false);
            }

            return(true);
        }
Example #28
0
        protected void ExecuterEn(Boolean SansSautDeLigne = false)
        {
            if (!LogToWindowLog)
            {
                return;
            }

            TimeSpan t = DateTime.Now - _DateTimeStart;

            if (!SansSautDeLigne)
            {
                WindowLog.SautDeLigne();
            }

            WindowLog.EcrireF("Executé en {0}", GetSimplestTimeSpan(t));
        }
Example #29
0
        protected override void Command()
        {
            try
            {
                WindowLog.Ecrire("Nettoyer les blocs :");

                SupprimerDefBloc(MdlBase);

                WindowLog.SautDeLigne();
                WindowLog.Ecrire("Nettoyage terminé");
            }
            catch (Exception e)
            {
                this.LogErreur(new Object[] { e });
            }
        }
Example #30
0
        private void RegisterWindow(WindowLog logItem)
        {
            if (_windowMutationSuspendCount > 0)
            {
                if (_windowBackLog == null)
                {
                    _windowBackLog = new List <WindowLog>();
                }

                _windowBackLog.Add(logItem);
            }
            else
            {
                ApplyWindowLog(logItem);
            }
        }
Example #31
0
        private void RegisterWindow(WindowLog logItem)
        {
            if (_windowMutationSuspendCount > 0)
            {
                if (_windowBackLog == null)
                    _windowBackLog = new List<WindowLog>();

                _windowBackLog.Add(logItem);
            }
            else
            {
                ApplyWindowLog(logItem);
            }
        }
Example #32
0
 private void ApplyWindowLog(WindowLog logItem)
 {
     if (logItem.Add)
         _windows[logItem.HWnd] = logItem.Filter;
     else
         _windows.Remove(logItem.HWnd);
 }