Exemplo n.º 1
0
        List <SimProcedure> GetSimProcedures(List <ProcedureViewModel> modelProcedures)
        {
            var simProcedures = new List <SimProcedure>();
            var procedures    = ProceduresBuilder.GetProcedures().ToList();

            foreach (var procedureModel in modelProcedures)
            {
                var procedure = procedures.SingleOrDefault(x => x.Name == procedureModel.ProcedureName);

                if (procedure == null)
                {
                    continue;
                }

                var simProcedure = new SimProcedure
                {
                    Procedure       = procedure,
                    ProcedureKey    = procedureModel.ProcedureKey,
                    Status          = ProcedureStatus.NotStarted,
                    ParameterValues = new List <ProcedureParameterValue>(),
                    NextProcedures  = new List <SimProcedure>(),
                    PrevProcedures  = new List <SimProcedure>(),
                    SimResources    = new List <SimResource>(),
                    SimRandomEvents = GetRandomEvents(procedure),
                    AllParams       = new Dictionary <string, string>()
                };

                foreach (var param in procedureModel.ProcedureParameters)
                {
                    var trueParam = procedure.Parameters.SingleOrDefault(x => x.Name == param.ProcedureParameterName);

                    if (trueParam == null)
                    {
                        continue;
                    }

                    simProcedure.ParameterValues.Add(new ProcedureParameterValue
                    {
                        Parameter = trueParam,
                        Value     = param.ProcedureParameterValue
                    });
                    simProcedure.AllParams.Add($"[{trueParam.Name}]", param.ProcedureParameterValue);
                }

                simProcedures.Add(simProcedure);
            }

            return(simProcedures);
        }
Exemplo n.º 2
0
        public List <ProcedureViewModel> GetAllProcedures()
        {
            var procedures = ProceduresBuilder.GetProcedures();

            return(procedures.Select(x => new ProcedureViewModel(x)).ToList());
        }