public async Task <UserSimpleQuery> InserirAsync(UserSimpleQuery query) { query.QueryId = Guid.NewGuid().ToString(); query.CreateDate = DateTime.Now; string jsonStr = JsonConvert.SerializeObject(query); using (SqlConnection conn = connectionFactory.GetConnection(Connections.PESQUISAANALYTICS)) { string queryQueue = @"INSERT INTO [TB_PESQUISA_ANALYTICS] ([CD_PESQUISA_ANALYTICS] ,[JSON_PESQUISA] ,[DT_CADASTRO] ,[ST_INATIVO] ,[DT_ALTERACAO]) VALUES (@QueryId ,@jsonStr ,GETDATE() ,0 ,GETDATE())"; await conn.ExecuteAsync(queryQueue, new { QueryId = query.QueryId, jsonStr = jsonStr }); } return(query); }
public async Task <IResponse> InsertAsync(UserSimpleQuery query) { // 1 - Valida se campos estão preenchidos if (string.IsNullOrWhiteSpace(query.Name) && query.QueryType == 1) { return(Response .CreateErrorResponse(ValidationMessageHelper .Create(ValidationMessages.REQUIRED_FIELD_NAME))); } // 2 - Pesquisa a existência de pesquisa com o mesmo nome var pesquisas = await queryRepository.SearchByUserAsync(query.UserId); if (pesquisas.Where(e => e.Name == query.Name).Count() > 0) { return(Response .CreateErrorResponse(ValidationMessageHelper .Create(ValidationMessages.DUPLICATE_NAME_SEARCH))); } // 3 - Caso pesquisa seja automática, enfileira a indexação da pesquisa //if (query.QueryType == 2) return Response.CreateResponse(await queryQueueRepository.InserirAsync(query)); // 4 - Salva as informações da pesquisa var response = await queryRepository.InsertAsync(query); return(Response.CreateResponse(response)); }
public async Task UpdateAsync(UserSimpleQuery entidade) { ElasticClient client = factory.NewClient(); entidade.ModifyDate = DateTime.Now; await client.IndexAsync(entidade, i => i.Id(entidade.QueryId).Index(PESQUISA_INDICE).Type(PESQUISA_TIPO)); }
public async Task <IResponse> DeleteAsync(UserSimpleQuery query) { var userQuery = await queryRepository.SearchByUserAsync(query.UserId); if (!userQuery.Any(e => e.QueryId == query.QueryId)) { return(Response.CreateErrorResponse(ValidationMessageHelper.Create(ValidationMessages.QUERY_NOT_FOUND))); } await queryRepository.DeleteAsync(query.QueryId); return(Response.CreateResponse()); }
public async Task <UserSimpleQuery> InsertAsync(UserSimpleQuery pesquisa) { ElasticClient client = factory.NewClient(); pesquisa.QueryId = Guid.NewGuid().ToString(); pesquisa.CreateDate = DateTime.Now; var response = await client.CreateAsync(pesquisa, i => i .Id(pesquisa.QueryId) .Index(PESQUISA_INDICE) .Type(PESQUISA_TIPO)); return(pesquisa); }