Beispiel #1
0
        /// <summary>
        /// Méthode appelée lors du chargement
        /// </summary>
        protected override Task OnLoading()
        {
            _timeService = ServiceBus.Get <ITimeTicksFormatService>();
            IProjectManagerService pms = ServiceBus.Get <IProjectManagerService>();
            RestitutionState       restitutionState = pms.RestitutionState[pms.CurrentProject.ProjectId];

            switch (restitutionState.ViewMode.Value)
            {
            case RestitutionStateViewMode.Global:
                SelectedViewIndex = 0;
                break;

            case RestitutionStateViewMode.PerOperator:
                SelectedViewIndex = 1;
                break;

            case RestitutionStateViewMode.PerEquipment:
                SelectedViewIndex = 2;
                break;
            }

            SelectedValueMode = (RestitutionValueMode)restitutionState.RestitutionValueMode.Value;

            return(Task.CompletedTask);
        }
Beispiel #2
0
        /// <summary>
        /// Exporte les solutions.
        /// </summary>
        /// <param name="scenario">Le scénario.</param>
        /// <param name="cellReference">La référence de la cellule.</param>
        /// <param name="file">Le fichier.</param>
        /// <param name="sheet">La feuille.</param>
        private void ExportSolutions(Scenario scenario, CellReference cellReference, WorksheetPart sheet)
        {
            ITimeTicksFormatService timeFormatService = IoC.Resolve <IServiceBus>().Get <ITimeTicksFormatService>();
            long timeScale = _data.Project.TimeScale;

            List <SolutionWrapper> solutions = new List <SolutionWrapper>();

            foreach (var solution in scenario.Solutions.OrderBy(s => s.SolutionDescription))
            {
                var w = CreateSolutionWrapper(scenario.Actions, solution);
                solutions.Add(w);
            }

            var originalScenario = scenario.Original;

            while (originalScenario != null)
            {
                // Déterminer les actions qui sont concernées
                var originalActions = originalScenario.Actions.Where(originalAction =>
                                                                     scenario.Actions.Any(currentScenarioAction =>
                                                                                          ScenarioActionHierarchyHelper.IsAncestor(originalAction, currentScenarioAction)));

                foreach (var solution in originalScenario.Solutions.OrderBy(s => s.SolutionDescription))
                {
                    var wrapper = CreateSolutionWrapper(originalActions, solution);
                    // Ignorer les solutions qui n'apportent pas de gain. C'est un surplus d'infos inutile
                    if (wrapper.Saving != 0)
                    {
                        solutions.Add(wrapper);
                    }
                }

                originalScenario = originalScenario.Original;
            }

            // Définir l'index
            int i = 1;

            foreach (var wrapper in solutions)
            {
                wrapper.Index = i++;
            }

            var solutionsFormats = new ColumnFormat[]
            {
                #region Format pour les solutions

                // Index
                new ColumnFormat()
                {
                    Header = ""
                },

                // Scénario
                new ColumnFormat()
                {
                    Header = LocalizationManager.GetString("View_RestitutionSolutions_Columns_Scenario")
                },

                // Solution
                new ColumnFormat()
                {
                    Header = LocalizationManager.GetString("View_RestitutionSolutions_Columns_Solution")
                },

                // Tâches liées
                new ColumnFormat()
                {
                    Header = LocalizationManager.GetString("View_RestitutionSolutions_Columns_RelatedActions")
                },

                // Gain
                new ColumnFormat()
                {
                    Header = LocalizationManager.GetString("View_RestitutionSolutions_Columns_Saving")
                },

                // Investissement
                new ColumnFormat()
                {
                    Header = LocalizationManager.GetString("View_RestitutionSolutions_Columns_Investment")
                },

                // I/G
                new ColumnFormat()
                {
                    Header = LocalizationManager.GetString("View_RestitutionSolutions_Columns_IG")
                },

                // Difficulté
                new ColumnFormat()
                {
                    Header = LocalizationManager.GetString("View_RestitutionSolutions_Columns_Diffculty")
                },

                // Coûts
                new ColumnFormat()
                {
                    Header = LocalizationManager.GetString("View_RestitutionSolutions_Columns_Cost")
                },

                // DC/G
                new ColumnFormat()
                {
                    Header = LocalizationManager.GetString("View_RestitutionSolutions_Columns_DCG")
                },

                // OK
                new ColumnFormat()
                {
                    Header = LocalizationManager.GetString("View_RestitutionSolutions_Columns_OK")
                },

                // Comments
                new ColumnFormat()
                {
                    Header = LocalizationManager.GetString("View_RestitutionSolutions_Columns_Comments")
                },

                #endregion
            };

            CellContent[][] data = new CellContent[solutions.Count][];

            i = 0;
            foreach (var solution in solutions)
            {
                CellContent[] row = new CellContent[solutionsFormats.Length];

                int j = 0;

                #region Data

                // Index
                row[j++] = solution.Index;

                // Scénario
                row[j++] = solution.Solution.Scenario.Label;

                // Solution
                row[j++] = solution.Solution.SolutionDescription;

                // Tâches liées
                row[j++] = solution.RelatedActions;

                // Gain
                row[j++] = CellContent.TimeSpan(timeFormatService.RoundTime(solution.Saving, timeScale));

                // Investissement
                if (solution.Solution.Investment.HasValue)
                {
                    row[j++] = solution.Solution.Investment;
                }
                else
                {
                    row[j++] = null;
                }

                // I/G
                if (solution.IG.HasValue)
                {
                    row[j++] = solution.IG;
                }
                else
                {
                    row[j++] = null;
                }

                // Difficulté
                if (solution.Solution.Difficulty.HasValue)
                {
                    row[j++] = solution.Solution.Difficulty;
                }
                else
                {
                    row[j++] = null;
                }

                // Coûts
                if (solution.Solution.Cost.HasValue)
                {
                    row[j++] = solution.Solution.Cost;
                }
                else
                {
                    row[j++] = null;
                }

                // DC/G
                if (solution.DCG.HasValue)
                {
                    row[j++] = solution.DCG;
                }
                else
                {
                    row[j++] = null;
                }

                // OK
                row[j++] = solution.Solution.Approved.ToString();

                // Comments
                row[j++] = solution.Solution.Comments;

                #endregion

                data[i] = row;
                i++;
            }

            _file.AddTable(sheet, solutionsFormats, data, cellReference);
        }
Beispiel #3
0
 public MediaPlayerTimeConverter(ITimeTicksFormatService service)
 {
     _service = service;
 }