public async Task <IActionResult> TenantClientLists()
        {
            var token = await _tokenStore.GetAccessTokenAsync(User.XeroUserId());

            var connections = await _xeroClient.GetConnectionsAsync(token);

            connections = connections.Where(c => c.TenantType == "PRACTICEMANAGER").ToList();

            if (!connections.Any())
            {
                return(RedirectToAction(nameof(NoTenants)));
            }

            var data = new List <(Guid tenantId, ClientListResponse clients)>();

            var client = _httpClientFactory.CreateClient("XeroPracticeManager");

            client.SetBearerToken(token.AccessToken);

            //Retrieve the WorkflowMax clients for each connection we have access to
            foreach (var connection in connections)
            {
                ClientListResponse clients = await GetClients(client, connection.TenantId);

                data.Add((connection.TenantId, clients));
            }

            var model = new TenantClientListsModel
            {
                LoggedInUser  = $"{User.FindFirstValue(ClaimTypes.GivenName)} {User.FindFirstValue(ClaimTypes.Surname)}",
                TenantClients = data
            };

            return(View(model));
        }
Beispiel #2
0
 private void clientListRefreshTrigger(ClientListResponse response)
 {
     clientId = response.Client.ClientId;
     if (ClientListRefresh != null)
     {
         ClientListRefresh(response);
     }
 }
        /// <summary>
        /// List of clients
        /// </summary>
        public ClientListResponse ClientList(HeaderInfo headerInfo)
        {
            var clientListResponse = new ClientListResponse();

            clientListResponse.response = new ResponseStatus();
            // clientListResponse.clientList = Client.List(headerInfo);

            clientListResponse.clientList = RepClient.List(headerInfo);

            return(clientListResponse);
        }
Beispiel #4
0
        /// <summary>
        /// List of clients
        /// </summary>
        public ClientListResponse ClientList(HeaderInfo headerInfo)
        {
            var clientListResponse = new ClientListResponse();

            clientListResponse.response = new ResponseStatus();
            // clientListResponse.clientList = Client.List(headerInfo);

            try
            {
                clientListResponse.clientList = RepClient.List(headerInfo);
            }
            catch (Exception ex)
            {
                string s = ex.ToString();
            }
            return(clientListResponse);
        }
Beispiel #5
0
        private void refreshClientList(ClientListResponse response)
        {
            Session.Clients = response.Clients;
            lvClients.Items.Clear();
            Text             = $"Client | Chat [{response.Client.Nick} -  {response.Client.Status.ClientStatusToString()}]";
            notifyIcon1.Text = Text;
            ImageList imageList = new ImageList();

            imageList.ImageSize = new Size(18, 18);
            imageList.Images.Add(((int)ClientStatus.Available).ToString(), global::ChatClient.Properties.Resources.line);
            imageList.Images.Add(((int)ClientStatus.Away).ToString(), global::ChatClient.Properties.Resources.yellow);
            imageList.Images.Add(((int)ClientStatus.Busy).ToString(), global::ChatClient.Properties.Resources.red);
            imageList.Images.Add(((int)ClientStatus.DoNotDisturb).ToString(), global::ChatClient.Properties.Resources.dnd);
            imageList.Images.Add(((int)ClientStatus.Invisible).ToString(), global::ChatClient.Properties.Resources.gray);
            lvClients.SmallImageList = imageList;
            foreach (var client in response.Clients.Where(c => c.ClientId != Session.Client.ClientId))
            {
                ListViewItem item = new ListViewItem();
                item.Text       = client.Nick;
                item.ImageIndex = imageList.Images.IndexOfKey(((int)client.Status).ToString());
                item.SubItems.Add(client.ClientId.ToString());
                lvClients.Items.Add(item);
            }
        }
Beispiel #6
0
 private void clientListRefresh(ClientListResponse response)
 {
     Invoke(new dgClientListRefresh(refreshClientList), response);
 }