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 ReadStock CreateDbStock(Stocks stock) { ReadStock stockDetail = new ReadStock(); try { using (IDbConnection conn = new MySqlConnection(_connString)) { stockDetail = conn.Query <ReadStock>("sp_UsedCarsCreate", stock, commandType: CommandType.StoredProcedure).FirstOrDefault(); } } catch (Exception) { throw; } return(stockDetail); }
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); }
public ReadStock ReadDbStock(int stockId) { ReadStock stockDetail = new ReadStock(); try { var param = new DynamicParameters(); param.Add("stockId", stockId, direction: ParameterDirection.Input); using (IDbConnection conn = new MySqlConnection(_connString)) { stockDetail = conn.Query <ReadStock>("sp_UsedCarsGetData", param, commandType: CommandType.StoredProcedure).AsList()[0]; } } catch (Exception) { throw; } return(stockDetail); }
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; } }
/// <summary> /// /// </summary> /// <param name="stockId"></param> /// <returns></returns> public ReadStock GetStock(int stockId) { ReadStock carDetails = null; try { string cacheKey = CreateKey(stockId); using (MemcachedClient _client = new MemcachedClient("memcached")) { carDetails = (ReadStock)_client.Get(cacheKey); if (carDetails == null) { carDetails = _dataAccessLayer.ReadDbStock(stockId); _client.Store(StoreMode.Add, cacheKey, carDetails, DateTime.Now.AddMinutes(60)); } } } catch (Exception e) { throw e; } return(carDetails); }