public SwingDispatch(int[] ids, INoteMapper generator) { _ids = ids; _generator = generator; foreach (var id in ids) { _swingDetectors[id] = new SwingDetector(id, Step); } }
public static INoteMapper NoteMapper(string contract) { INoteMapper mapper = null; var typeInfos = Assembly.GetExecutingAssembly().DefinedTypes.Where(r => r.ImplementedInterfaces.Any(i => i == typeof(INoteMapper))).ToList(); typeInfos.ForEach(r => { var str = r.Name; var split = str.Split('_'); if (String.Equals(contract, split[0], StringComparison.CurrentCultureIgnoreCase)) { mapper = (INoteMapper)Activator.CreateInstance(r); } }); return(mapper); }
public void LoadPatientNotes(List <PatientNote> pNotes, List <PatientData> pats, List <PatientNoteData> notes, INoteMapper mapper) { try { var valid = ((List <PatientNote>)pNotes).Select( pn => new { pn, patient = pats.Find(r => r.ExternalRecordId == pn.PatientId.ToString()) }) .Where(@t => @t.patient != null) .Select(@t => mapper.MapPatientNote(@t.patient.Id, @t.pn)); notes.AddRange(valid); } catch (Exception ex) { LoggerDomainEvent.Raise(LogStatus.Create("UOWBase: LoadPatientNotes():" + ex.Message, false)); } }