public async Task <IEnumerable <Models.Client> > GetClientGroupListAsync() { var loggedInUserID = _userService.GetCurrentUserId(); var loggedInUserName = _userService.GetCurrentUserName(); CoreServiceDevReference.CoreServiceClient coreServiceClient = new CoreServiceDevReference.CoreServiceClient(); var clientListingForUser = await coreServiceClient.GetClientListingForUserAsync(int.Parse(loggedInUserID)); var clientGroupList = new List <Models.Client>(); foreach (var clientList in clientListingForUser.Clients) { var client = new Models.Client(); client.ClientKey = clientList.ClientKey; client.ClientId = clientList.ClientID; client.ClientName = clientList.FirstName + " " + clientList.LastName; client.DateCreated = clientList.CreatedDateTime.ToShortDateString(); client.Email = clientList.PrimaryEmail; client.Clinician = loggedInUserName; client.ClinicianId = loggedInUserID; client.IsGroup = false; clientGroupList.Add(client); } foreach (var groupList in clientListingForUser.ClientGroups) { var client = new Models.Client(); client.GroupKey = groupList.ClientGroupKey; client.GroupName = groupList.Name; client.DateCreated = groupList.CreatedDateTime.ToShortDateString(); client.IsGroup = true; clientGroupList.Add(client); } return(clientGroupList); }
public async Task <IEnumerable <Models.Client> > GetListAsync() { var loggedInUserID = _userService.GetCurrentUserId(); CoreServiceDevReference.CoreServiceClient coreServiceClient = new CoreServiceDevReference.CoreServiceClient(); var clientListingForUser = await coreServiceClient.GetClientListingForUserAsync(int.Parse(loggedInUserID)); var clinicians = await coreServiceClient.GetClinicianListingsForUserAsync(int.Parse(loggedInUserID)); //var user = clinicians.Where(x=>x.OrgUserMappingKey == int.Parse(loggedInUserID)).Select(c => c.Name).SingleOrDefault(); var clientListing = clientListingForUser.Clients .Select(x => new Models.Client { ClientKey = x.ClientKey, ClientId = x.ClientID, ClientName = x.FirstName + " " + x.LastName, DateCreated = x.CreatedDateTime.ToShortDateString(), Email = x.PrimaryEmail , Clinician = _userService.GetCurrentUserName() , ClinicianId = loggedInUserID , IsUser = true }).ToList(); foreach (var clinicianClientGroup in clientListingForUser.ClientGroups) { foreach (var clinicianClientGroupClient in clinicianClientGroup.Clients) { var client = new Models.Client(); client.ClientKey = clinicianClientGroupClient.ClientKey; client.Clinician = _userService.GetCurrentUserName(); client.ClinicianId = loggedInUserID; client.DateCreated = clinicianClientGroup.CreatedDateTime.ToShortDateString(); client.Email = clinicianClientGroupClient.PrimaryEmail; client.ClientId = clinicianClientGroupClient.ClientID; client.ClientName = string.Format("{0} {1}", clinicianClientGroupClient.FirstName, clinicianClientGroupClient.LastName); client.GroupId = clinicianClientGroup.ClientGroupKey.ToString(); client.GroupName = clinicianClientGroup.Name; client.IsUser = true; clientListing.Add(client); } } foreach (var clinician in clinicians) { var clinicianClients = await coreServiceClient.GetClientListingForUserAsync(clinician.OrgUserMappingKey); foreach (var clinicianClient in clinicianClients.Clients) { var client = new Models.Client(); client.ClientKey = clinicianClient.ClientKey; client.Clinician = clinician.Name; client.ClinicianId = clinician.OrgUserMappingKey.ToString(); client.Email = clinicianClient.PrimaryEmail; client.DateCreated = clinicianClient.CreatedDateTime.ToShortDateString(); client.ClientId = clinicianClient.ClientID; client.ClientName = string.Format("{0} {1}", clinicianClient.FirstName, clinicianClient.LastName); clientListing.Add(client); } foreach (var clinicianClientGroup in clinicianClients.ClientGroups) { foreach (var clinicianClientGroupClient in clinicianClientGroup.Clients) { var client = new Models.Client(); client.ClientKey = clinicianClientGroupClient.ClientKey; client.Clinician = clinician.Name; client.ClinicianId = clinician.OrgUserMappingKey.ToString(); client.Email = clinicianClientGroupClient.PrimaryEmail; client.ClientId = clinicianClientGroupClient.ClientID; client.DateCreated = clinicianClientGroupClient.CreatedDateTime.ToShortDateString(); client.ClientName = string.Format("{0} {1}", clinicianClientGroupClient.FirstName, clinicianClientGroupClient.LastName); client.GroupId = clinicianClientGroup.ClientGroupKey.ToString(); clientListing.Add(client); } } } return(clientListing); }