Exemplo n.º 1
0
        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());
        }
Exemplo n.º 2
0
        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));
        }