Ejemplo n.º 1
0
        public void getAllUsers()
        {
            try
            {
                if (UsersFetched == null)
                {
                    return;
                }

                GetUsersEventArgs getUsersEventArgs;
                List <UserModel>  users = new List <UserModel>();



                userNode.ObserveEvent(DataEventType.Value, (DataSnapshot snapshot, string prevKey) =>
                {
                    var data = snapshot.GetValue <NSDictionary>();
                    users    = new List <UserModel>();
                    if (data == null)
                    {
                        getUsersEventArgs = new GetUsersEventArgs(new List <UserModel>());
                        UsersFetched(this, getUsersEventArgs);
                        return;
                    }
                    for (int i = 0; i < data.Values.Length; i++)
                    {
                        var area = data.Values[i];
                        UserModel.userStatus userStatus = (UserModel.userStatus) int.Parse((area.ValueForKey((NSString)"status")?.ToString()));

                        if (userStatus == UserModel.userStatus.Admin)
                        {
                            continue;
                        }



                        string uid = data.Keys[i]?.ToString();

                        string name = area.ValueForKey((NSString)"name")?.ToString();

                        string mail    = area.ValueForKey((NSString)"mail")?.ToString();
                        string address = area.ValueForKey((NSString)"address")?.ToString();
                        string phone   = area.ValueForKey((NSString)"phone")?.ToString();



                        users.Add(new UserModel(name, mail, uid, address, phone, userStatus));
                    }
                    getUsersEventArgs = new GetUsersEventArgs(users);
                    UsersFetched(this, getUsersEventArgs);
                });
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
        }
Ejemplo n.º 2
0
 void UserController_UsersFetched(object sender, GetUsersEventArgs e)
 {
     users = e.ProfileImage;
     TableView.ReloadData();
 }
Ejemplo n.º 3
0
        public async Task <RESTResult <User> > GetList(GetUsersEventArgs args)
        {
            Int64 startTicks = Log.DOMAIN("Enter(User)", Common.LOG_CATEGORY);

            using (HttpClient client = new HttpClient())
            {
                Results.InitializeHttpClient(client, args.Organization.PAT);

                var requestUri = $"{args.Organization.VsSpsUri}/_apis/"
                                 + $"graph/users?"
                                 + "api-version=6.1-preview.1";

                var exchange = Results.InitializeExchange(client, requestUri);

                using (HttpResponseMessage response = await client.GetAsync(requestUri))
                {
                    Results.RecordExchangeResponse(response, exchange);

                    response.EnsureSuccessStatusCode();

                    string outJson = await response.Content.ReadAsStringAsync();

                    UsersRoot resultRoot = JsonConvert.DeserializeObject <UsersRoot>(outJson);

                    Results.ResultItems = new ObservableCollection <User>(resultRoot.value);

                    // TODO(crhodes)
                    // Remove this if not using continuationHeaders

                    #region ContinuationHeaders

                    IEnumerable <string> continuationHeaders = default;

                    bool hasContinuationToken = response.Headers.TryGetValues("x-ms-continuationtoken", out continuationHeaders);

                    while (hasContinuationToken)
                    {
                        string continueToken = continuationHeaders.First();

                        var requestUri2 = $"{args.Organization.VsSpsUri}/_apis/"
                                          + $"graph/users?"
                                          + $"continuationToken={continueToken}"
                                          + "&api-version=6.1-preview.1";

                        var exchange2 = Results.ContinueExchange(client, requestUri2);

                        using (HttpResponseMessage response2 = await client.GetAsync(requestUri2))
                        {
                            Results.RecordExchangeResponse(response2, exchange2);

                            response2.EnsureSuccessStatusCode();
                            string outJson2 = await response2.Content.ReadAsStringAsync();

                            UsersRoot resultRootC = JsonConvert.DeserializeObject <UsersRoot>(outJson2);

                            Results.ResultItems.AddRange(resultRootC.value);

                            hasContinuationToken = response2.Headers.TryGetValues("x-ms-continuationtoken", out continuationHeaders);
                        }
                    }

                    #endregion

                    Results.Count = Results.ResultItems.Count;
                }

                Log.DOMAIN("Exit(User)", Common.LOG_CATEGORY, startTicks);

                return(Results);
            }
        }