Exemplo n.º 1
0
        public ActionResult MeritList2()
        {
            if (EnteredStudents.Count == 0)
            {
                ViewBag.enterstderror = "Pl, first enter atleast one student...";
                return(View("Index"));
            }
            else
            {
                foreach (Department d in DepartmentController.EnteredDepartments.ToList())
                {
                    Dept_Students dp = new Dept_Students();
                    dp.SelectedStudents = new List <Student>();
                    dp.dept             = d;
                    Selected_Dept_Students.Add(dp);
                }

                char exist   = 'N';
                char entered = 'N';
                foreach (Student s in EnteredStudents.ToList())
                {
                    //foreach(Department ddd in s.preferences.ToList())
                    //{
                    //    ddd.seat_counter = 0;
                    //}

                    foreach (Department d in s.preferences)
                    {
                        foreach (Dept_Students dps in Selected_Dept_Students.ToList())
                        {
                            if (dps.dept == d)
                            {
                                if (entered == 'N')
                                {
                                    if (!dps.SelectedStudents.Exists(n => n.CNIC == s.CNIC))
                                    {
                                        exist = 'N';
                                    }
                                    else
                                    {
                                        exist = 'Y';
                                        break;
                                    }
                                }
                            }
                        }

                        if (exist == 'Y')
                        {
                            break;
                        }
                        else
                        {
                            foreach (Dept_Students dps2 in Selected_Dept_Students.ToList())
                            {
                                if (d == dps2.dept)
                                {
                                    if (dps2.dept.seat_counter < dps2.dept.seats)
                                    {
                                        s.department = dps2.dept.Name;
                                        SelectedStudents.Add(s);
                                        dps2.dept.seat_counter++;
                                        dps2.SelectedStudents.Add(s);
                                        dps2.SelectedStudents.Sort();

                                        entered = 'Y';
                                        exist   = 'Y';
                                    }
                                    else if (dps2.dept.seat_counter >= dps2.dept.seats)
                                    {
                                        if (s.aggregate > dps2.SelectedStudents[dps2.SelectedStudents.Count - 1].aggregate)
                                        {
                                            Student ss = dps2.SelectedStudents[dps2.SelectedStudents.Count - 1];
                                            s.department = dps2.dept.Name;
                                            dps2.SelectedStudents.Remove(ss);
                                            dps2.dept.seat_counter++;
                                            dps2.SelectedStudents.Add(s);
                                            dps2.SelectedStudents.Sort();
                                            SelectedStudents.Add(s);

                                            entered = 'Y';
                                            exist   = 'Y';
                                        }
                                    }
                                }
                            }
                        }
                    }



                    entered = 'N';
                }

                foreach (Department d in DepartmentController.EnteredDepartments.ToList())
                {
                    foreach (Dept_Students dp in Selected_Dept_Students.ToList())
                    {
                        if (d == dp.dept)
                        {
                            if (dp.SelectedStudents.Count != 0)
                            {
                                d.seat_counter = dp.dept.seat_counter;
                                d.Aggregate    = dp.SelectedStudents[dp.SelectedStudents.Count - 1].aggregate;
                            }
                        }
                    }
                }


                //foreach (Student s in SelectedStudents)
                //{
                //    try
                //    {
                //        SendEmail(s);
                //    }
                //    catch (Exception)
                //    {
                //        ViewBag.Error = "Sorry, Email is wrong or Internet Problem";
                //    }

                //}


                return(View(SelectedStudents.ToList()));
            }
        }
Exemplo n.º 2
0
        public ActionResult MeritIndexView()
        {
            if (EnteredStudents.Count == 0)
            {
                ViewBag.enterstderror = "Pl, first enter atleast one student...";
                return(View("Index"));
            }
            else
            {
                foreach (Student s in EnteredStudents.ToList())
                {
                    foreach (Department d in DepartmentController.EnteredDepartments.ToList())
                    {
                        Department n = new Department();
                        if (d.Name == s.department)
                        {
                            n = d;
                            if (!selecteddepts.Exists(n1 => n1.Name == n.Name))
                            {
                                Dept_Students dp = new Dept_Students();
                                dp.dept = n;
                                selecteddepts.Add(n);
                                Selected_Dept_Students.Add(dp);
                            }
                        }
                    }
                }



                foreach (Dept_Students dp in Selected_Dept_Students.ToList())
                {
                    dp.SelectedStudents = new List <Student>();
                    foreach (Student s in EnteredStudents.ToList())
                    {
                        if (s.department == dp.dept.Name)
                        {
                            Student ss = new Student();
                            ss = s;
                            dp.SelectedStudents.Add(ss);
                        }
                    }
                }


                foreach (Dept_Students dp in Selected_Dept_Students)
                {
                    dp.SelectedStudents.Sort();
                    dp.SelectedStudents.Reverse();
                }
                int i = 0;
                foreach (Dept_Students dp in Selected_Dept_Students)
                {
                    if (dp.dept.seat_counter < dp.dept.seats)
                    {
                        for (int f = 0; f < dp.dept.seat_counter; f++)
                        {
                            SelectedStudents.Add(dp.SelectedStudents[f]);
                        }

                        dp.dept.Aggregate = dp.SelectedStudents[dp.dept.seat_counter - 1].aggregate;
                    }
                    else if (dp.dept.seat_counter >= dp.dept.seats)
                    {
                        for (int f = 0; f < dp.dept.seats; f++)
                        {
                            SelectedStudents.Add(dp.SelectedStudents[f]);
                        }
                        dp.dept.Aggregate = dp.SelectedStudents[dp.dept.seats - 1].aggregate;
                    }
                }



                foreach (Student s in SelectedStudents)
                {
                    try
                    {
                        SendEmail(s);
                    }
                    catch (Exception)
                    {
                        ViewBag.Error = "Sorry, Email is wrong or Internet Problem";
                    }
                }

                foreach (Dept_Students sp in Selected_Dept_Students)
                {
                    foreach (Department d in DepartmentController.EnteredDepartments)
                    {
                        if (d.Name == sp.dept.Name)
                        {
                            d.Aggregate = sp.dept.Aggregate;
                        }
                    }
                }
                return(View(SelectedStudents));
            }
        }