コード例 #1
0
        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));
        }
コード例 #2
0
        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));
        }
コード例 #3
0
        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());
        }