public PagedResultDto <DeviceDto> GetByGateway(string GatewayName) { var gatewayQuery = _gatewayRepository.GetAll().Where(g => g.GatewayName == GatewayName).Where(g => g.IsDeleted == false); if (!gatewayQuery.Any()) { throw new ApplicationException("gateway 不存在或已被删除"); } var query = _deviceRepository.GetAll().Where(d => d.IsDeleted == false).Where(d => d.Gateway.GatewayName == GatewayName) .Include(d => d.Gateway) .Include(d => d.Gateway.Workshop) .Include(d => d.Gateway.Workshop.Factory) .Include(d => d.Gateway.Workshop.Factory.City) .Include(d => d.DeviceType); var total = query.Count(); var result = query.ToList(); return(new PagedResultDto <DeviceDto>(total, ObjectMapper.Map <List <DeviceDto> >(result))); }
//获得城市下拉选项直到网关 public List <object> GetCityCascaderOptionsTilGateway() { var cityQuery = _cityRepository.GetAll().Where(c => c.IsDeleted == false); List <City> cities1 = cityQuery.ToList(); List <CityDto> cities = ObjectMapper.Map <List <CityDto> >(cities1); List <object> result = new List <object>(); result.Add(new { value = "全部", label = "全部" }); foreach (CityDto c in cities) { List <object> children = new List <object>(); var factoryQuery = _factoryRepository.GetAll().Where(f => f.IsDeleted == false).Where(f => f.City.CityName == c.CityName); List <Factory> factories1 = factoryQuery.ToList(); List <FactoryDto> factories = ObjectMapper.Map <List <FactoryDto> >(factories1); children.Add(new { value = "全部", label = "全部" }); foreach (FactoryDto f in factories) { List <object> subchildren = new List <object>(); var workshopQuery = _workshopRepository.GetAll().Where(w => w.IsDeleted == false).Where(w => w.Factory.FactoryName == f.FactoryName); List <Workshop> workshops1 = workshopQuery.ToList(); List <WorkshopDto> workshops = ObjectMapper.Map <List <WorkshopDto> >(workshops1); subchildren.Add(new { value = "全部", label = "全部" }); foreach (WorkshopDto w in workshops) { List <object> subchildren_2 = new List <object>(); var gatewayQuery = _gatewayRepository.GetAll().Where(g => g.IsDeleted == false).Where(g => g.Workshop.WorkshopName == w.WorkshopName); List <Gateway> gateways1 = gatewayQuery.ToList(); List <GatewayDto> gateways = ObjectMapper.Map <List <GatewayDto> >(gateways1); subchildren_2.Add(new { value = "全部", label = "全部" }); foreach (GatewayDto g in gateways) { subchildren_2.Add(new { varlue = g.GatewayName, label = g.GatewayName }); } subchildren.Add(new { value = w.WorkshopName, label = w.WorkshopName, Gateway = subchildren_2 }); } children.Add(new { value = f.FactoryName, label = f.FactoryName, Workshop = subchildren }); } result.Add(new { value = c.CityName, label = c.CityName, Factory = children }); } return(result); }
public GatewayDto Get(EntityDto <int> input) { var query = _gatewayRepository.GetAll().Where(g => g.Id == input.Id) .Include(g => g.Workshop) .Include(g => g.Workshop.Factory) .Include(g => g.Workshop.Factory.City) .Include(g => g.GatewayType); var entity = query.FirstOrDefault(); if (entity.IsNullOrDeleted()) { throw new ApplicationException("该设备不存在或已被删除"); } return(ObjectMapper.Map <GatewayDto>(entity)); }
public IHttpActionResult GetSensorConnections(int networkId, int sensorId, int page = 1, int pageSize = 30) { _credentials.SetCredentials(Request.Headers.Authorization.Parameter); var userId = _userRep.Get(_credentials.Email, _credentials.Password).Id; if (!_networkRep.GetAll().Any(n => n.Id == networkId && n.User_Id == userId)) { var errorMessage = _messages.GetMessage(Custom.NotFound, "Network", "Id"); return(NotFound(errorMessage)); } var sensor = _sensorRep.Get(sensorId); if (sensor == null) { var errorMessage = _messages.GetMessage(Custom.NotFound, "Sensor", "Id"); return(NotFound(errorMessage)); } if (page < 1) { page = 1; } if (pageSize < 1) { pageSize = 30; } var connections = _connectionRep.GetAll() .Where(c => c.Sensor_Id == sensorId); var totalCount = connections.Count(); var pageCount = (int)Math.Ceiling((float)totalCount / pageSize); var results = _gatewayRep.GetAll() .Join(connections, g => g.Id, c => c.Gateway_Id, (g, c) => g) .Skip(pageSize * (page - 1)) .Take(pageSize) .Select(p => _mapper.Map <GatewayModelGet>(p)) .ToList(); return(Ok("GetGatewayConnections", page, pageSize, pageCount, totalCount, results)); }
public IHttpActionResult Add(int networkId, GatewayModelPost gatewayModel) { _credentials.SetCredentials(Request.Headers.Authorization.Parameter); var userId = _userRep.Get(_credentials.Email, _credentials.Password).Id; if (!_networkRep.GetAll().Any(n => n.Id == networkId && n.User_Id == userId)) { var errorMessage = _messages.GetMessage(Custom.NotFound, "Network", "Id"); return(NotFound(errorMessage)); } if (gatewayModel == null) { var errorMessage = _messages.GetMessage(Generic.NullObject); return(BadRequest(errorMessage)); } if (_gatewayRep.GetAll().Any(g => g.Name == gatewayModel.Name)) { var errorMessage = _messages.GetMessage(Custom.Conflict, "Gateway", "Name"); return(Conflict(errorMessage)); } if (_gatewayRep.GetAll().Any(g => g.Address == gatewayModel.Address)) { var errorMessage = _messages.GetMessage(Custom.Conflict, "Gateway", "Address"); return(Conflict(errorMessage)); } var newGateway = _mapper.Map <Gateway>(gatewayModel); newGateway.Network_Id = networkId; newGateway.ProductionDate = _dateTime.GetDateTime(); _gatewayRep.Add(newGateway); var createdGateway = _mapper.Map <GatewayModelGet>(newGateway); return(CreatedAtRoute("GetGateway", new { networkId, id = createdGateway.Id }, createdGateway)); }
public IQueryable <Gateway> GetAll() { return(_gatewayRepositories.GetAll()); }
public IQueryable <TEntity> GetAll <TEntity>() where TEntity : class { return(repository.GetAll <TEntity>()); }
public IHttpActionResult Add(SensorReadingModelPost sensorReadingModel) { if (sensorReadingModel == null) { var errorMessage = _messages.GetMessage(Generic.NullObject); return(BadRequest(errorMessage)); } _throttler.ThrottlerSetup(sensorReadingModel.SensorAddress, 1, 3); if (_throttler.RequestShouldBeThrottled()) { return(TooManyRequests(_throttler)); } var sensor = _sensorRep.GetAll() .Where(s => s.Address == sensorReadingModel.SensorAddress) .SingleOrDefault(); if (sensor != null) { var gateway = _gatewayRep.GetAll() .SingleOrDefault(g => g.Address == sensorReadingModel.GatewayAddress); if (gateway == null) { var errorMessage = _messages.GetMessage(Custom.NotFound, "Gateway", "Address"); return(NotFound(errorMessage)); } var sensorReading = _mapper.Map <SensorReading>(sensorReadingModel); sensorReading.Sensor_Id = sensor.Id; sensorReading.InsertDate = _dateTime.GetDateOffSet(); _readingRep.Add(sensorReading); var pending = TheSensorIntervalPending .GetPendingMember(sensor.Id); //Check if the pending exists if (pending != null) { _mapper.Map(pending, sensor); TheSensorIntervalPending.ClearPending(pending); } sensor.Active = true; sensor.LastReadingDate = sensorReading.ReadingDate; sensor.LastInsertDate = sensorReading.InsertDate; _sensorRep.Update(sensor); var address = sensorReadingModel.SensorAddress; Hub.Clients.Group(address).refreshReadings(); //add the gateway connections if (!_connectionRep.GetAll() .Any( c => c.Gateway_Id == gateway.Id && c.Sensor_Id == sensor.Id) ) { var connection = _connectionService.Create(gateway.Id, sensor.Id); _connectionRep.Add(connection); } gateway.LastSensorDate = sensorReading.ReadingDate; _gatewayRep.Update(gateway); var createdReading = _mapper.Map <SensorReadingModelGet>(sensorReading); return(Created($"api/networks/{sensor.Network_Id}/sensors/{sensor.Id}/readings", createdReading)); } else { var errorMessage = _messages.GetMessage(Custom.NotFound, "Sensor", "Address"); return(NotFound(errorMessage)); } }
public async Task <ICollection <Gateway> > GetAll() { return((await _repo.GetAll()).Select(i => ConvertoModel(i)).ToList()); }