예제 #1
0
        public void Add(T item)
        {
            GenericValidator.CheckInitialization(item, nameof(item));

            var coordinate = _dbContext.Set <Models.Coordinates>().FirstOrDefault(c => new Coordinates(c.X, c.Y).Equals(new Coordinates(item.ObservationPoint.X, item.ObservationPoint.Y)));

            if (coordinate == null)
            {
                coordinate = new Models.Coordinates()
                {
                    X = item.ObservationPoint.X, Y = item.ObservationPoint.Y
                };
            }

            _dbContext.Set <EnergyObservations>().Add(new EnergyObservations()
            {
                Coordinate      = coordinate,
                EstimatedValue  = item.EstimatedValue,
                ObservationTime = item.ObservationTime
            });

            _dbContext.SaveChanges();

            //as we have navigation property in EnergyObservations points to coordinates, the last will be added in DB automaticly
        }
예제 #2
0
        public void Add(T item)
        {
            GenericValidator.CheckInitialization(item, nameof(item));

            var response = _httpClientService.PostAsync <T>("api/energyobservations", item).Result;

            CheckResponse(response, $"Exception occurred during add {item} to API storage.");
        }
예제 #3
0
        public bool Remove(T item)
        {
            GenericValidator.CheckInitialization(item, nameof(item));

            var response = _httpClientService.DeleteAsync <T>("api/energyobservations", item).Result;

            CheckResponse(response, $"Exception occurred during delete {item} from API storage.");

            return(response.Content.ReadAsAsync <bool>().Result);
        }
예제 #4
0
        public bool Contains(T item)
        {
            GenericValidator.CheckInitialization(item, nameof(item));

            var response = _httpClientService.PostAsync <T>("api/energyobservations/checking/existence", item).Result;

            CheckResponse(response, $"Exception occurred during clearing API storage.");

            return(response.Content.ReadAsAsync <bool>().Result);
        }
예제 #5
0
        public void Add(T item)
        {
            GenericValidator.CheckInitialization(item, nameof(item));

            var bsonItem = item.ToBsonEntity();

            bsonItem.Id = ++currentId;

            _collection.InsertOne(bsonItem);
        }
예제 #6
0
        public bool Contains(T item)
        {
            GenericValidator.CheckInitialization(item, nameof(item));

            return(_dbContext.Set <EnergyObservations>().FirstOrDefault(e => e.Id == item.Id) != null ? true : false);

            // it's for myself (from SQL Profiler)
            // exec sp_executesql N'SELECT TOP(1) [e].[Id], [e].[CoordinateId], [e].[EstimatedValue], [e].[ObservationTime]
            // FROM[EnergyObservations] AS[e]
            // WHERE[e].[Id] = @__Id_0',N'@__Id_0 int',@__Id_0=5010
        }
예제 #7
0
        public bool Remove(T item)
        {
            GenericValidator.CheckInitialization(item, nameof(item));

            var deleteResult = _collection.DeleteOne(observation => observation.Id == item.Id);

            if (!deleteResult.IsAcknowledged)
            {
                return(false);
            }

            return(deleteResult.DeletedCount > 0);
        }
예제 #8
0
        public bool Remove(T item)
        {
            GenericValidator.CheckInitialization(item, nameof(item));

            var energyEntity = item.ToORMEntity();

            try
            {
                var deletedEntity = _dbContext.Remove <EnergyObservations>(energyEntity);
                //or
                //var deletedEntity  = _dbContext.Set<EnergyObservations>().Remove(energyEntity);

                _dbContext.SaveChanges();

                return(true);
            }
            catch (DbUpdateConcurrencyException ex)
            {
                return(false);
            }
        }
예제 #9
0
        public void OnNext(T value)
        {
            GenericValidator.CheckInitialization(value, nameof(value));

            _dbStorage.Add(value);
        }
예제 #10
0
        public bool Contains(T item)
        {
            GenericValidator.CheckInitialization(item, nameof(item));

            return(_collection.AsQueryable().Any(observation => observation.Id == item.Id));
        }