Beispiel #1
0
        public int CreateStock(Stocks stock)
        {
            int _newStockid = 0;

            try
            {
                ReadStock           createdData   = new ReadStock();
                ESGetDetail         createdESData = new ESGetDetail();
                ElasticSearchClient createES      = new ElasticSearchClient();
                createdData = _dataAccessLayer.CreateDbStock(stock);
                string cacheKey = CreateKey(createdData.ID);
                using (MemcachedClient client = new MemcachedClient("memcached"))
                {
                    client.Store(StoreMode.Add, cacheKey, createdData, DateTime.Now.AddMinutes(15));
                }
                createdESData = ConvertCachetoESData(createdData);
                //getCreatedData = Mapper.Map<ReadStock, ESGetDetail>(getCreatedData);
                createES.CreateESStock(createdESData);
                _newStockid = createdESData.ID;
            }
            catch (Exception)
            {
                throw;
            }
            return(_newStockid);
        }
        public void CreateESStock(ESGetDetail createdStock)
        {
            int id = createdStock.ID;

            _client.Index(createdStock, i => i
                          .Id(id.ToString())
                          );
        }
 public void UpdateESStock(int stockId, ESGetDetail updatedStock)
 {
     _client.Update <ESGetDetail, object>(u => u
                                          .Id(stockId)
                                          .Doc(updatedStock)
                                          .RetryOnConflict(3)
                                          .Refresh()
                                          );
 }
Beispiel #4
0
        private ESGetDetail ConvertCachetoESData(ReadStock getUpdatedData)
        {
            ESGetDetail convertedData = new ESGetDetail();

            if (getUpdatedData != null)
            {
                convertedData.CarCompany = getUpdatedData.CarCompany;
                convertedData.ID         = getUpdatedData.ID;
                convertedData.Price      = getUpdatedData.Price;
                convertedData.Year       = getUpdatedData.Year;
                convertedData.Kilometers = getUpdatedData.Kilometers;
                convertedData.FuelType   = getUpdatedData.FuelType;
                convertedData.City       = getUpdatedData.City;
                convertedData.ModelName  = getUpdatedData.ModelName;
                convertedData.CarVersion = getUpdatedData.CarVersion;
            }
            return(convertedData);
        }
Beispiel #5
0
        public void UpdateStock(int stockId, Stocks stock)
        {
            string              cacheKey      = CreateKey(stockId);
            ReadStock           updatedData   = new ReadStock();
            ElasticSearchClient updateES      = new ElasticSearchClient();
            ESGetDetail         updatedESData = new ESGetDetail();

            try
            {
                updatedData = _dataAccessLayer.EditDbStock(stockId, stock);
                using (MemcachedClient client = new MemcachedClient("memcached"))
                {
                    client.Store(StoreMode.Set, cacheKey, updatedData, DateTime.Now.AddMinutes(60));
                }
                updatedESData = ConvertCachetoESData(updatedData);
                //getCreatedData = Mapper.Map<ReadStock, ESGetDetail>(getCreatedData);
                updateES.UpdateESStock(stockId, updatedESData);
            }
            catch (Exception)
            {
                throw;
            }
        }