예제 #1
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"));
 }
예제 #2
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"));
        }
예제 #3
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"));
        }