/// <summary> /// Récupère la liste des testeurs acteurs du scénario /// </summary>rioPlayer public static List <short> GetActorsOfScenario(Datas.Scenario _scenario) { Boolean newActor = true; List <short> finalList = new List <short>(); List <short> tempList = new List <short>(); //On regroupe tout les IDs des testeurs destinations et sources dans un tableau foreach (CommonProject.Scenario.Datas.GenericStep step in _scenario.Steps) { tempList.Add(MainEntry.listTesters.GetIdFromName(step.TesterSource)); tempList.Add(MainEntry.listTesters.GetIdFromName(step.TesterDestination)); } //Filtrage des IDs distinct foreach (short t_id in tempList) { newActor = true; foreach (short id in finalList) { if (id == t_id) { newActor = false; } } if (newActor) { finalList.Add(t_id); } } return(finalList); }
/// <summary> /// Constructeur scenarioPlayer /// </summary> public scenarioPlayer(Int16 _playIndex, Datas.Scenario _scenarioToPlay) { playIndex = _playIndex; scenarioToPlay = new Scenario.Datas.Scenario(); scenarioToPlay = _scenarioToPlay; status = new ScenarioPlayerSatus(); }
/// <summary> /// Charge la solution à partir d'un fichier /// </summary> public void Load(string _UrlFile) { try { XmlTextReader reader = new XmlTextReader(_UrlFile); reader.ReadToFollowing("Name"); this.Name = reader.ReadString(); String SolutionPath = _UrlFile.Substring(0, _UrlFile.Length - (this.Name.Length + ".atp".Length)); this.FullPath = SolutionPath; while (reader.Read()) { if (reader.NodeType == XmlNodeType.Element && reader.Name == "Scenario") { Datas.Scenario s = new Datas.Scenario(this.FullPath + "\\" + reader.ReadString() + ".ats"); s.Id = (Int16)listScenarios.Count; listScenarios.Add(s); s = null; } } reader.Close(); } catch (Exception e) { CommonProject.Tools.Trace.WriteError(e.Message); } }
/// <summary> /// Vérifie le contenue d'un scénario avant sa lecture /// </summary> public static VerifyResult VerifyScenario(Datas.Scenario scenario) { //Parcours de tous les steps pour le traitement foreach (GenericStep currentStep in scenario.Steps) { //On détermine le type de Step (Transformation à partir d'un String en Enum "StepsName" switch ((StepsName)currentStep.NameId) { case StepsName.Appel: { CallStep _step = (CallStep)currentStep; String newAlias = MainEntry.listTesters.Tester[MainEntry.listTesters.GetIdFromName(currentStep.TesterDestination)].Alias; if (_step.CallMode == CallMode.OIR) { newAlias = "*31*" + newAlias; } if (_step.Protocol == CallProtocol.Sip) { newAlias = "sip:" + newAlias; } _step.Alias = newAlias; Console.WriteLine(_step.Alias); break; } case StepsName.Attente: { break; } case StepsName.DTMF: { break; } case StepsName.Raccrochage: { break; } } } VerifyResult result = new VerifyResult(); return(result); }
/// <summary> /// Ajoute un scénario à la liste de lecture /// </summary> public void AddScenarioToPlayer(Datas.Scenario s) { listScenarioToPlay.Add(s.Id); MainEntry._ScenarioEvents.OnNewScenarioToPlay(s, null); }
/// <summary> /// Retourne l'identifiant du scénario à partir de son nom /// </summary> public Int16 GetScenarioIdFromName(string name) { Datas.Scenario current = new Datas.Scenario(); current = GetScenarioFromName(name); return(current.Id); }
/// <summary> /// Ajoute un scénario à la solution /// </summary> public void AddScenario(Datas.Scenario s) { s.Id = (short)listScenarios.Count; listScenarios.Add(s); MainEntry._ScenarioEvents.OnNewScenario(s, null); }