public async Task <IActionResult> Edit(int id, [Bind("Id,LakeId,SurveyYear,LakeLength,LakeShorelineLength,LakeMirrorArea,LakeAbsoluteHeight,LakeWidth,LakeMaxDepth,LakeWaterMass,ArchivalInfoSource")] LakesArchiveData lakesArchiveData) { if (id != lakesArchiveData.Id) { return(NotFound()); } if (ModelState.IsValid) { try { _context.Update(lakesArchiveData); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!LakesArchiveDataExists(lakesArchiveData.Id)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } return(View(lakesArchiveData)); }
public async Task <IActionResult> Create([Bind("Id,LakeId,SurveyYear,LakeLength,LakeShorelineLength,LakeMirrorArea,LakeAbsoluteHeight,LakeWidth,LakeMaxDepth,LakeWaterMass,ArchivalInfoSource")] LakesArchiveData lakesArchiveData) { if (ModelState.IsValid) { _context.Add(lakesArchiveData); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } return(View(lakesArchiveData)); }
public async Task <IActionResult> Upload(bool FirstRowHeader, IFormFile File) { try { string sContentRootPath = _hostingEnvironment.WebRootPath; sContentRootPath = Path.Combine(sContentRootPath, "Uploads"); DirectoryInfo di = new DirectoryInfo(sContentRootPath); foreach (FileInfo filed in di.GetFiles()) { try { filed.Delete(); } catch { } } string path_filename = Path.Combine(sContentRootPath, Path.GetFileName(File.FileName)); using (var stream = new FileStream(Path.GetFullPath(path_filename), FileMode.Create)) { await File.CopyToAsync(stream); } FileInfo fileinfo = new FileInfo(Path.Combine(sContentRootPath, Path.GetFileName(path_filename))); using (ExcelPackage package = new ExcelPackage(fileinfo)) { int start_row = 1; if (FirstRowHeader) { start_row++; } List <LakesArchiveData> lakesArchiveDatas = new List <LakesArchiveData>(); for (int i = start_row; ; i++) { if (package.Workbook.Worksheets.FirstOrDefault().Cells[i, 1].Value == null) { break; } LakesArchiveData lakesArchiveData = new LakesArchiveData(); try { lakesArchiveData.LakeId = Convert.ToInt32(package.Workbook.Worksheets.FirstOrDefault().Cells[i, 1].Value); lakesArchiveData.SurveyYear = package.Workbook.Worksheets.FirstOrDefault().Cells[i, 2].Value == null ? (int?)null : Convert.ToInt32(package.Workbook.Worksheets.FirstOrDefault().Cells[i, 2].Value); lakesArchiveData.LakeLength = package.Workbook.Worksheets.FirstOrDefault().Cells[i, 3].Value == null ? (decimal?)null : Convert.ToDecimal(package.Workbook.Worksheets.FirstOrDefault().Cells[i, 3].Value); lakesArchiveData.LakeShorelineLength = package.Workbook.Worksheets.FirstOrDefault().Cells[i, 4].Value == null ? (decimal?)null : Convert.ToDecimal(package.Workbook.Worksheets.FirstOrDefault().Cells[i, 4].Value); lakesArchiveData.LakeMirrorArea = package.Workbook.Worksheets.FirstOrDefault().Cells[i, 5].Value == null ? (decimal?)null : Convert.ToDecimal(package.Workbook.Worksheets.FirstOrDefault().Cells[i, 5].Value); lakesArchiveData.LakeAbsoluteHeight = package.Workbook.Worksheets.FirstOrDefault().Cells[i, 6].Value == null ? (decimal?)null : Convert.ToDecimal(package.Workbook.Worksheets.FirstOrDefault().Cells[i, 6].Value); lakesArchiveData.LakeWidth = package.Workbook.Worksheets.FirstOrDefault().Cells[i, 7].Value == null ? (decimal?)null : Convert.ToDecimal(package.Workbook.Worksheets.FirstOrDefault().Cells[i, 7].Value); lakesArchiveData.LakeMaxDepth = package.Workbook.Worksheets.FirstOrDefault().Cells[i, 8].Value == null ? (decimal?)null : Convert.ToDecimal(package.Workbook.Worksheets.FirstOrDefault().Cells[i, 8].Value); lakesArchiveData.LakeWaterMass = package.Workbook.Worksheets.FirstOrDefault().Cells[i, 9].Value == null ? (decimal?)null : Convert.ToDecimal(package.Workbook.Worksheets.FirstOrDefault().Cells[i, 9].Value); lakesArchiveData.ArchivalInfoSource = package.Workbook.Worksheets.FirstOrDefault().Cells[i, 10].Value?.ToString(); } catch (Exception e) { ViewBag.Error = $"{_sharedLocalizer["Row"]} {i.ToString()}: " + e.Message + (e.InnerException == null ? "" : ": " + e.InnerException.Message); break; } lakesArchiveDatas.Add(lakesArchiveData); _context.Add(lakesArchiveDatas.LastOrDefault()); } if (string.IsNullOrEmpty(ViewBag.Error)) { _context.SaveChanges(); ViewBag.Report = $"{_sharedLocalizer["UploadedCount"]}: {lakesArchiveDatas.Count()}"; } } foreach (FileInfo filed in di.GetFiles()) { try { filed.Delete(); } catch { } } } catch (Exception e) { if (File != null) { ViewBag.Error = e.Message + (e.InnerException == null ? "" : ": " + e.InnerException.Message); } } return(View()); }