public async Task <IActionResult> Create([Bind("NirTemaId,NirTemaName")] NirTema nirTema, int[] EduProfileIds) { if (ModelState.IsValid) { _context.Add(nirTema); await _context.SaveChangesAsync(); if (EduProfileIds != null) { var NirTemaEduProfile = new List <NirTemaEduProfile>(); foreach (var EduProfileId in EduProfileIds) { NirTemaEduProfile nirTemaEduProfile = new NirTemaEduProfile(); nirTemaEduProfile.EduProfileId = EduProfileId; nirTemaEduProfile.NirTemaId = nirTema.NirTemaId; NirTemaEduProfile.Add(nirTemaEduProfile); } await _context.NirTemaEduProfile.AddRangeAsync(NirTemaEduProfile); await _context.SaveChangesAsync(); } return(RedirectToAction(nameof(Index))); } List <EduProfile> EduProfiles = _context.EduProfiles .Include(p => p.EduNapravl.EduUgs.EduLevel) .ToList(); ViewData["EduProfiles"] = EduProfiles; return(View(nirTema)); }
public async Task <IActionResult> Edit(int id, [Bind("NirTemaId,NirTemaName")] NirTema nirTema, int[] EduProfileIds) { if (id != nirTema.NirTemaId) { return(NotFound()); } if (ModelState.IsValid) { try { _context.Update(nirTema); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!NirTemaExists(nirTema.NirTemaId)) { return(NotFound()); } else { throw; } } if (EduProfileIds != null) { _context.NirTemaEduProfile.RemoveRange(_context.NirTemaEduProfile.Where(y => y.NirTemaId == nirTema.NirTemaId)); await _context.SaveChangesAsync(); var NirTemaEduProfile = new List <NirTemaEduProfile>(); foreach (var EduProfileId in EduProfileIds) { NirTemaEduProfile nirTemaEduProfile = new NirTemaEduProfile(); nirTemaEduProfile.EduProfileId = EduProfileId; nirTemaEduProfile.NirTemaId = nirTema.NirTemaId; NirTemaEduProfile.Add(nirTemaEduProfile); } await _context.NirTemaEduProfile.AddRangeAsync(NirTemaEduProfile); await _context.SaveChangesAsync(); } return(RedirectToAction(nameof(Index))); } return(View(nirTema)); }
/// <summary> /// Инициализация таблицы "Тема НИР" /// </summary> /// <param name="serviceProvider"></param> /// <param name="configuration"></param> /// <returns></returns> public static async Task CreateNirTema(IServiceProvider serviceProvider, IConfiguration configuration) { using (var serviceScope = serviceProvider.GetRequiredService <Microsoft.Extensions.DependencyInjection.IServiceScopeFactory>().CreateScope()) { AppIdentityDBContext context = serviceScope.ServiceProvider.GetService <AppIdentityDBContext>(); #region Инициализация таблицы "Тема НИР" if (!await context.NirTema.AnyAsync()) { NirTema NirTemaName1 = new NirTema { NirTemaId = 1, NirTemaName = "Совершенствование технологических процессов производства и переработки сельскохозяйственной продукции", }; NirTema NirTemaName2 = new NirTema { NirTemaId = 2, NirTemaName = "Энергоресурсосберегающие технологии и технические средства кормообеспечения животноводства", }; NirTema NirTemaName3 = new NirTema { NirTemaId = 3, NirTemaName = "Разработать машинные технологии нового поколения, обеспечивающие модернизацию процессов возделывания базовых полевых культур с целью повышения устойчивости производства урожая, валовых сборов зерна и сокращения потребляемых ресурсов", }; NirTema NirTemaName4 = new NirTema { NirTemaId = 4, NirTemaName = "Повышение надежности технологического оборудования для стрижки овец", }; NirTema NirTemaName5 = new NirTema { NirTemaId = 5, NirTemaName = "Разработать машинные технологии нового поколения,обеспечивающие модернизацию процессов возделывания базовых полевых культур с целью повышения устойчивости производства урожая, валовых сборов зерна и сокращения потребляемых ресурсов", }; NirTema NirTemaName6 = new NirTema { NirTemaId = 6, NirTemaName = "Разработать машинные технологии нового поколения, обеспечивающие модернизацию процессов возделывания базовых полевых культур с целью повышения устойчивости производства урожая, валовых сборов зерна и сокращения потребляемых ресурсов", }; NirTema NirTemaName7 = new NirTema { NirTemaId = 7, NirTemaName = "Применение гибридных устройств и систем с эластичными рабочими органами в сельскохозяйственных процессах и технологиях", }; NirTema NirTemaName8 = new NirTema { NirTemaId = 8, NirTemaName = "Обоснование параметров малогабаритного навесного агрегата для технического обслуживания машин", }; NirTema NirTemaName9 = new NirTema { NirTemaId = 9, NirTemaName = "Совершенствование методики и средств диагностирования двигателей тракторов", }; NirTema NirTemaName10 = new NirTema { NirTemaId = 10, NirTemaName = "Повышение техникоэкономических, агротехнических и экологических показателей транспортнотехнологических машин и комплексов", }; await context.NirTema.AddRangeAsync( NirTemaName1, NirTemaName2, NirTemaName3, NirTemaName4, NirTemaName5, NirTemaName6, NirTemaName7, NirTemaName8, NirTemaName9, NirTemaName10 ); await context.SaveChangesAsync(); } #endregion } }