public ApiResult <TResult> TryCall <T1, T2, T3, T4, T5, T6, T7, T8, T9, TResult>(Func <T1, T2, T3, T4, T5, T6, T7, T8, T9, TResult> func, T1 t1, T2 t2, T3 t3, T4 t4, T5 t5, T6 t6, T7 t7, T8 t8, T9 t9, string methodName) { var callStep = new CallStep(); callStep.Parameters = StringHelper.GetArgsInfo(t1, t2, t3, t4, t5, t6, t7, t8, t9, 0); callStep.Start(methodName); var apiResult = ApiResult <TResult> .MakeSuccessResult(); try { TResult result = func(t1, t2, t3, t4, t5, t6, t7, t8, t9); apiResult.Data = result; } catch (Exception ex) { ExceptionFail(apiResult, ex, callStep); } callStep.Stop(apiResult, Trace.StepTrace.SerializeResult); if (Trace != null) { Trace.StepTrace.AddStep(callStep); } return(apiResult); }
public ISequence Call <T, U, V>(Callback <T, U, V> callback, T param1, U param2, V param3) { Step step = new CallStep <T, U, V> { callback = callback, param1 = param1, param2 = param2, param3 = param3, onStepComplete = OnStepComplete }; _steps.Add(step); return(this); }
public ISequence Call <T>(Callback <T> callback, T param) { Step step = new CallStep <T> { callback = callback, param = param, onStepComplete = OnStepComplete }; _steps.Add(step); return(this); }
public ISequence Call(Callback callback) { Step step = new CallStep { callback = callback, onStepComplete = OnStepComplete }; _steps.Add(step); return(this); }
/// <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); }
public CachedResult <T> GetCachedValue <T>(string prefix, string subKey, Func <ApiResult <T> > loader, TimeSpan expire, string cacheName = "Couch", bool useLock = false) { var result = CachedResult <T> .MakeSucessResult(); var key = prefix + subKey; T data; var callStep = new CallStep(); var methodName = _loaderRegex.Replace(loader.Method.Name.Replace("<", ""), ""); callStep.Start(methodName); var cache = CacheInstance.Collection[cacheName]; if (!cache.TryGet(key, out data)) { if (useLock && _LockObjects.ContainsKey(prefix)) { Monitor.Enter(_LockObjects[prefix]); } if (!useLock || !cache.TryGet(key, out data)) { var loadResult = loader(); if (loadResult.Success) { data = loadResult.Data; cache.Add(key, data, expire); } result.HitCache = false; result.Copy(loadResult); } if (useLock && _LockObjects.ContainsKey(prefix)) { Monitor.Exit(_LockObjects[prefix]); } } result.Data = data; callStep.Stop(result, result.HitCache); return(result); }
public NewStep() { InitializeComponent(); /******** Instanciation du TreeView *********/ treeView1.Nodes.Add("Step de base"); foreach (StepsName item in Enum.GetValues(typeof(StepsName))) { TreeNode itemTreeNode = new TreeNode(item.ToString()); itemTreeNode.Name = item.ToString(); switch (item) { case StepsName.Appel: { CallStep action = new CallStep(); itemTreeNode.Tag = action; break; } case StepsName.Attente: { WaitStep action = new WaitStep(); itemTreeNode.Tag = action; break; } case StepsName.DTMF: { DTMFStep action = new DTMFStep(); itemTreeNode.Tag = action; break; } case StepsName.Raccrochage: { HangupStep action = new HangupStep(); itemTreeNode.Tag = action; break; } default: break; } treeView1.Nodes[0].Nodes.Add(itemTreeNode); // treeView1.Nodes[0].Tag } treeView1.ExpandAll(); treeView1.MouseClick += new MouseEventHandler(treeView1_MouseClick); }
public Task Visit(CallStep step) { return(Task.CompletedTask); }
private void ExceptionFail <TResult>(ApiResult <TResult> result, Exception ex, CallStep callStep) { result.ErrorCode = -1; result.Error = ErrorMessageCollection.SystemException; callStep.Exception = ex.Message; Trace.InnerError = ex.Message; }