示例#1
0
        protected void btnExamLMS_ServerClick(object sender, EventArgs e)
        {
            //rwm_message.RadAlert("سامانه در حال آماده سازی میباشد.", null, 100, "پیام", "");
            //return;
            bool linkIsActive;

            if (ConfigurationManager.AppSettings["ExamLinkActive"] == null ||
                string.IsNullOrEmpty(ConfigurationManager.AppSettings["ExamLinkActive"].ToString()) ||
                !bool.TryParse(ConfigurationManager.AppSettings["ExamLinkActive"].ToString(), out linkIsActive) ||
                !linkIsActive)
            {
                rwm_message.RadAlert("لطفا در زمان مقرر مراجعه فرمایید", null, 100, "پیام", "");
            }
            else
            {
                ExamBusiness ExamBusiness = new ExamBusiness();
                SHA256       mySHA256     = SHA256Managed.Create();
                var          profInfo     = ExamBusiness.GetProfessorInfoByProfessorCode(Session[sessionNames.userID_StudentOstad].ToString());
                if (profInfo.Rows.Count > 0)
                {
                    var key = mySHA256.ComputeHash(Encoding.ASCII.GetBytes(ConfigurationManager.AppSettings["ExamLinkKey"].ToString()));
                    var IV  = string.IsNullOrEmpty(ConfigurationManager.AppSettings["ExamLinkIV"].ToString()) ?
                              new byte[16] {
                        0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0
                    } : Encoding.ASCII.GetBytes(ConfigurationManager.AppSettings["ExamLinkIV"].ToString());
                    var url    = ConfigurationManager.AppSettings["ExamLink"].ToString();
                    var token  = EncryptionClass.EncryptAES256(Session[sessionNames.userID_StudentOstad].ToString() + ";" + profInfo.Rows[0]["idd_meli"].ToString() + ";" + DateTime.UtcNow.ToString("yyyy-MM-dd HH:mm:ss"), key, IV);
                    var script = "var form = document.createElement('form');  form.setAttribute('style', 'display: none;');  var tokenField = document.createElement('input'); form.method = 'POST'; form.action = '" + url + "';";
                    script += "tokenField.value='" + token + "'; tokenField.name='token'; form.appendChild(tokenField); document.body.appendChild(form); form.submit();";
                    ScriptManager.RegisterStartupScript(this, GetType(), "submitform", script, true);
                }
            }
        }
        protected void ddl_ExamDate_SelectedIndexChanged(object sender, EventArgs e)
        {
            ExamBusiness EBusiness = new ExamBusiness();
            DataTable    dtsaat    = new DataTable();

            dtsaat = EBusiness.GetSaatExamByDateExam(ddl_ExamDate.SelectedValue);
            ddl_Saate.DataSource    = dtsaat;
            ddl_Saate.DataTextField = "saatexam";
            ddl_Saate.DataBind();
        }
        protected void btn_Save_Click(object sender, EventArgs e)
        {
            try
            {
                //----------------
                ExamBusiness   ExamBusiness = new ExamBusiness();
                CommonBusiness cmnb         = new CommonBusiness();
                if (ddl_examCity.SelectedValue == "41")//tehran qarb
                {
                    var stdCountInWestTehranZone = ExamBusiness.GetCountOfStudentInTehranWestZone(int.Parse(ddl_examCity.SelectedValue));
                    if (stdCountInWestTehranZone > 2000)
                    {
                        rwm.RadAlert(".دانشجوی گرامی ظرفیت حوزه انتخابی تکمیل می باشد لطفا حوزه دیگری را انتخاب نمایید ", null, 100, "پیام", "");
                        return;
                    }
                }

                ExamBusiness.Update_Webmelli_Student_ExamPlace(Session[sessionNames.userID_StudentOstad].ToString(), int.Parse(ddl_examCity.SelectedValue));
                cmnb.InsertIntoStudentLog(Session[sessionNames.userID_StudentOstad].ToString(), DateTime.Now.ToShortTimeString(), 8, 27, "");
                rwm.RadAlert("ثبت با موفقیت انجام شد", null, 100, "پیام", "");
                try
                {
                    DataTable dtst = new DataTable();
                    dtst = ExamBusiness.Get_Student_CityName(Session[sessionNames.userID_StudentOstad].ToString());

                    if (dtst.Rows.Count > 0)
                    {
                        lbl_cityName.Text    = "دانشجوی گرامی شما محل امتحان خود را شهر " + dtst.Rows[0]["Name_City"].ToString() + " انتخاب نموده اید";
                        lbl_cityName.Visible = true;
                    }
                    //else
                    //{
                    //    rwm.RadAlert("محلی انتخاب نشده است", null, 100, "پیام", "");
                    //}
                }
                catch (Exception)
                {
                    throw;
                }
            }
            catch
            {
                rwm.RadAlert("خطا در ثبت", null, 100, "پیام", "");
            }
        }
        protected void Page_Load(object sender, EventArgs e)
        {
            ExamBusiness ExamBusiness = new ExamBusiness();
            DataTable    dtcity       = ExamBusiness.Get_Student_CityName(Session[sessionNames.userID_StudentOstad].ToString());

            if (!IsPostBack)
            {
                DataTable dtExamCity = new DataTable();
                dtExamCity = ExamBusiness.Get_St_ExamPlace();
                ddl_examCity.DataTextField  = "Name_City";
                ddl_examCity.DataValueField = "ID";
                ddl_examCity.DataSource     = dtExamCity;
                ddl_examCity.DataBind();
                ddl_examCity.Items.Insert(0, new ListItem("انتخاب کنید"));


                if (dtcity.Rows.Count > 0)
                {
                    ddl_examCity.SelectedValue = dtcity.Rows[0][1].ToString();
                    if (dtcity.Rows[0]["ID_EXAM_PLACE"].ToString() == "39")
                    {
                        ddl_examCity.SelectedItem.Text = "برون مرزی";
                        ddl_examCity.Enabled           = false;
                        btn_Save.Enabled = false;
                    }
                    lbl_cityName.Text    = "دانشجوی گرامی شما محل امتحان خود را شهر " + dtcity.Rows[0]["Name_City"].ToString() + " انتخاب نموده اید";
                    lbl_cityName.Visible = true;
                }
            }

            CommonBusiness cmnb = new CommonBusiness();
            DataTable      dt   = cmnb.GetSystemAvailability(8, 1, 0);

            if (dt.Rows.Count > 0)
            {
                if (dt.Rows[0]["IsSysOpen"].ToString() != "1")
                {
                    rwm.RadAlert("دانشجوی گرامی مطابق زمانبندی مراجعه نمایید", null, 100, "پیام", "");
                    ddl_examCity.Enabled = false;
                    btn_Save.Enabled     = false;
                }
            }
        }
        protected void Page_Load(object sender, EventArgs e)
        {
            if (Session[sessionNames.userID_Karbar] == null)
            {
                Response.Redirect("~/CommonUI/loginRequestCMS.aspx");
            }
            if (!IsPostBack)
            {
                ExamBusiness EBusiness = new ExamBusiness();


                DataTable dtExamDate = new DataTable();
                dtExamDate = EBusiness.Get_Exam_dateexam();
                ddl_ExamDate.DataSource     = dtExamDate;
                ddl_ExamDate.DataTextField  = "dateexam";
                ddl_ExamDate.DataValueField = "dateexam";
                ddl_ExamDate.DataBind();
                ddl_ExamDate.Items.Insert(0, new ListItem("انتخاب کنید"));
            }
            string mId = Request.QueryString["id"].ToString();

            string[] id     = mId.ToString().Split(new char[] { '@' });
            string   menuId = "";

            for (int i = 0; i < id[1].Length; i++)
            {
                string s = id[1].Substring(i + 1, 1);
                if (s != "-")
                {
                    menuId += s;
                }
                else
                {
                    break;
                }
                Session[sessionNames.menuID] = menuId;
            }
            AccessControl.MenuId = Session[sessionNames.menuID].ToString();
            AccessControl.UserId = Session[sessionNames.userID_Karbar].ToString();
        }
 protected void btn_Show_Click(object sender, EventArgs e)
 {
     if (ddl_ExamDate.SelectedIndex != 0)
     {
         ExamBusiness EBusiness = new ExamBusiness();
         DataTable    dt        = new DataTable();
         dt = EBusiness.GetExamQuestionsUploadedByDate_Saat(ddl_Saate.SelectedValue.ToString(), ddl_ExamDate.SelectedValue.ToString());
         if (dt.Rows.Count > 0)
         {
             grd_CourseList.DataSource = dt;
             grd_CourseList.DataBind();
         }
         else
         {
             rwm.RadAlert("دراین سانس کلاسی موجود نیست", null, 100, "پیام", "");
         }
     }
     else
     {
         rwm.RadAlert("روز امتحان را انتخاب نمایید", null, 100, "پیام", "");
     }
 }
 //######################################
 protected void btn_Show_Click(object sender, EventArgs e)
 {
     if (ddl_ExamDate.SelectedIndex != 0)
     {
         ExamBusiness EBusiness = new ExamBusiness();
         DataTable    dt        = new DataTable();
         dt = EBusiness.AnswerSheetForDLByDate_Saat(int.Parse(Session[sessionNames.userID_Karbar].ToString()), ddl_Saate.SelectedValue.ToString(), ddl_ExamDate.SelectedValue.ToString());//IDshahr dade shavad
         if (dt.Rows.Count > 0)
         {
             grd_CourseList.DataSource = dt;
             grd_CourseList.DataBind();
         }
         else
         {
             rwm.RadAlert("دراین سانس پاسخنامه موجود نیست", null, 100, "پیام", "");
         }
     }
     else
     {
         rwm.RadAlert("روز امتحان را انتخاب نمایید", null, 100, "پیام", "");
     }
 }
        protected void grd_CourseList_ItemCommand(object sender, Telerik.Web.UI.GridCommandEventArgs e)
        {
            ExamBusiness   examBusiness = new ExamBusiness();
            CommonBusiness cmnb = new CommonBusiness();
            int            status_Paper, eventId;
            string         desc;
            string         did = e.CommandArgument.ToString();

            if (e.CommandName == "collecting")
            {
                status_Paper = 5;
                desc         = "تجمیع اوراق";
                eventId      = 121;



                try
                {
                    DataTable dtResault = examBusiness.GetMobileProfByDid(did);

                    //string Text = "استاد ارجمند به استحضار می رساند پاکت  پاسخ نامه های کد مشخصه " + e.CommandArgument.ToString() + " آماده تحویل می باشد، خواهشمند است با مدیر محترم دانشکده ارتباط و اقدام لازم بعمل آورید.  " + "\r\n" + "اداره امتحانات واحد الکترونیکی دانشگاه آزاد اسلامی";
                    //string Text = "استاد ارجمند،\r\n به استحضار می رساند پاکت  پاسخ نامه های کد مشخصه " + e.CommandArgument.ToString() + "آماده تحويل مي باشد. لطفاً جهت هماهنگي هاي لازم در اسرع وقت با شماره تماس مربوط به دانشكده خود ارتباط برقرار نماييد :."
                    //    + "\r\n" + "دانشكده انساني: 02142863721"
                    //    + "\r\n" + "دانشكده مديريت: 02142863722"
                    //    + "\r\n" + "دانشكده علوم پايه: 02142863723"
                    //    + "\r\n" + "دانشكده فني مهندسي: 02142863724";

                    string Text = "استاد ارجمند،\r\n به استحضار می رساند پاکت  پاسخ نامه های کد مشخصه " + e.CommandArgument.ToString() + "آماده تحويل مي باشد. لطفاً جهت هماهنگي هاي لازم در اسرع وقت با مدير و يا كارشناسان دانشكده خود ارتباط برقرار  نماييد :.";

                    string asanak, statusStr;

                    if (dtResault.Rows[0]["mobile"].ToString() != null || dtResault.Rows[0]["mobile"].ToString() != "")
                    {
                        //result = cmnb.SendSMSByMobile(dtResault.Rows[0]["mobile"].ToString(), Text, username, pass, source, uri);
                        // result = cmnb.sendSMS(dtResault.Rows[0]["mobile"].ToString(), Text);
                        // string codeAsanak = result.Substring(1, (result.Length) - 2);
                        // statusStr = cmnb.ShowStatusSMS(codeAsanak);
                        // if (statusStr.Substring(12, (statusStr.Length) - 15) == "NotFound")
                        //{
                        //    string ss = "-1";
                        //    int status = Convert.ToInt32(ss);
                        //    DataTable dt = new DataTable();
                        //    dt = cmnb.GetMessage(ss);
                        //    string messageStatus = dt.Rows[0][0].ToString();
                        //    //cmnb.LogStatusMessage(dtResault.Rows[0]["code_ostad"].ToString(), codeAsanak, dtResault.Rows[0]["mobile"].ToString(), status, messageStatus, int.Parse(IdAppMessage));
                        //}
                        //else
                        //{
                        //    string ss = (statusStr.Substring(32, (statusStr.Length) - 104));
                        //    ss = Regex.Replace(ss, @"[^\d]", "");
                        //    int status = Convert.ToInt32(ss);
                        //    DataTable dt = new DataTable();
                        //    dt = cmnb.GetMessage(ss);
                        //    string messageStatus = dt.Rows[0][0].ToString();
                        //    // cmnb.LogStatusMessage(dtResault.Rows[0]["code_ostad"].ToString(), codeAsanak, dtResault.Rows[0]["mobile"].ToString(), status, messageStatus, int.Parse(IdAppMessage));
                        //}

                        bool sentSMS; string smsStatusText;
                        asanak = cmnb.sendSMS(dtResault.Rows[0]["mobile"].ToString(), Text, out sentSMS, out smsStatusText);
                        int asanakStatus = cmnb.getAsanakStatusID(asanak);
                        cmnb.LogStatusMessage(dtResault.Rows[0]["code_ostad"].ToString(), asanak, dtResault.Rows[0]["mobile"].ToString(), asanakStatus, smsStatusText, 8);
                    }
                    rwm.RadAlert("ارسال پیامک برای کد مشخه" + e.CommandArgument.ToString() + "با موفقیت انجام شد", null, null, "پیام", "");
                }
                catch
                {
                    rwm.RadAlert("خطا در ارسال پیامک برای کد مشخه" + e.CommandArgument.ToString(), null, null, "پیام", "");
                }
            }
            else
            {
                status_Paper = 6;
                desc         = "تحویل اوراق";
                eventId      = 122;
            }


            examBusiness.UpdateQueizStatus(status_Paper, did, "");

            var item       = examBusiness.GetExamQuestionsbyDid(did);
            var questionID = item.AsEnumerable().Select(s => s.Field <int>("examQuestionID")).FirstOrDefault();

            //cmnb.InsertIntoUserLog(int.Parse(Session[sessionNames.userID_Karbar].ToString()), DateTime.Now.ToShortTimeString(), int.Parse(Session["AppId"].ToString()), 167, dt.Rows[0]["coursecode"].ToString() + "دریافت اوراق", int.Parse(dt.Rows[0]["QuestionId"].ToString()));


            cmnb.InsertIntoUserLog(int.Parse(Session[sessionNames.userID_Karbar].ToString()), DateTime.Now.ToShortTimeString(), int.Parse(Session[sessionNames.appID_Karbar].ToString()), eventId, desc, questionID);
            grd_CourseList.DataSource = examBusiness.GetExamQuestionsUploadedByDate_Saat(ddl_Saate.SelectedValue.ToString(), ddl_ExamDate.SelectedValue.ToString());
            grd_CourseList.DataBind();
        }
        protected void grd_CourseList_ItemCommand(object sender, GridCommandEventArgs e)
        {
            ExamBusiness EBusiness = new ExamBusiness();
            string       ipaddress;

            ipaddress = Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
            if (ipaddress == "" || ipaddress == null)
            {
                ipaddress = Request.ServerVariables["REMOTE_ADDR"];
            }
            var ip = (HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"] != null &&
                      HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"] != "")
           ? HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"]
           : HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"];

            if (ip.Contains(","))
            {
                ip = ip.Split(',').First();
            }
            //DataTable dtdet = new DataTable();
            // dtdet = EBusiness.Get_ExamdetailbyDid(int.Parse(e.CommandArgument.ToString()));

            if (e.CommandName == "ExamSheet" || e.CommandName == "ExamSheetA4")
            {
                var did = e.CommandArgument.ToString();

                var whichBtn = (e.CommandSource as Button).ID;


                DataTable dt1 = new DataTable();
                dt1 = EBusiness.ExamAnswerSheetbyDid(did, int.Parse(Session[sessionNames.userID_Karbar].ToString()));

                StiReport rpt = new StiReport();

                string targetReport = "";
                if (whichBtn == "btn_printExamSheet")
                {
                    targetReport = Server.MapPath("../Reports/AnswerSheet1.mrt");
                }
                else if (whichBtn == "btn_printExamSheetByA4Format")
                {
                    targetReport = Server.MapPath("../Reports/AnswerSheetA4.mrt");
                }
                rpt.Load(targetReport);
                rpt.Dictionary.Databases.Clear();
                rpt.Dictionary.Databases.Add(new StiSqlDatabase("Supplementary", CB.ReportConnection.ToString()));


                if (whichBtn == "btn_printExamSheet")
                {
                    rpt.ReportName = $"{did}-{ddl_ExamDate.SelectedValue}-{ddl_Saate.SelectedValue}-A3";
                }
                else if (whichBtn == "btn_printExamSheetByA4Format")
                {
                    rpt.ReportName = $"{did}-{ddl_ExamDate.SelectedValue}-{ddl_Saate.SelectedValue}-A4";
                }
                rpt.ReportCacheMode = StiReportCacheMode.Off;
                rpt.Compile();
                rpt.CompiledReport.DataSources["[Exam].[SP_ExamAnswerSheetbyDid]"].Parameters["@did"].ParameterValue        = did;
                rpt.CompiledReport.DataSources["[Exam].[SP_ExamAnswerSheetbyDid]"].Parameters["@ExaminerID"].ParameterValue = int.Parse(Session[sessionNames.userID_Karbar].ToString());
                rpt.CompiledReport.DataSources["[Exam].[SP_ExamAnswerSheetbyDid]"].Parameters["@examDate"].ParameterValue   = ddl_ExamDate.SelectedValue;
                rpt.CompiledReport.DataSources["[Exam].[SP_ExamAnswerSheetbyDid]"].Parameters["@examTime"].ParameterValue   = ddl_Saate.SelectedValue;

                rpt.RegData(dt1);



                StiReportResponse.ResponseAsPdf(this.Page, rpt, true);


                CommonBusiness cmnb = new CommonBusiness();
                CB.InsertIntoUserLog(int.Parse(Session[sessionNames.userID_Karbar].ToString()), DateTime.Now.ToShortTimeString(), int.Parse(Session[sessionNames.appID_Karbar].ToString()), 68, "چاپ پاسخنامه", int.Parse(e.CommandArgument.ToString()));
            }
        }