public async Task <IHttpActionResult> DeleteStation(int stationId) { string token = Request.Headers.GetValues("Authorization").FirstOrDefault(); int userId = JwtHelper.Instance.GetUserId(token); IStationDao stationDao = AdoFactory.Instance.GetStationDao("wetr"); IEnumerable <Station> stations = await stationDao.FindByUserIdAsync(userId); if (stations.Where(s => s.StationId == stationId).Count() == 0) { /* No station found so it might have been already deleted. */ return(Content(HttpStatusCode.Forbidden, new object())); } IMeasurementDao measurementDao = AdoFactory.Instance.GetMeasurementDao("wetr"); if ((await measurementDao.FindByStationIdAsync(stationId)).Count() > 0) { /* There must not be any measurmenets associated with this station. */ return(Content(HttpStatusCode.Forbidden, new object())); } await stationDao.DeleteAsync(stationId); return(Content(HttpStatusCode.OK, new object())); }
public async Task <IEnumerable <Measurement> > GetLatestMeasurementsForStation(int stationId, int queryMode, int limitation) { try { IMeasurementDao measurementDao = GetIMeasurementDao(); return(await measurementDao.GetLastMeasurementsForStation(stationId, queryMode, limitation)); } catch (Exception) { return(null); } }
public async Task <IEnumerable <MeasurementAnalytic> > Avg(DateTime start, DateTime end, int queryMode, int groupByMode, IEnumerable <Station> stations) { try { IMeasurementDao measurementDao = GetIMeasurementDao(); return((await measurementDao.GetAvg(start, end, queryMode, groupByMode, stations)).OrderBy(x => x.GetDateTime())); } catch (Exception) { return(null); } }
public async Task <IEnumerable <Measurement> > GetMeasurementsForStation(int stationId, DateTime start, DateTime end, int queryMode) { try { IMeasurementDao measurementDao = GetIMeasurementDao(); return(await measurementDao.GetMeasurementsForStation(stationId, start, end, queryMode)); } catch (Exception) { return(null); } }
public async Task <bool> AddNewMeasurementDataPackage(Measurement measurement) { try { IMeasurementDao measurementDao = GetIMeasurementDao(); if (measurement != null) { return(await measurementDao.AddMeasurementAsync(measurement)); } return(false); } catch (Exception) { return(false); } }
public async Task <IHttpActionResult> PostMeasurement(MeasurementDTO measurement) { /* Check if model is valid */ if (!ModelState.IsValid) { var errors = ModelState.ToDictionary( kvp => kvp.Key, kvp => kvp.Value.Errors.Select(e => e.ErrorMessage).ToArray() ); return(Content(HttpStatusCode.BadRequest, errors)); } IMeasurementDao dao = AdoFactory.Instance.GetMeasurementDao("wetr"); await dao.InsertAsync(measurement.ToMeasurement()); return(Content(HttpStatusCode.OK, new object())); }
public async Task <IHttpActionResult> QueryMeasurements(QueryRequest query) { /* Check if model is valid */ if (!ModelState.IsValid) { var errors = ModelState.ToDictionary( kvp => kvp.Key, kvp => kvp.Value.Errors.Select(e => e.ErrorMessage).ToArray() ); return(Content(HttpStatusCode.BadRequest, errors)); } IMeasurementDao dao = AdoFactory.Instance.GetMeasurementDao("wetr"); IStationDao stationDao = AdoFactory.Instance.GetStationDao("wetr"); Station s = await stationDao.FindByIdAsync(query.StationId); double[] result = await dao.GetQueryResult(query.Start, query.End, query.MeasurementTypeId, query.ReductionTypeId, query.GroupingTypeId, new List <Station>() { s }); return(Content(HttpStatusCode.OK, result)); }
public MeasurementManager(IMeasurementDao measurementDao, IStationDao stationDao, IAddressManager addressManager) { this.measurementDao = measurementDao; this.stationDao = stationDao; this.addressManager = addressManager; SetupTwitter(); /* Twitter Testing * * Measurement m = new Measurement() * { * StationId = 45, * MeasurementTypeId = 1, * Value = -23, * TimesStamp = DateTime.Now, * UnitId=1 * * }; * * bool res = AddMeasurement(m).Result; * */ }
public StationManager(IStationDao stationDao, IStationTypeDao stationTypeDao, IMeasurementDao measurementDao) { this.stationDao = stationDao; this.stationTypeDao = stationTypeDao; this.measurementDao = measurementDao; }
private static IMeasurementDao GetIMeasurementDao() { return(_iMeasurementDao ?? (_iMeasurementDao = new AdoMeasurementDao(DefaultConnectionFactory.FromConfiguration(_connectionStringConfigName)))); }