public async Task <IProjectRunSettingsFromTemplateResult> GenerateAsync(IEnumerable <ICoverageProject> coverageProjectsWithoutRunSettings, string solutionDirectory, string fccMsTestAdapterPath) { IEnumerable <TemplatedCoverageProjectRunSettingsResult> projectsRunSettings; try { projectsRunSettings = CreateProjectsRunSettings( coverageProjectsWithoutRunSettings, solutionDirectory, fccMsTestAdapterPath); } catch (Exception exc) { return(ProjectRunSettingsFromTemplateResult.FromException(exc, "Exception generating runsettings from template")); } try { await projectRunSettingsGenerator.WriteProjectsRunSettingsAsync(projectsRunSettings); } catch (Exception exc) { await Tryer.TryAsync( () => projectRunSettingsGenerator.RemoveGeneratedProjectSettingsAsync(coverageProjectsWithoutRunSettings) ); return(ProjectRunSettingsFromTemplateResult.FromException(exc, "Exception writing templated runsettings")); } return(CreateSuccessResult(projectsRunSettings)); }
public static IOption <TResult> Invoke <A, B, C, TResult>(Tryer <A, B, C, TResult> tryer, A a, B b, C c) { TResult result; if (tryer(a, b, c, out result)) { return(Option.Valued(result)); } return(Option.Empty <TResult>()); }
/// <summary> /// initializes the standard fields of this event type and /// signature /// </summary> protected override void InitFields() { m_Fields = new FieldInfo[]{ this.GetType().GetField("Try") }; StoreInvokerFieldNames(); m_DefaultMethods = new MethodInfo[]{ this.GetType().GetMethod("AlwaysOK")}; m_DelegateTypes = new Type[] { typeof(vp_Attempt.Tryer) }; Prefixes = new Dictionary<string, int>() { {"OnAttempt_", 0} }; Try = AlwaysOK; }
/// <summary> /// initializes the standard fields of this event type and /// signature /// </summary> protected override void InitFields() { m_Fields = new FieldInfo[] { Type.GetField("Try") }; StoreInvokerFieldNames(); m_DefaultMethods = new MethodInfo[] { Type.GetMethod("AlwaysOK") }; m_DelegateTypes = new Type[] { typeof(vp_Attempt.Tryer) }; Prefixes = new Dictionary <string, int>() { { "OnAttempt_", 0 } }; Try = AlwaysOK; }
public IEnumerable <CFindSeriesIOD> FindSeries(IEnumerable <CFindStudyIOD> studies) { var results = new List <CFindSeriesIOD>(); ushort msgId = 1; foreach (var study in studies) { Tryer.Try(() => { var req = CFind.CreateSeriesQuery(study.StudyInstanceUID); var seriesUids = _scu.GetResponses <CFindResponse, CFindRequest>(req, _scp, ref msgId) .Where(r => r.Status == (ushort)Status.PENDING) .Where(r => r.HasData) .Select(r => new CFindSeriesIOD(new DICOMObject(r.Data.Elements))); results.AddRange(seriesUids); }, $"Adding study {study.StudyInstanceUID}..."); } return(results); }
public IEnumerable <T> FindImages <T>(IEnumerable <CFindSeriesIOD> series) where T : CFindInstanceIOD { var results = new List <T>(); ushort msgId = 1; foreach (var ser in series) { Tryer.Try(() => { var req = CFind.CreateImageQuery(ser); var imagesUids = _scu.GetResponses <CFindResponse, CFindRequest>(req, _scp, ref msgId) .Where(r => r.Status == (ushort)Status.PENDING) .Where(r => r.HasData) .Select(r => r.GetIOD <T>()) .ToList(); results.AddRange(imagesUids); }, $"Adding series {ser.Modality} : {ser.SeriesInstanceUID}"); } return(results); }
/// <summary> /// unregisters an external method from this event /// </summary> public override void Unregister(object t) { Try = AlwaysOK; Refresh(); }
/// <summary> /// registers an external method to this event /// </summary> public override void Register(object t, string m, int v) { Try = (vp_Attempt.Tryer)vp_Attempt.Tryer.CreateDelegate(m_DelegateTypes[v], t, m); Refresh(); }