public IActionResult Put(string id, [FromBody] object content) { SqlClient sqlClient = new SqlClient(); SearchClient searchClient = new SearchClient( Environment.GetEnvironmentVariable(ServiceConfiguration.AlgoliaAppId), Environment.GetEnvironmentVariable(ServiceConfiguration.AdminKey)); SearchIndex index = searchClient.InitIndex(ServiceConfiguration.SearchIndex); if (Get(id) == null) { return(NotFound()); } CompetitiveEvent updatedEvent = JsonConvert.DeserializeObject <CompetitiveEvent>(content.ToString()); CompetitiveEvent currentEvent = sqlClient.GetCompetitiveEvent( SqlCommands.GetCompetitiveEvent, id); currentEvent = SqlOperations.UpdateCompetitiveEvent(currentEvent, updatedEvent); sqlClient.CreateOrInsert( SqlCommands.UpdateCompetitiveEvent, CompetitiveEvent.ToDictionary(currentEvent)); index.PartialUpdateObject( currentEvent, createIfNotExists: false); return(Ok()); }
public IActionResult Post([FromBody] object content) { SqlClient sqlClient = new SqlClient(); SearchClient searchClient = new SearchClient( Environment.GetEnvironmentVariable(ServiceConfiguration.AlgoliaAppId), Environment.GetEnvironmentVariable(ServiceConfiguration.AdminKey)); SearchIndex index = searchClient.InitIndex(ServiceConfiguration.SearchIndex); CompetitiveEvent competitiveEvent = JsonConvert.DeserializeObject <CompetitiveEvent>(content.ToString()); competitiveEvent.CreatedTimestamp = competitiveEvent.ModifiedTimestamp = DateTime.Now; competitiveEvent.Id = competitiveEvent.ObjectID = Guid.NewGuid().ToString(); if (Get(competitiveEvent.Id) != null) { competitiveEvent.Id = competitiveEvent.ObjectID = Guid.NewGuid().ToString(); } competitiveEvent.Version = 1; sqlClient.CreateOrInsert( SqlCommands.InsertCompetitiveEvent, CompetitiveEvent.ToDictionary(competitiveEvent)); index.SaveObject( competitiveEvent, autoGenerateObjectId: false); return(Ok()); }