Example #1
0
        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");
        }
Example #2
0
        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");
        }
Example #3
0
        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);
        }
Example #4
0
 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");
 }