Пример #1
0
 public shiweipi(param pp1, classinfo cl1, View_class_exp vce1)
 {
     InitializeComponent();
     pp  = pp1;
     cl  = cl1;
     vce = vce1;
 }
Пример #2
0
        private void button1_Click(object sender, EventArgs e)
        {
            if (selexp >= 0)
            {
                View_class_exp vp             = lvce[selexp];
                var            questionQuery2 = from o in pp.context.exp_q
                                                where (o.idexp == vp.expid)

                                                select o;
                exp_q qew = null;
                if (questionQuery2.Count <exp_q>() > 0)
                {
                    qew = questionQuery2.First <exp_q>();
                }

                saveFileDialog1.FileName = qew.docfilename;
                if (saveFileDialog1.ShowDialog() == DialogResult.OK)
                {
                    string       attaDirectory = saveFileDialog1.FileName;
                    Byte[]       Files         = qew.expdoc;
                    BinaryWriter bw            = new BinaryWriter(File.Open(attaDirectory, FileMode.OpenOrCreate));
                    bw.Write(Files);
                    bw.Close();
                }
            }
        }
Пример #3
0
        private void button6_Click(object sender, EventArgs e)
        {
            View_class_exp vp = lvce[selexp];

            var questionQuery2 = from o in pp.context.studreport
                                 where (o.classid == clin.classid && o.stid == stin.studentid && o.expid == vp.expid)

                                 select o;
            studreport qew = null;

            if (questionQuery2.Count <studreport>() > 0)
            {
                qew = questionQuery2.First <studreport>();
            }
            if (qew.atta == null)
            {
                MessageBox.Show("附件没空"); return;
            }
            saveFileDialog1.FileName = qew.aname;
            if (saveFileDialog1.ShowDialog() == DialogResult.OK)
            {
                string       attaDirectory = saveFileDialog1.FileName;
                Byte[]       Files         = qew.atta;
                BinaryWriter bw            = new BinaryWriter(File.Open(attaDirectory, FileMode.OpenOrCreate));
                bw.Write(Files);
                bw.Close();
            }
        }
Пример #4
0
        ////////////export all report
        private void exportreport(classinfo cl1, View_class_exp vst1)
        {
            String dirsave = null;
            List <View_class_student> lstwei = new List <View_class_student>();

            // List<View_class_student> lstall = null;

            if (saveFileDialog1.ShowDialog() == DialogResult.OK)
            {
                string localFilePath = saveFileDialog1.FileName.ToString();
                dirsave = localFilePath.Substring(0, localFilePath.LastIndexOf("\\"));
            }



            List <studreport> lstrep = null;
            var questionQuery2       = from o in pp.context.studreport
                                       where o.classid == cl1.classid && o.expid == vst1.expid
                                       select o;

            if (questionQuery2.Count() > 0)
            {
                lstrep = questionQuery2.ToList <studreport>();

                foreach (studreport qew in lstrep)
                {
                    string attaDirectory = dirsave + @"\" + qew.stid + EXtools.getstuname(pp, qew.stid);
                    String repname       = qew.fname;
                    if (repname[repname.Length - 1] == 'x' || repname[repname.Length - 1] == 'X')
                    {
                        attaDirectory = attaDirectory + @".docx";
                    }
                    else
                    {
                        attaDirectory = attaDirectory + @".doc";
                    }

                    Byte[]       Files = qew.rep;
                    BinaryWriter bw    = new BinaryWriter(File.Open(attaDirectory, FileMode.OpenOrCreate));
                    bw.Write(Files);
                    bw.Close();
                    ///导出附件
                    ///
                    if (qew.aname != null && qew.atta != null)
                    {
                        string attaDirectory2 = dirsave + @"\" + qew.stid + EXtools.getstuname(pp, qew.stid);
                        attaDirectory2 = attaDirectory2 + @".rar";
                        Byte[]       Files2 = qew.atta;
                        BinaryWriter bw2    = new BinaryWriter(File.Open(attaDirectory2, FileMode.OpenOrCreate));
                        bw2.Write(Files2);
                        bw2.Close();
                    }
                }
            }
            else
            {
                MessageBox.Show("没有报告可以导出");
            }
        }
Пример #5
0
        protected void Page_Load(object sender, EventArgs e)
        {
            expid = Session["expid"] as String;
            Global gb = Session["gb"] as Global;;;

            vce = Session["vce"] as View_class_exp;
            st  = Session["user"] as StudInfo;
            pp  = gb.pp;
            if (expid != null)
            {
                var questionQuery2 = from o in pp.context.exp_q
                                     where (o.idexp == int.Parse(expid))

                                     select o;

                if (questionQuery2.Count <exp_q>() > 0)
                {
                    qew = questionQuery2.First <exp_q>();
                }
                labcontrol();
            }
        }
Пример #6
0
        //////////////////////////
        private void exportsum(classinfo cl1, View_class_exp vst1, V_tea_course vcourse, int poscol)
        {
            String dirsave = null;
            List <View_class_student> lstwei = new List <View_class_student>();

            // List<View_class_student> lstall = null;
            saveFileDialog2.DefaultExt = ".xlsx";
            saveFileDialog2.Filter     = "EXCEL file|*.xlsx";
            if (saveFileDialog2.ShowDialog() == DialogResult.OK)
            {
                string localFilePath = saveFileDialog2.FileName.ToString();
                // dirsave = localFilePath.Substring(0, localFilePath.LastIndexOf("\\"));
                dirsave = localFilePath;
            }

            //////////////////////excel

            Spire.Xls.Workbook wb = new Spire.Xls.Workbook();
            //清除默认的工作表
            wb.Worksheets.Clear();
            //添加一个工作表并指定表名
            Worksheet sheet = wb.Worksheets.Add("score");

            sheet.Range[2, 2].Text = "序号";
            sheet.Range[3, 2].Text = "分值";
            sheet.Range[4, 2].Text = "指标";
            sheet.Range[5, 1].Text = "学号";
            sheet.Range[5, 2].Text = "姓名";

            int    intobjective = vcourse.numobjective;
            String expobjective = vst1.objective;

            String[] strexpobj = expobjective.Split('|');

            for (int i = 1; i <= intobjective + 1; i++)
            {
                if (i < intobjective + 1)
                {
                    sheet.Range[4, poscol + i - 1].Text = i.ToString();
                }
                else
                {
                    sheet.Range[4, poscol + i - 1].Text = "已交";
                }
            }
            int irow           = 6;
            int icol           = poscol;
            var questionQuery1 = from o in pp.context.View_class_student
                                 where o.classid == cl1.classid
                                 orderby o.classno
                                 select o;
            List <View_class_student> lstall = null;

            if (questionQuery1.Count <View_class_student>() > 0)
            {
                lstall = questionQuery1.ToList <View_class_student>();
            }
            ///
            ///
            if (lstall != null)
            {
                foreach (View_class_student itvst in lstall)
                {
                    sheet.Range[irow, 1].Text = itvst.studentid;
                    sheet.Range[irow, 2].Text = itvst.name;


                    var questionQuery2 = from o in pp.context.studreport
                                         where o.classid == cl1.classid && o.expid == vst1.expid && o.stid == itvst.studentid
                                         select o;

                    studreport isturep = null;
                    if (questionQuery2.Count <studreport>() > 0)
                    {
                        isturep = questionQuery2.First <studreport>();
                        String   strmarks = isturep.score;
                        String[] strmark  = strmarks.Split('|');
                        for (int i = 1; i <= intobjective + 1; i++)
                        {
                            if (i < intobjective + 1)
                            {
                                sheet.Range[irow, poscol + i - 1].Value2 = 0;
                                for (int j = 1; j < strexpobj.Length; j++)
                                {
                                    if (i == int.Parse(strexpobj[j]))
                                    {
                                        sheet.Range[irow, poscol + i - 1].Value2 = int.Parse(strmark[j]);
                                    }
                                }
                            }
                            // else
                            // sheet.Range[irow, poscol + i - 1].Text = "NO";
                        }
                    }
                    else
                    {
                        for (int i = 1; i <= intobjective + 1; i++)
                        {
                            if (i < intobjective + 1)
                            {
                                sheet.Range[irow, poscol + i - 1].Value2 = 0;
                            }
                            else
                            {
                                sheet.Range[irow, poscol + i - 1].Text = "NO";
                            }
                        }
                    }



                    irow = irow + 1;
                } //foreach (View_class_stu
            }     /// end if( lstall !=null)
               ///



            sheet.AllocatedRange.AutoFitColumns();
            wb.SaveToFile(dirsave, ExcelVersion.Version2013);
            MessageBox.Show("excel生成好了");
        }
Пример #7
0
        private void button4_Click(object sender, EventArgs e)
        {
            if (selexp >= 0)
            {
                View_class_exp vp = lvce[selexp];

                var questionQuery = from o in pp.context.studreport
                                    where (o.classid == clin.classid && o.stid == stin.studentid && o.expid == vp.expid)

                                    select o;

                if (questionQuery.Count <studreport>() > 0)
                {
                    //updata
                    studreport     stp           = questionQuery.First <studreport>();
                    string         fileDirectory = "";
                    OpenFileDialog dialog        = new OpenFileDialog();
                    dialog.Filter           = "RAR files (*.RAR)|*.RAR";
                    dialog.Title            = "Select a RAR file";
                    dialog.Multiselect      = false;
                    dialog.InitialDirectory = System.IO.Path.GetFullPath(@"..\..\..\..\..\..\Data");
                    DialogResult result = dialog.ShowDialog();
                    // if (result == DialogResult.OK)
                    fileDirectory = dialog.FileName;

                    if (!fileDirectory.Equals("") && result == DialogResult.OK)
                    {
                        FileStream   fs        = new FileStream(fileDirectory, System.IO.FileMode.Open);
                        BinaryReader br        = new BinaryReader((Stream)fs);
                        int          intLength = (int)fs.Length;
                        // MessageBox.Show(intLength.ToString());
                        if (intLength > vp.maxfile * 1024 * 1024)
                        {
                            MessageBox.Show("文件太大"); return;
                        }
                        ;

                        byte[] bytContent = new byte[intLength];
                        bytContent = br.ReadBytes((int)intLength);
                        stp.atta   = bytContent;
                        String[] fnames      = fileDirectory.Split('\\');
                        String   filenamestr = fnames[fnames.Length - 1];
                        stp.aname = filenamestr;
                        //        MessageBox.Show(fileDirectory+"   "+ filenamestr);
                        pp.context.UpdateObject(stp);
                        pp.context.SaveChanges();
                    }
                }
                else
                {//add
                    studreport stp = new studreport();
                    stp.classid = clin.classid;
                    stp.expid   = vp.expid;
                    stp.stid    = stin.studentid;
                    string         fileDirectory = "";
                    OpenFileDialog dialog        = new OpenFileDialog();
                    dialog.Filter           = "RAR files (*.RAR)|*.RAR";
                    dialog.Title            = "Select a RAR file";
                    dialog.Multiselect      = false;
                    dialog.InitialDirectory = System.IO.Path.GetFullPath(@"..\..\..\..\..\..\Data");
                    DialogResult result = dialog.ShowDialog();
                    // if (result == DialogResult.OK)
                    fileDirectory = dialog.FileName;

                    if (!fileDirectory.Equals("") && result == DialogResult.OK)
                    {
                        FileStream   fs        = new FileStream(fileDirectory, System.IO.FileMode.Open);
                        BinaryReader br        = new BinaryReader((Stream)fs);
                        int          intLength = (int)fs.Length;
                        // MessageBox.Show(intLength.ToString());
                        if (intLength > vp.maxfile * 1024 * 1024)
                        {
                            MessageBox.Show("文件太大"); return;
                        }
                        ;

                        byte[] bytContent = new byte[intLength];
                        bytContent = br.ReadBytes((int)intLength);
                        stp.atta   = bytContent;
                        String[] fnames      = fileDirectory.Split('\\');
                        String   filenamestr = fnames[fnames.Length - 1];
                        stp.aname = filenamestr;
                        //        MessageBox.Show(fileDirectory+"   "+ filenamestr);
                        pp.context.AddTostudreport(stp);
                        pp.context.SaveChanges();
                    }
                }//endelse


                getstate();
            }
        }
Пример #8
0
        ////////////////////////////////////

        private void getstate()
        {
            if (selexp >= 0)
            {
                View_class_exp vp = lvce[selexp];
                DateTime       dt = DateTime.Now;
                if (dt > vp.starttime && vp.endtime > dt)
                {
                    button3.Enabled = true;
                    button4.Enabled = (bool)vp.attach;
                }


                var questionQuery = from o in pp.context.studreport
                                    where (o.classid == clin.classid && o.stid == stin.studentid && o.expid == vp.expid)

                                    select o;

                if (questionQuery.Count <studreport>() > 0)
                {
                    if (questionQuery.First <studreport>().rep != null)
                    {
                        button5.Enabled = true;
                    }
                    else
                    {
                        button5.Enabled = false;
                    }
                    if (questionQuery.First <studreport>().atta == null)
                    {
                        button6.Enabled = false;
                    }
                    else
                    {
                        button6.Enabled = true;
                    }
                }
                else
                {
                    button5.Enabled = false; button6.Enabled = false;
                }



                var questionQuery2 = from o in pp.context.exp_q
                                     where (o.idexp == vp.expid)

                                     select o;

                if (questionQuery2.Count <exp_q>() > 0)
                {
                    exp_q qew = questionQuery2.First <exp_q>();
                    if (qew.attachment != null)
                    {
                        button2.Enabled = true;
                    }
                    else
                    {
                        button2.Enabled = false;
                    }
                }
            }
            else
            {
                MessageBox.Show("请选择表格中的行");
            }
        }