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) { GameDevCompanies newCompanies; var c = (from company in _context.GameDevCompanies where company.Name.Contains(worksheet.Name) select company).ToList(); if (c.Count > 0) { newCompanies = c[0]; } else { newCompanies = new GameDevCompanies(); newCompanies.Name = worksheet.Name; newCompanies.Location = "From EXCEL"; newCompanies.DirectorFullName = "From EXCEL"; _context.GameDevCompanies.Add(newCompanies); } foreach (IXLRow row in worksheet.RowsUsed().Skip(1)) { try { Subsidiaries sub = new Subsidiaries(); sub.Name = row.Cell(1).Value.ToString(); sub.Location = row.Cell(2).Value.ToString(); sub.ManagerFullName = row.Cell(3).Value.ToString(); sub.Company = newCompanies; var arr = _context.Subsidiaries.Where(s => s.Name == sub.Name).ToList(); if (arr.Count() == 0) { _context.Subsidiaries.Add(sub); } } catch (Exception e) { } } } } } } await _context.SaveChangesAsync(); } return(RedirectToAction(nameof(Index))); }
public async Task <IActionResult> Edit(int id, [Bind("Id,Name,Location,CompanyId,ManagerFullName")] Subsidiaries subsidiaries) { if (id != subsidiaries.Id) { return(NotFound()); } if (ModelState.IsValid) { try { _context.Update(subsidiaries); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!SubsidiariesExists(subsidiaries.Id)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } ViewData["CompanyId"] = new SelectList(_context.GameDevCompanies, "Id", "DirectorFullName", subsidiaries.CompanyId); return(View(subsidiaries)); }
public async Task <IActionResult> Create(int CompanyId, [Bind("Id,Name,Location,CompanyId,ManagerFullName")] Subsidiaries subsidiaries) { subsidiaries.CompanyId = CompanyId; if (ModelState.IsValid) { _context.Add(subsidiaries); await _context.SaveChangesAsync(); //return RedirectToAction(nameof(Index)); return(RedirectToAction("Index", "Subsidiaries", new { id = CompanyId, name = _context.GameDevCompanies.Where(c => c.Id == CompanyId).FirstOrDefault().Name })); } //ViewData["CompanyId"] = new SelectList(_context.GameDevCompanies, "Id", "DirectorFullName", subsidiaries.CompanyId); //return View(subsidiaries); return(RedirectToAction("Index", "Subsidiaries", new { id = CompanyId, name = _context.GameDevCompanies.Where(c => c.Id == CompanyId).FirstOrDefault().Name })); }
public MainViewModel() { departments = new Departments(); levels = new Levels(); managers = new Managers(); projects = new Projects(); statuses = new Statuses(); subsidiaries = new Subsidiaries(); types = new Types(); aggregatedTable = new DataTable(); projectsCounters = new ProjectsCounters(); FormAggregatedTable(); subsidiariesList = GetSubsidiariesList(true); managersList = GetManagersList(true); selectedSubsidiary = "Все предприятия"; selectedManager = "Все менеджеры проектов"; selectedRowIndex = -1; }