/// <summary> /// Saves the run detail. /// </summary> /// <param name="item">The item.</param> /// <returns></returns> /// <remarks></remarks> public DiagnosticsRunDetailItem SaveRunDetail(DiagnosticsRunDetailItem item) { var map = new DiagnosticsRunDetailItemMapper(); try { using (var scp = new TransactionScope()) { if (FindRunDetail(item.Id) == null) { DiagnosticsRepositoryAgentFactory .CreateDiagnosticsRunDetailRepositoryAgent() .Insert(map.MapFromBusinessToService(item)); } else { DiagnosticsRepositoryAgentFactory .CreateDiagnosticsRunDetailRepositoryAgent() .Update(map.MapFromBusinessToService(item)); } scp.Complete(); } } catch (Exception ex) { if (ex.InnerException != null) { item.AddError(ex.InnerException.Message); } item.AddError(ex.Message); } return(item); }
/// <summary> /// Saves the detail item. /// </summary> /// <param name="current">The current.</param> /// <remarks></remarks> private void SaveDetailItem(DiagnosticsRunDetailItem current) { lock (sync) { DiagnosticsProviderFactory .CreateProvider() .SaveRunDetail(current); } }