public async Task <IActionResult> Edit(int id, [Bind("DriveId,DriveType")] Drife drife) { if (id != drife.DriveId) { return(NotFound()); } if (ModelState.IsValid) { try { _context.Update(drife); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!DrifeExists(drife.DriveId)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } return(View(drife)); }
public async Task <IActionResult> Create([Bind("DriveId,DriveType")] Drife drife) { if (ModelState.IsValid) { _context.Add(drife); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } return(View(drife)); }
public async Task <IActionResult> Import(IFormFile fileExcel) { if (ModelState.IsValid) { if (fileExcel != null) { using (var stream = new FileStream(fileExcel.FileName, FileMode.Create)) { await fileExcel.CopyToAsync(stream); using (XLWorkbook workBook = new XLWorkbook(stream, XLEventTracking.Disabled)) { //перегляд усіх листів (в даному випадку категорій) foreach (IXLWorksheet worksheet in workBook.Worksheets) { //worksheet.Name - назва категорії. Пробуємо знайти в БД, якщо відсутня, то створюємо нову Drife newcat; var c = (from cat in _context.Drives where cat.DriveType.Contains(worksheet.Name) select cat).ToList(); if (c.Count > 0) { newcat = c[0]; } else { newcat = new Drife(); newcat.DriveType = worksheet.Name; _context.Drives.Add(newcat); } //перегляд усіх рядків foreach (IXLRow row in worksheet.RowsUsed().Skip(1)) { try { Car car = new Car(); BodyType bt = new BodyType(); car.BodyType = bt; Color cl = new Color(); car.Color = cl; car.BodyType.BodyTypeNames = row.Cell(2).Value.ToString(); car.Color.ColorName = row.Cell(3).Value.ToString(); car.Drive = newcat; _context.Cars.Add(car); if (row.Cell(1).Value.ToString().Length > 0) { Model model; var a = (from aut in _context.Models where aut.ModelName.Contains(row.Cell(1).Value.ToString()) select aut).ToList(); if (a.Count > 0) { model = a[0]; car.ModelId = model.ModelId; } else { model = new Model(); model.ModelName = row.Cell(1).Value.ToString(); _context.Models.Add(model); } car.Model = model; } } catch (Exception e) { Console.WriteLine(e.Message); } } } } } } await _context.SaveChangesAsync(); } return(RedirectToAction(nameof(Index))); }