public async Task <IActionResult> Get(Guid Id)
        {
            var response = new APIResponse <UserProfileModel>()
            {
                Success = false
            };
            var user = await _commonUserSvc.GetUserProfile(Id);

            if (user != null)
            {
                var userResponse = Mapper.Map <UserProfileModel>(user);
                if (!string.IsNullOrWhiteSpace(user.ProfileImageKey))
                {
                    userResponse.ProfileImageUrl = AppSettings.AmazonS3Url + user.ProfileImageKey;
                }

                response.Data    = userResponse;
                response.Success = true;
            }


            //Get a list of Accounts for a user
            var accountsForaUser = await CommonContext.UserAccounts.Include(m => m.Account).ThenInclude(m => m.Partition).Where(m => m.UserId == Id).ToListAsync();

            var citations = new List <Citation>();

            //Loop through each AccountContext for this user and get a list of Citations
            foreach (var commonAccount in accountsForaUser)
            {
                //Get the correct account database based on the partition that was chosen for the account.
                var accountCtx = ContextsUtility.CreateAccountContext(Cryptography.Decrypt(commonAccount.Account.Partition.ConnectionString));

                var citationsForAccount = await accountCtx.Citations.Where(m => m.CreateUserId == Id).ToListAsync();

                citations.AddRange(citationsForAccount);
            }

            return(Ok(response));
        }