public void Delete(UserDto user)
        {
            var searchDocument = new SearchDocument
            {
                Id = user.Id.ToString()
            };

            var result = _cloudSearch.Delete(searchDocument);

            if (result.IsError)
            {
                Log.WarnFormat("Cannot delete to search index. Error: {0}", result.errors);
            }
            else
            {
                Log.InfoFormat("Deleting documents index: ", searchDocument.Id);
            }
        }
        /// <summary>
        /// Buid search document
        /// </summary>
        /// <param name="user"></param>
        /// <returns></returns>
        private SearchDocument BuidDocument(UserDto user)
        {
            try
            {
                var doc = new SearchDocument
                {
                    Id = user.Id.ToString(),
                    FirstName = GetValueOrDefault(user.FirstName),
                    LastName = GetValueOrDefault(user.LastName),
                    BusinessName = GetValueOrDefault(user.Profile.BusinessName),
                    Specialization = GetValueOrDefault(user.Profile.Specializations.FirstOrDefault().Name),
                    State = GetValueOrDefault(user.Locations.FirstOrDefault().State),
                    Postcode = GetValueOrDefault(user.Locations.FirstOrDefault().Postcode),
                    Suburb = GetValueOrDefault(user.Locations.FirstOrDefault().Suburb),
                    Language = GetValueOrDefault(user.Profile.Languages),
                    Country = GetValueOrDefault(user.Locations.FirstOrDefault().Country),
                    Profession = GetValueOrDefault(user.Profile.Specializations.FirstOrDefault().ProfessionalOrTrade)
                };

                return doc;
            }
            catch (Exception e)
            {
                Log.Error("Buil document error. UserId: " + user.Id, e);
                return null;
            }
        }