Beispiel #1
0
        /// <summary>
        /// با فشردن کلید تخصیص صندلی، به صورت رندوم شماره صندلی تخصیص می یابد
        /// </summary>
        /// <param name="sender">The source of the event.</param>
        /// <param name="e">The <see cref="EventArgs"/> instance containing the event data.</param>
        protected void btn_AssignSeat_Click(object sender, EventArgs e)
        {
            if (ddl_ExamDate.SelectedIndex != 0 && ddl_ExamTime.SelectedIndex != 0 && ddlCity.SelectedIndex != 0)
            {
                string Examdate = ddl_ExamDate.SelectedValue.ToString();
                string ExamTime = ddl_ExamTime.SelectedValue.ToString();

                try
                {
                    var list        = ExamBusiness.ListAllStudentsAndDID(Examdate, ExamTime, Convert.ToInt32(ddlCity.SelectedItem.Value)).AsEnumerable();
                    var didList     = list.Select(s => s.Field <string>("did")).Distinct();
                    int filledSeats = ExamBusiness.GetFilledSeats(ddlCity.SelectedItem.Text, Examdate, ExamTime);
                    foreach (var did in didList)
                    {
                        var    studentList   = list.Where(w => w.Field <string>("did") == did).Select(s => s.Field <string>("STCODE"));
                        var    ClassCapacity = studentList.Count();
                        Random RandomSeat    = new System.Random();

                        int Stu_Seat    = 0;
                        int seat_SRange = int.Parse(ExamBusiness.GetMinStartRange().Rows[0]["StartRange"].ToString()) + filledSeats;
                        int seat_ERange = seat_SRange + (ClassCapacity);
                        foreach (string student in studentList)
                        {
                            if (!ExamBusiness.CheckSeatIsAssigned(did, student, ddlCity.SelectedItem.Text))
                            {
                                do
                                {
                                    Stu_Seat = RandomSeat.Next(seat_SRange, seat_ERange);
                                }while (ExamBusiness.CheckSeatNumberByTerm(Stu_Seat, Examdate, ExamTime, ddlCity.SelectedItem.Text));

                                DataTable dtexamplace = ExamBusiness.GetExamPlaceBySeatAndCity(Stu_Seat, int.Parse(ddlCity.SelectedItem.Value));
                                ExamBusiness.AssignSeatNumberToStudent(Stu_Seat, student, did, ddlCity.SelectedItem.Text, dtexamplace.Rows[0]["ExamPlace"].ToString());
                                filledSeats++;
                            }
                        }
                    }

                    //DataTable dt_did = ExamBusiness.GetAllClassInDate(Examdate, ExamTime);
                    //DataTable dtsrange = new DataTable();
                    //dtsrange = ExamBusiness.GetMinStartRange();
                    //int seat_SRange = int.Parse(dtsrange.Rows[0]["StartRange"].ToString());
                    //int seat_ERange;


                    //for (int i = 0; i < dt_did.Rows.Count; i++)
                    //{
                    //    int did = int.Parse(dt_did.Rows[i]["did"].ToString());
                    //    int Stu_Seat = 0;
                    //    DataTable dt_Student = ExamBusiness.GetAllStudentByClassInDate(did, ddlCity.SelectedItem.Value);
                    //    int ClassCapacity = dt_Student.Rows.Count;
                    //    seat_ERange = seat_SRange + (ClassCapacity);
                    //    Random RandomSeat = new System.Random();

                    //    foreach (DataRow item in dt_Student.Rows)
                    //    {
                    //        do
                    //        {
                    //            Stu_Seat = RandomSeat.Next(seat_SRange, seat_ERange);

                    //        } while (ExamBusiness.CheckSeatNumberByTerm(Stu_Seat, Examdate, ExamTime, ddlCity.SelectedItem.Text));

                    //        string stcode = item["stcode"].ToString();
                    //        DataTable dtexamplace = ExamBusiness.GetExamPlaceBySeatAndCity(Stu_Seat);
                    //        ExamBusiness.AssignSeatNumberToStudent(Stu_Seat, stcode, did, ddlCity.SelectedItem.Text, dtexamplace.Rows[0]["ExamPlace"].ToString());

                    //    }

                    //    seat_SRange = seat_ERange;
                    //}


                    //cmnb.InsertIntoUserLog(int.Parse(Session[sessionNames.userID_Karbar].ToString()), DateTime.Now.ToShortTimeString(), int.Parse(Session["AppId"].ToString()), 48, "تخصیص اتومات صندلی" + Examdate + "-" + ExamTime);
                    rwm.RadAlert("صندلی های این سانس تخصیص داده شد", null, 100, "پیام", "");
                }

                catch (Exception)
                {
                    throw;
                }
            }
            else
            {
                rwm.RadAlert("سانس باید انتخاب گردد", null, 100, "خطا", "");
            }
        }