// GET: Report public ActionResult Index(MyReportFilter Filter, int page = 1) { ReportInfo ri = getReports(Filter, page); ri.Request = Request.Url; return(View(ri)); }
private ReportInfo getReports(MyReportFilter Filter, int page) { ReportInfo ri = new ReportInfo(); ri.Filter = Filter; var u = InternalAttribute.GetUser(); if (u != null) { ri.IsVaildUser = true; } string user = User.Identity.Name.Trim().ToLower(); ViewBag.Message = ""; using (var db = new SAPTestContext()) { IQueryable <Report> reportQuery = db.Reports.Include(r => r.Asset.Release.Project).Include(r => r.User); if (Filter.qs != null) { reportQuery = reportQuery.Where(r => r.TestName.Contains(Filter.qs)); ViewBag.Message += " Test Name contains:" + Filter.qs + "\n"; } if (Filter.Pid > 0) { reportQuery = reportQuery.Where(r => r.Asset.Release.Project.Id == Filter.Pid); ViewBag.Message += "Project:" + db.Projects.Find(Filter.Pid).Name + "\n"; } if (Filter.Rid > 0) { reportQuery = reportQuery.Where(r => r.Asset.Release.Id == Filter.Rid); ViewBag.Message += "Release:" + db.Releases.Find(Filter.Rid).Name + "\n"; } if (Filter.Aid > 0) { reportQuery = reportQuery.Where(r => r.Asset.Id == Filter.Aid); ViewBag.Message += "Asset:" + db.Assets.Find(Filter.Aid).Name + "\n"; } ri.TotalReportNum = reportQuery.Count(); if (Filter.isMyReport) { ViewBag.PageCount = Math.Ceiling((double)ri.MyReportNum / _numInPage); ri.IsMyReport = true; reportQuery = reportQuery.Where(r => r.Executor.Trim().ToLower() == user); ri.MyReportNum = reportQuery.Count(); //ri.Reports = reportQuery.Where(r => r.Executor.Trim().ToLower() == user).OrderByDescending(c => c.SubmitDt).Skip(_numInPage * (page - 1)).Take(_numInPage).ToList(); } else { ri.MyReportNum = reportQuery.Where(r => r.Executor.Trim().ToLower() == user).Count(); //ri.Reports = reportQuery.OrderByDescending(c => c.SubmitDt).Skip(_numInPage * (page - 1)).Take(_numInPage).ToList(); ViewBag.PageCount = Math.Ceiling((double)ri.TotalReportNum / _numInPage); } if (Filter.Sort == -1) { reportQuery = reportQuery.OrderByDescending(c => c.SubmitDt); } else if (Filter.Sort == 0) { reportQuery = reportQuery.OrderBy(c => c.CaseNum).ThenByDescending(c => c.SubmitDt); } else { reportQuery = reportQuery.OrderByDescending(c => c.CaseNum).ThenByDescending(c => c.SubmitDt); } ri.Reports = reportQuery.Skip(_numInPage * (page - 1)).Take(_numInPage).ToList(); } ViewBag.CurrentPage = page; return(ri); }
public ActionResult Upload() { var u = InternalAttribute.GetUser(); if (u != null) { HttpPostedFileBase file = Request.Files["file"]; string guid = Guid.NewGuid().ToString(); string path = HttpContext.Server.MapPath("/Report1/Temp"); string backupPath = HttpContext.Server.MapPath("/Report1/Backup"); string reportFolder = HttpContext.Server.MapPath("/Report1/ReportFiles"); if (!Directory.Exists(path)) { Directory.CreateDirectory(path); } if (!Directory.Exists(backupPath)) { Directory.CreateDirectory(backupPath); } string fileName = Path.Combine(path, guid + "_" + file.FileName.Split('\\').Last()); string type = file.ContentType; file.SaveAs(fileName); FileInfo fi = new FileInfo(fileName); int atId; try { if (string.Compare(fi.Extension, ".zip", true) == 0 && int.TryParse(Request.Form["asset"], out atId) && atId > 0) { ZipFile.ExtractToDirectory(fileName, Path.Combine(reportFolder, guid)); string reportFile = Path.Combine(reportFolder, guid, "report.xml"); if (System.IO.File.Exists(reportFile)) { XmlDocument xDoc = new XmlDocument(); xDoc.Load(reportFile); Report rp = ReportReader.ReadReport(xDoc); rp.Executor = User.Identity.Name; rp.Uid = u.Id; using (var db = new SAPTestContext()) { rp.Url = guid; // "/Report1/ReportFiles/" + guid + "/report.xml"; Asset at = db.Assets.Find(atId); if (at != null) { rp.Asset = at; } db.Reports.Add(rp); db.SaveChanges(); } ViewBag.Flag = true; } else { Directory.Delete(Path.Combine(reportFolder, guid), true); ViewBag.Flag = false; } } else { ViewBag.Flag = false; } System.IO.File.Move(fileName, Path.Combine(backupPath, guid + ".zip")); } catch (Exception ex) { ViewBag.ErrorMsg = ex.Message; fi.Delete(); if (Directory.Exists(Path.Combine(reportFolder, guid))) { Directory.Delete(Path.Combine(reportFolder, guid), true); } throw new Exception(); } MyReportFilter filter = new MyReportFilter(); filter.isMyReport = true; return(RedirectToAction("Index", filter)); } return(RedirectToAction("Index")); }
// GET: Report public ActionResult Index(MyReportFilter Filter,int page = 1) { ReportInfo ri = getReports(Filter,page); ri.Request = Request.Url; return View(ri); }
private ReportInfo getReports(MyReportFilter Filter,int page) { ReportInfo ri = new ReportInfo(); ri.Filter = Filter; var u = InternalAttribute.GetUser(); if (u != null) ri.IsVaildUser = true; string user = User.Identity.Name.Trim().ToLower(); ViewBag.Message = ""; using (var db = new SAPTestContext()) { IQueryable<Report> reportQuery = db.Reports.Include(r => r.Asset.Release.Project).Include(r => r.User); if(Filter.qs != null) { reportQuery = reportQuery.Where(r=>r.TestName.Contains(Filter.qs)); ViewBag.Message += " Test Name contains:" + Filter.qs +"\n"; } if (Filter.Pid > 0) { reportQuery = reportQuery.Where(r=>r.Asset.Release.Project.Id == Filter.Pid); ViewBag.Message += "Project:" + db.Projects.Find(Filter.Pid).Name + "\n"; } if (Filter.Rid > 0) { reportQuery = reportQuery.Where(r=>r.Asset.Release.Id == Filter.Rid); ViewBag.Message += "Release:" + db.Releases.Find(Filter.Rid).Name + "\n"; } if (Filter.Aid > 0) { reportQuery = reportQuery.Where(r=>r.Asset.Id == Filter.Aid); ViewBag.Message += "Asset:" + db.Assets.Find(Filter.Aid).Name + "\n"; } ri.TotalReportNum = reportQuery.Count(); if (Filter.isMyReport) { ViewBag.PageCount = Math.Ceiling((double)ri.MyReportNum / _numInPage); ri.IsMyReport = true; reportQuery = reportQuery.Where(r => r.Executor.Trim().ToLower() == user); ri.MyReportNum = reportQuery.Count(); //ri.Reports = reportQuery.Where(r => r.Executor.Trim().ToLower() == user).OrderByDescending(c => c.SubmitDt).Skip(_numInPage * (page - 1)).Take(_numInPage).ToList(); } else { ri.MyReportNum = reportQuery.Where(r => r.Executor.Trim().ToLower() == user).Count(); //ri.Reports = reportQuery.OrderByDescending(c => c.SubmitDt).Skip(_numInPage * (page - 1)).Take(_numInPage).ToList(); ViewBag.PageCount = Math.Ceiling((double)ri.TotalReportNum / _numInPage); } if (Filter.Sort == -1) { reportQuery = reportQuery.OrderByDescending(c => c.SubmitDt); } else if (Filter.Sort == 0) { reportQuery = reportQuery.OrderBy(c => c.CaseNum).ThenByDescending(c => c.SubmitDt); } else { reportQuery = reportQuery.OrderByDescending(c => c.CaseNum).ThenByDescending(c => c.SubmitDt); } ri.Reports = reportQuery.Skip(_numInPage * (page - 1)).Take(_numInPage).ToList(); } ViewBag.CurrentPage = page; return ri; }
public ActionResult Upload() { var u = InternalAttribute.GetUser(); if (u!=null) { HttpPostedFileBase file = Request.Files["file"]; string guid = Guid.NewGuid().ToString(); string path = HttpContext.Server.MapPath("/Report1/Temp"); string backupPath = HttpContext.Server.MapPath("/Report1/Backup"); string reportFolder = HttpContext.Server.MapPath("/Report1/ReportFiles"); if (!Directory.Exists(path)) { Directory.CreateDirectory(path); } if (!Directory.Exists(backupPath)) { Directory.CreateDirectory(backupPath); } string fileName = Path.Combine(path, guid + "_" + file.FileName.Split('\\').Last()); string type = file.ContentType; file.SaveAs(fileName); FileInfo fi = new FileInfo(fileName); int atId; try { if (string.Compare(fi.Extension, ".zip", true) == 0 && int.TryParse(Request.Form["asset"], out atId) && atId > 0) { ZipFile.ExtractToDirectory(fileName, Path.Combine(reportFolder, guid)); string reportFile = Path.Combine(reportFolder, guid, "report.xml"); if (System.IO.File.Exists(reportFile)) { XmlDocument xDoc = new XmlDocument(); xDoc.Load(reportFile); Report rp = ReportReader.ReadReport(xDoc); rp.Executor = User.Identity.Name; rp.Uid = u.Id; using (var db = new SAPTestContext()) { rp.Url = guid; // "/Report1/ReportFiles/" + guid + "/report.xml"; Asset at = db.Assets.Find(atId); if (at != null) { rp.Asset = at; } db.Reports.Add(rp); db.SaveChanges(); } ViewBag.Flag = true; } else { Directory.Delete(Path.Combine(reportFolder, guid), true); ViewBag.Flag = false; } } else { ViewBag.Flag = false; } System.IO.File.Move(fileName, Path.Combine(backupPath, guid + ".zip")); } catch (Exception ex) { ViewBag.ErrorMsg = ex.Message; fi.Delete(); if (Directory.Exists(Path.Combine(reportFolder, guid))) { Directory.Delete(Path.Combine(reportFolder, guid), true); } throw new Exception(); } MyReportFilter filter = new MyReportFilter(); filter.isMyReport = true; return RedirectToAction("Index", filter); } return RedirectToAction("Index"); }