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); }
public List <ProcedureViewModel> GetAllProcedures() { var procedures = ProceduresBuilder.GetProcedures(); return(procedures.Select(x => new ProcedureViewModel(x)).ToList()); }