/// <summary> /// Creates an insert operation for the supplied user /// </summary> /// <param name="document">the user to create an operation for</param> /// <returns>insert operation</returns> private IndexOperation CreateDocumentInsertOperation(Document document) { this.Log.LogInformation("creating user insert"); UserDocument user = null; if (document is UserDocument) { user = (UserDocument)document; } else { this.Log.LogException("got document that is not a user document"); } // check if important values are null if (user == null || string.IsNullOrWhiteSpace(user.Key) || string.IsNullOrWhiteSpace(user.UserHandle) || string.IsNullOrWhiteSpace(user.AppHandle)) { this.Log.LogException("got bad parameters"); } IndexOperation operation = new IndexOperation(IndexOperationType.Upload, "key", user.Key) .WithProperty("firstName", user.FirstName) .WithProperty("lastName", user.LastName) .WithProperty("appHandle", user.AppHandle) .WithProperty("userHandle", user.UserHandle); return(operation); }
/// <summary> /// adds a User to the search index /// </summary> /// <param name="user">User to add</param> /// <returns>add user task</returns> public async Task AddUser(UserDocument user) { await this.AddDocument(user, this.CreateDocumentInsertOperation); }