/// <summary>
        /// Exports the results.
        /// </summary>
        /// <param name="exportViewModel">The export view model.</param>
        /// <returns></returns>
        public async Task <ActionResult> ExportResults(AdvancedSearchExportViewModel exportViewModel)
        {
            var viewModel = (AdvancedSearchViewModel)Session["AdvancedSearchVM"];

            if (viewModel != null)
            {
                viewModel.PageNumber = 1;
            }
            int    accountID    = this.Identity.ToAccountID();
            string accountsids  = System.Configuration.ConfigurationManager.AppSettings["Excluded_Accounts"].ToString();
            bool   accountFound = accountsids.Contains(accountID.ToString());

            if (accountFound)
            {
                throw new UnsupportedOperationException("[| You do not have permission to perform this operation.|]");
            }
            ExportSearchResponse exportResponse = await advancedSearchService.ExportSearchAsync(new ExportSearchRequest()
            {
                SearchViewModel    = viewModel,
                DownloadType       = exportViewModel.DownloadType,
                AccountId          = accountID,
                DateFormat         = this.Identity.ToDateFormat(),
                TimeZone           = this.Identity.ToTimeZone(),
                SelectedFields     = exportViewModel.SelectedFields,
                SelectedContactIds = exportViewModel.SelectedContactIds
            });

            string fileKey = Guid.NewGuid().ToString();
            bool   result  = cachingService.StoreTemporaryFile(fileKey, exportResponse.byteArray);

            //FormData data = formService.GetFormData(9849);
            //JavaScriptSerializer js = new JavaScriptSerializer();
            //var deserializedForm = js.Deserialize<Dictionary<string, Dictionary<string, string>>>(data.SubmittedData);
            //var model = (Dictionary<string, Dictionary<string, string>>)deserializedForm;
            //PDFGenerator pdfGen = new PDFGenerator();
            //byte[] bytes = pdfGen.GenerateFormSubmissionPDF(model, "LOCALHOST", "TEST FORM", "https://images.smarttouchinteractive.com/2039/ai/011b2149-27c1-4916-9605-72b25ac8235f.jpg");
            //bool result1 = cachingService.StoreTemporaryFile("64576457", bytes);


            Logger.Current.Informational("Did temporary file stored in cache : " + result.ToString());
            return(Json(new
            {
                success = true,
                fileKey = fileKey,
                fileName = exportResponse.FileName
            }, JsonRequestBehavior.AllowGet));
        }
        /// <summary>
        /// Advanced search export.
        /// </summary>
        /// <returns></returns>
        public ActionResult _AdvancedSearchExport()
        {
            var accountId = this.Identity.ToAccountID();
            var roleId    = this.Identity.ToRoleID();
            AdvancedSearchExportViewModel  exportModel  = new AdvancedSearchExportViewModel();
            IEnumerable <FieldViewModel>   searchFields = null;
            GetAdvanceSearchFieldsResponse response     = advancedSearchService.GetSearchFields(new GetAdvanceSearchFieldsRequest()
            {
                accountId = accountId,
                RoleId    = roleId
            });

            if (response.FieldsViewModel != null)
            {
                searchFields = ExcludeNonViewableFields(response.FieldsViewModel);
            }
            exportModel.SearchFields = searchFields;
            return(PartialView("_AdvancedSearchExport", exportModel));
        }