public List <MedicionTour> GetMedicionTour(IEnumerable <int> medidores, DateTime inicio, DateTime fin) { var medicionDao = new MedicionDAO(); var subEntidadDao = new SubEntidadDAO(); var list = new List <MedicionTour>(); foreach (var medidor in medidores) { var oMedidor = subEntidadDao.FindById(medidor); if (oMedidor != null && oMedidor.Sensor != null) { var agg = medicionDao.GetAggregates(oMedidor.Sensor.Dispositivo.Id, oMedidor.Sensor.Codigo, inicio, fin); var tour = new MedicionTour { Encendido = inicio, Apagado = fin, Inicio = agg.Min, Fin = agg.Max, Medidor = oMedidor }; list.Add(tour); } } return(list); }
public List <Sensor> GetSensoresLibres(IEnumerable <int> empresas, IEnumerable <int> lineas, IEnumerable <int> dispositivos, IEnumerable <int> tiposMedicion) { var subEntidadDao = new SubEntidadDAO(); var assignedSensores = subEntidadDao.FindAll().Where(c => c.Sensor != null).Select(c => c.Sensor.Id); return(GetList(empresas, lineas, dispositivos, tiposMedicion) .Where(s => !assignedSensores.Contains(s.Id)) .ToList()); }
public void SaveAndUpdateSubEntidades(EntidadPadre entidad) { var todos = new[] { -1 }; var subEntidadDao = new SubEntidadDAO(); var dispositivoDao = new DispositivoDAO(); var subentidades = subEntidadDao.GetList(todos, todos, todos, new[] { entidad.Id }, todos, todos); foreach (var subentidad in subentidades) { subentidad.Empresa = entidad.Empresa; subentidad.Linea = entidad.Linea; subEntidadDao.SaveOrUpdate(subentidad); } var dispositivo = entidad.Dispositivo; dispositivo.Empresa = entidad.Empresa; dispositivoDao.SaveOrUpdate(dispositivo); SaveOrUpdate(entidad); }