public ActionResult CoverageAnalyze(HttpPostedFileBase[] fileUpload, CoverageStatChart chart) { List<CoverageStat> coverageStatList = new List<CoverageStat>(); if (fileUpload[0] != null) { foreach (HttpPostedFileBase file in fileUpload) { using (HttpFileImporter importer = new HttpFileImporter(file)) { if (!importer.Success) { if (TempData["warning"] == null) { TempData["warning"] = "请选择合适的路测数据导入!读取以下文件失败:" + importer.FilePath; } else { TempData["warning"] += "; " + importer.FilePath; } } else { string extension = Path.GetExtension(importer.FileName); if (extension != null) { string fileExt = extension.ToLower(); coverageStatList.AddRange( (fileExt == ".txt") ? CsvContext.Read<LogRecord>( importer.Reader, CsvFileDescription.TabDescription).Select(x => { CoverageStat stat = new CoverageStat(); stat.Import(x); return stat; }).ToList() : CsvContext.Read<HugelandRecord>( importer.Reader, CsvFileDescription.CommaDescription).Select(x => { CoverageStat stat = new CoverageStat(); stat.Import(x); return stat; })); } chart.Import(coverageStatList); if (TempData["warning"] == null) { TempData["success"] = "导入路测数据成功!"; } } } } } ViewBag.Title = "路测覆盖指标分析"; TempData["StatLength"] = chart.StatList.Count; return View("CoverageImport"); }
public ActionResult HandoverAnalyze() { using (HttpFileImporter importer = new HttpFileImporter(Request.Files["fileUpload"])) { if (!importer.Success) { TempData["error"] = "请选择合适的路测数据导入!"; } else { LogRecordRepository recordRepository = new LogRecordRepository { LogRecordList = CsvContext.Read<LogRecord>( new StreamReader(importer.FilePath), CsvFileDescription.TabDescription).ToList().Merge() }; recordRepository.GetHandoverInfoList(); ViewBag.Title = "导入路测数据:" + importer.FileName; } } return View("HandoverImport"); }
public static TResult ImportInfo <TResult>(this HttpPostedFileBase attachedFile, Func <string, TResult> ImportAction, string keyword) { TResult result; using (HttpFileImporter importer = new HttpFileImporter(attachedFile)) { if (importer.Success) { result = ImportAction(importer.FilePath); } else { string file = Directory.GetFiles(importer.BaseDirectory).FirstOrDefault( x => x.IndexOf(keyword, StringComparison.Ordinal) > 0); if (file != null) { importer.Success = true; } result = ImportAction(file); } } return(result); }
public ActionResult RateAnalyze(RateStatChart chart) { using (HttpFileImporter importer = new HttpFileImporter(Request.Files["fileUpload"])) { if (!importer.Success) { TempData["error"] = "请选择合适的路测数据导入!"; ViewBag.Title = "导入路测数据"; } else { TempData["Path"] = importer.FilePath; string extension = Path.GetExtension(importer.FileName); if (extension != null) { string fileExt = extension.ToLower(); List<BasicRateStat> rateStatList = (fileExt == ".txt") ? CsvContext.Read<LogRecord>( importer.Reader, CsvFileDescription.TabDescription).ToList().MergeStat().Merge() : CsvContext.Read<HugelandRecord>( importer.Reader, CsvFileDescription.CommaDescription).Select( x => x.Normalize()).ToList().MergeStat().Where( x => x.PdschRbRate > 0).Select(x => (BasicRateStat)x).ToList(); chart.Import(rateStatList); } ViewBag.Title = "路测速率指标分析"; TempData["success"] = "导入路测数据:" + importer.FileName + "成功!"; } } TempData["StatLength"] = chart.StatList.Count; return View("RateImport"); }