private ListadoInstrumentos ObtenerInstrumentos(List <IGrouping <int?, SenalElectronica> > SenalesAgrupadas, List <Instrumento> Instrumentos, ListadoSenales SenalesActuales) { foreach (var item in Instrumentos) { if (SenalesAgrupadas.Find(x => x.Key == item.Oid) != null) { var SenalesXInstrumento = SenalesAgrupadas.FirstOrDefault(o => o.Key.Equals(item.Oid)).Select(x => x.Id).ToArray(); var NombreInstrumento = item.NombreInstrumento; var IdInstrumento = item.Oid; var Tipo_Instrumento = item.TipoSeñal.Value; Mod_Senales[] Senales = new Mod_Senales[SenalesXInstrumento.Length]; for (int i = 0; i < SenalesXInstrumento.Length; i++) { if (SenalesXInstrumento[i].Equals(SenalesActuales.FirstOrDefault(o => o.IDProtocolo.Equals(SenalesXInstrumento[i])).IDProtocolo)) { Senales[i] = SenalesActuales.FirstOrDefault(o => o.IDProtocolo.Equals(SenalesXInstrumento[i])); } } Mod_Instrumento InstrumentoDummy = new Mod_Instrumento(IdInstrumento, NombreInstrumento, Senales, Tipo_Instrumento, "0"); InstrumentosActuales.Add(InstrumentoDummy); } else { var NombreInstrumento = item.NombreInstrumento; var IdInstrumento = item.Oid; var Tipo_Instrumento = item.TipoSeñal.Value; Mod_Senales[] Senales = new Mod_Senales[0]; Mod_Instrumento InstrumentoDummy = new Mod_Instrumento(IdInstrumento, NombreInstrumento, Senales, Tipo_Instrumento, "0"); InstrumentosActuales.Add(InstrumentoDummy); } } return(InstrumentosActuales); }
private ListadoEtiquetas ObtenerEtiquetas(List <IGrouping <int?, LabelSignalsEtiquetas> > LabelAgrupados, ListadoInstrumentos Instrumentos, List <Etiqueta> Etiquetas, List <SenalElectronica> Senales) { foreach (var item in LabelAgrupados) { var ValorEtiquetasAsociadas = item.Select(x => x.Valor).ToArray(); var IdEtiqueta = item.Key; var NombreEtiqueta = Etiquetas.FirstOrDefault(x => x.Oid.Equals(item.Key)).Nombre; var InstrumentoAsociado = Instrumentos.FirstOrDefault(y => y.ID.Equals(Etiquetas.FirstOrDefault(x => x.Oid.Equals(item.Key)).Instrumento)); var senalEtiqueta = item.Select(x => x.SenalElectronica.Value).ToArray(); Mod_Senales[] Arr_Mod_Senales = new Mod_Senales[senalEtiqueta.Length]; for (int i = 0; i < senalEtiqueta.Length; i++) { var senalAbuscar = senalEtiqueta[i]; var SenalEtiqueta = Senales.FirstOrDefault(s => s.Oid.Equals(senalAbuscar)); var Mod_Senales_Instrumento = InstrumentoAsociado.Senales.FirstOrDefault(x => x.IDProtocolo.Equals(SenalEtiqueta.Id)); Arr_Mod_Senales[i] = Mod_Senales_Instrumento; } Mod_Etiqueta _Etiquetas = new Mod_Etiqueta(IdEtiqueta, NombreEtiqueta, ValorEtiquetasAsociadas, InstrumentoAsociado, Arr_Mod_Senales); EtiquetasActuales.Add(_Etiquetas); } return(EtiquetasActuales); }
private ListadoSenales ObtenerSenales(List <IGrouping <int?, SenalElectronica> > SenalesAgrupadas) { foreach (var item in SenalesAgrupadas) { var Id_Senales_Asociadas = item.Select(x => x.Id).ToArray(); //Listado Senales Asociadas ID_Electronica var Nombre_SenaleS_Asociadas = item.Select(x => x.Nombre).ToArray(); //Listado Nombres Senales Asociadas var Tipo_Senales = item.Select(x => x.Io.ToString()).ToArray(); var Board_Elec = item.Select(x => x.Board.ToString()).ToArray(); for (int i = 0; i < Id_Senales_Asociadas.Length; i++) { Mod_Senales Senal = new Mod_Senales(Id_Senales_Asociadas[i], Nombre_SenaleS_Asociadas[i], false, Tipo_Senales[i], Board_Elec[i]); SenalesActuales.Add(Senal); } } return(SenalesActuales); }