public async Task <IActionResult> EditClassSection(AssignSectionViewModel objClassSection) { if (ModelState.IsValid) { ClassSection objAssignSection = await _AssignSectionRepository.GetClassSectionById(objClassSection.ClassSection_Id); objAssignSection.Class_Id = objClassSection.Class_Id; objAssignSection.Section_Id = objClassSection.Section_Id; int result = await _AssignSectionRepository.UpdateClassSection(objAssignSection); if (result == 1) { TempData["Success"] = "Class Section Updted Successfully"; return(RedirectToAction("Index", "assignSection", new { area = "admin" })); } else { TempData["Error"] = "Updting Class Section Failed"; return(RedirectToAction("Index", "assignSection", new { area = "admin" })); } } return(View()); }
public async Task <IActionResult> AddClassSection(AssignSectionViewModel objClassSection) { if (ModelState.IsValid) { ClassSection newClassSection = new ClassSection { Class_Id = objClassSection.Class_Id, Section_Id = objClassSection.Section_Id }; int result = await _AssignSectionRepository.AddClassSection(newClassSection); if (result == 1) { TempData["Success"] = "Assign Section To Class Successfully"; return(RedirectToAction("Index", "assignSection", new { area = "admin" })); } else { TempData["Error"] = "Assign Section To Class Failed"; return(RedirectToAction("Index", "assignSection", new { area = "admin" })); } } return(View()); }
public async Task <ActionResult> AssignSection([Bind(Exclude = "CaseStudyName, Semesters")] AssignSectionViewModel caseStudyModel) { if (ModelState.IsValid) { CaseStudy caseStudy = await Db.CaseStudies.Where(x => x.Id == caseStudyModel.Id).FirstOrDefaultAsync(); if (caseStudy == null) { Flash.Error("Error", "No existe el caso de estudio"); return(RedirectToAction("Index")); } List <Section> activatedSections = caseStudy.Sections.Where(x => x.IsActivedSimulation == true).ToList(); List <Section> finalizedSections = caseStudy.Sections.Where(x => x.IsActivedSimulation == false && x.Periods.Select(c => c.IsLastPeriod).Contains(true)).ToList(); caseStudy.Sections.Clear(); if (caseStudyModel.Sections != null) { List <Section> sections = Db.Sections.Where(x => caseStudyModel.Sections.Contains(x.Id)).ToList(); caseStudy.Sections = sections; } if (activatedSections.Count() > 0) { var displayWarning = false; foreach (var activatedSection in activatedSections) { caseStudy.Sections.Add(activatedSection); if (caseStudyModel.Sections != null) { if (!caseStudyModel.Sections.Contains(activatedSection.Id)) { displayWarning = true; } } else { displayWarning = true; } } if (displayWarning) { Flash.Warning("Advertencia", "No pueden ser desasignados los casos estudios que tengan simulaciones activas"); } } if (finalizedSections.Count() > 0) { finalizedSections.ForEach(x => x.Groups.ToList().ForEach(t => Db.Groups.Where(z => z.Id == t.Id).FirstOrDefault().IsInSimulation = false)); finalizedSections.SelectMany(x => x.Periods).ToList().ForEach(x => Db.Periods.Remove(x)); Flash.Warning("Adventencia", "Simulaciones finalizadas han sido eliminadas"); } await Db.SaveChangesAsync(); Flash.Success("Ok", "El caso de Estudio ha sido asignado a las sección(es) satisfactoriamente"); return(RedirectToAction("Index")); } ViewBag.SelectedSections = Db.Sections.Where(y => y.CaseStudyId == caseStudyModel.Id).Select(x => x.Id).ToList(); Flash.Error("Error", "Ha Ocurrido un error"); return(View(caseStudyModel)); }
public async Task <ActionResult> AssignSection(Guid?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } CaseStudy caseStudy = await Db.CaseStudies.Where(x => x.Id == id).FirstOrDefaultAsync(); if (caseStudy == null) { return(HttpNotFound()); } AssignSectionViewModel asignSection = new AssignSectionViewModel { Id = caseStudy.Id, CaseStudyName = caseStudy.Name, Semesters = Db.Semesters.ToList(), }; ViewBag.SelectedSections = caseStudy.Sections.Select(x => x.Id).ToList(); return(View(asignSection)); }