public ActionResult Print(HttpPostedFileBase file) { if (file != null && file.ContentLength > 0) { var star = Serializer.LoadFromStream(file.InputStream); using (var db = new ApplicationDbContext()) { var row = new DbStar { KIC_ID = star.KIC_ID, Teff = star.Teff, Logg = star.Logg, FeH = star.FeH, Mass = star.Mass, Radius = star.Radius, }; row.DbPlanets = new Collection <DbPlanet>(); foreach (var planet in star.PlanetList) { row.DbPlanets.Add(new DbPlanet { Name = planet.Name, Radius = planet.Radius, }); } db.DbStars.Add(row); db.SaveChanges(); } return(View(star)); } return(RedirectToAction("Index")); }
public ActionResult Edit([Bind(Include = "Id, KIC_ID, Teff, Logg, FeH, Mass, Radius")] DbStar dbStar) { if (ModelState.IsValid) { db.Entry(dbStar).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); } return(View(dbStar)); }
public ActionResult Create([Bind(Include = "Id, KIC_ID, Teff, Logg, FeH, Mass, Radius")] DbStar dbStar) { if (ModelState.IsValid) { db.DbStars.Add(dbStar); db.SaveChanges(); return(RedirectToAction("Index")); } return(View(dbStar)); }
// GET: DbStars/Delete/5 public ActionResult Delete(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } DbStar dbStar = db.DbStars.Find(id); if (dbStar == null) { return(HttpNotFound()); } return(View(dbStar)); }
public ActionResult DeleteConfirmed(int id) { DbStar dbStar = db.DbStars.Find(id); if (dbStar.DbPlanets.Count > 0) { var firstPlanetId = dbStar.DbPlanets[0].Id; for (int i = firstPlanetId; i <= firstPlanetId + dbStar.DbPlanets.Count; i++) { var planet = db.DbPlanets.Find(i); db.DbPlanets.Remove(planet); } } db.DbStars.Remove(dbStar); db.SaveChanges(); return(RedirectToAction("Index")); }
private ActionResult GenerateExcel() { DbStar[] stars; DbPlanet[] planets; int[] planetsCount; using (var db = new ApplicationDbContext()) { stars = db.DbStars.ToArray(); planets = db.DbPlanets.ToArray(); planetsCount = new int[planets.Length]; if (stars.Length < 1) { throw new EmptyDbException(); } for (int i = 0; i < stars.Length; i++) { DbStar dbStar = db.DbStars.Find(stars[i].Id); planetsCount[i] = dbStar.DbPlanets.Count; } } var filePath = HostingEnvironment.ApplicationVirtualPath + "Files/База астроданных.xlsx"; FileInfo excelInfo = new FileInfo(Server.MapPath(filePath)); if (excelInfo.Exists) { excelInfo.Delete(); } ExcelPackage package = new ExcelPackage(excelInfo); ExcelWorksheet worksheet = package.Workbook.Worksheets.Add("База астроданных"); worksheet.Cells[1, 1].Value = "KIC ID"; worksheet.Cells[1, 2].Value = "Teff"; worksheet.Cells[1, 3].Value = "Logg"; worksheet.Cells[1, 4].Value = "Fe/H"; worksheet.Cells[1, 5].Value = "Mass"; worksheet.Cells[1, 6].Value = "Radius"; worksheet.Cells[1, 7].Value = "Planet Name"; worksheet.Cells[1, 8].Value = "Planet Radius"; int row = 2; int planetIndex = 0; for (int i = 0; i < stars.Length; i++) { worksheet.Cells[row, 1].Value = stars[i].KIC_ID; worksheet.Cells[row, 2].Value = stars[i].Teff; worksheet.Cells[row, 3].Value = stars[i].Logg; worksheet.Cells[row, 4].Value = stars[i].FeH; worksheet.Cells[row, 5].Value = stars[i].Mass; worksheet.Cells[row, 6].Value = stars[i].Radius; int k = 0; for (int j = planetIndex; j < planetIndex + planetsCount[i]; j++) { worksheet.Cells[row + k, 7].Value = planets[j].Name; worksheet.Cells[row + k, 8].Value = planets[j].Radius; k++; } planetIndex += planetsCount[i]; if (planetsCount[i] != 0) { row += planetsCount[i]; } else { row++; } } package.Save(); return(File(filePath, "application/ooxml", "База астроданных.xlsx")); }