public ElasticResult <ElasticChat> Add(string name, string creatorGuid) { var chat = new ElasticChat(name, creatorGuid, creatorGuid); var response = CheckChat(chat); return(!response.Success ? response : _entityRepository.Add(EsType, chat)); }
public ElasticResult <ElasticChat> Update(ElasticChat chat) { var response = _elasticRepository.ExecuteCreateOrUpdateRequest(chat, EsType); return(response.Success ? ElasticResult <ElasticChat> .SuccessResult(chat) : ElasticResult <ElasticChat> .FailResult(response.Message)); }
// Check Chat Is Unique private ElasticResult <ElasticChat> CheckChat(ElasticChat chat) { var searchDescriptor = new SearchDescriptor <ElasticChat>().Query( q => q.Term(t => t.Field(f => f.Guid).Value(chat.Guid))).Index(_elasticRepository.EsIndex).Type(EsType); var response = _elasticRepository.ExecuteSearchRequest(searchDescriptor); // If request well executed. And user is unique. if (response.Success && !response.Response.Hits.Any()) { return(ElasticResult <ElasticChat> .SuccessResult(chat)); } return(response.Success ? ElasticResult <ElasticChat> .FailResult("Server Error") : ElasticResult <ElasticChat> .FailResult(response.Message)); }