/// <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, "خطا", ""); } }