public void DeleteReport(Report DelReport) { string deleteFolder = string.Empty; var id = DelReport.Id; using (var db = new SAPTestContext()) { var report = db.Reports.Find(id); if(report!=null && report.Executor == User.Identity.Name) { deleteFolder = Path.Combine(HostingEnvironment.MapPath("/Report1/ReportFiles"), report.Url); db.Reports.Remove(report); db.SaveChanges(); } } if (deleteFolder != "" && deleteFolder != HostingEnvironment.MapPath("/Report1/ReportFiles")) { if (Directory.Exists(deleteFolder)) { Directory.Delete(deleteFolder, true); } } }
public void UpdateReport(Report rp) { var id = rp.Id; var atId = rp.AssetId; using (var db = new SAPTestContext()) { var report = db.Reports.Find(id); var asset = db.Assets.Find(atId); if(report!=null && asset != null && report.Executor == User.Identity.Name) { report.AssetId = atId; db.SaveChanges(); } } }
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"); }