public async Task <IActionResult> SetBlock([FromBody] BlockData data) { string token = this.GetToken(); if (!db.IsAuthenticated(token)) { return(Unauthorized()); } if (!this.CanDoPart(data.Block.PortalPartId)) { return(Unauthorized()); } var block = db.SetBlock(data); var bt = db.GetBlockType(block.BlockTypeId); if (bt.IsSearchable) { Task.Run(() => SolrComm.UpdateBlock(block)); } this.SaveUserAction(this.GetUserAction("Запис на част", JObject.FromObject(data).ToString())); return(Ok()); }
public async Task <IActionResult> Reindex() { string token = this.GetToken(); if (!db.IsAuthenticated(token)) { return(Unauthorized()); } await Task.Run(() => { SolrComm.DeleteAll(); int top = 0; int count = 50; Block[] blocks = null; do { blocks = db.GetNextIndexableBlocks(top, count); foreach (var b in blocks) { SolrComm.UpdateBlock(b); } top += count; } while (count == blocks.Length); }); return(Ok()); }