Ejemplo n.º 1
0
        public string DownloadQueryData(FetchSiteAnalyteQueryViewModel queryViewModel)
        {
            var selectedAnalytes = _variableRepository.GetAllChemistryVariables()
                                   .Where(x => queryViewModel.SelectedVariables.Contains(x.VariableID))
                                   .AsEnumerable();

            var matchedSite = _siteRepository.GetAll().Where(x => x.SamplingFeatureID == queryViewModel.SelectedSiteID).FirstOrDefault();
            var siteName    = (matchedSite == null || matchedSite.SamplingFeature == null || string.IsNullOrEmpty(matchedSite.SamplingFeature.SamplingFeatureName)) ?
                              "Unknown" :
                              matchedSite.SamplingFeature.SamplingFeatureName;

            var fileName = string.Format("{0}_Data_From_{1}_To_{2}.xlsx", siteName, queryViewModel.StartDate.ToString("MMM-dd-yyyy"), queryViewModel.EndDate.ToString("MMM-dd-yyyy"));

            var relativePathPart = Path.Combine("App_Data", "Query_Data", fileName);
            var fileFullPath     = HttpContext.Current.Server.MapPath("~/" + relativePathPart);

            var dataViewModel = FetchStationData(queryViewModel);
            var spreadSheet   = SpreadsheetHelper.GenerateQueryDataResultSpreadshet("Results", dataViewModel, selectedAnalytes);

            using (var fileStream = System.IO.File.Create(fileFullPath))
            {
                spreadSheet.Write(fileStream);
            }
            return(fileName);
        }