Example #1
0
        public Model.Class InsertUpdatedClass(Model.Class room)
        {
            try
            {
                var config = new MapperConfiguration(cfg => {
                    cfg.CreateMap <Model.Class, Entity.Class>();
                });
                IMapper mapper      = config.CreateMapper();
                var     classEntity = mapper.Map <Model.Class, Entity.Class>(room);

                if (classEntity.ClassId == 0)
                {
                    classEntity.IsActive = true;
                    _schoolContext.Class.Add(classEntity);
                    _schoolContext.SaveChanges();
                    room.ClassId  = classEntity.ClassId;
                    room.IsActive = classEntity.IsActive;
                }
                else
                {
                    _schoolContext.Entry(classEntity).State = EntityState.Modified;
                    _schoolContext.SaveChanges();
                }

                return(room);
            }
            catch (Exception ex)
            {
                throw;
            }
        }
Example #2
0
        public void CreateClass(Model.Class charClass)
        {
            using (var db = new LiteDatabase(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "MyData.db")))
            {
                var col = db.GetCollection <Model.Class>("Class");

                col.Insert(charClass);
                col.EnsureIndex(x => x.Name);
            }
        }
Example #3
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="cls"></param>
 public void Delete(Model.Class cls)
 {
     try
     {
         this.dbContext.Set <Model.Class>().Remove(cls);
         this.dbContext.SaveChanges();
     }
     catch
     {
         throw;
     }
 }
Example #4
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="cls"></param>
 public void Add(Model.Class cls)
 {
     try
     {
         this.dbContext.Set <Model.Class>().Add(cls);
         this.dbContext.SaveChanges();
     }
     catch
     {
         throw;
     }
 }
Example #5
0
        /// <summary>
        /// 保存Excel导入学生信息
        /// </summary>
        /// <param name="Path"></param>
        /// <returns></returns>
        public int ExcelToDS(string fillPath)
        {
            string          strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" + fillPath + ";" + "Extended Properties=Excel 8.0;";
            OleDbConnection conn    = new OleDbConnection(strConn);

            conn.Open();
            string           strExcel  = "";
            OleDbDataAdapter myCommand = null;
            DataSet          ds        = null;

            strExcel  = "select * from [sheet1$]";
            myCommand = new OleDbDataAdapter(strExcel, strConn);
            ds        = new DataSet(); myCommand.Fill(ds, "table1");
            DataTable            dt   = ds.Tables[0];
            List <Model.Student> list = new List <Model.Student>();

            try
            {
                for (int i = 0; i >= 0; i++)
                {
                    Model.Student student   = new Model.Student();
                    Model.Class   tempClass = new Model.Class();
                    Model.School  school    = new Model.School();
                    student.StudentNum  = dt.Rows[i][0].ToString();
                    student.StudentPWD  = dt.Rows[i][0].ToString();
                    student.StudentName = dt.Rows[i][1].ToString();
                    var sex = dt.Rows[i][2].ToString();
                    if (sex.Equals("男"))
                    {
                        student.Sex = 1;
                    }
                    else if (sex.Equals("女"))
                    {
                        student.Sex = 0;
                    }
                    tempClass.ClassName = dt.Rows[i][3].ToString();
                    school.SchoolNum    = dt.Rows[i][4].ToString();
                    school.SchoolName   = dt.Rows[i][5].ToString();
                    school.Address      = dt.Rows[i][6].ToString();
                    student.Class       = tempClass;
                    student.School      = school;
                    list.Add(student);
                }
            }
            catch (Exception)
            {
            }
            BLL.Student bll    = new BLL.Student();
            int         result = bll.AddExcel(list);

            conn.Close();
            return(result);
        }
 private Model.Class Filter(TypeDefinition def, Model.Class cls)
 {
     if (!_filter.InstrumentClass(def.Module.Name, def.FullName))
     {
         cls.MarkAsSkipped(SkippedMethod.Filter);
     }
     else if (_filter.ExcludeByAttribute(def))
     {
         cls.MarkAsSkipped(SkippedMethod.Attribute);
     }
     return(cls);
 }
 public Model.Method[] GetMethodsForType(Model.Class type, Model.File[] files)
 {
     return(_sourceAssembly.Modules
            .SelectMany(x => x.Types)
            .SelectMany(RecurseTypes)
            .Where(x => x.FullName == type.FullName)
            .Take(1)
            .SelectMany(x => x.Methods)
            .Where(x => x.HasBody && !x.IsGetter && !x.IsSetter && !x.IsAbstract)
            .Select(x => _methods[x.MetadataToken.ToInt32()] = x)
            .Select(x => Filter(x, BuildMethod(files, x))).ToArray());
 }
Example #8
0
 public void ChangeStudentClass(Model.NewStudent s, Model.Class newClass, Model.Class oldClass)
 {
     try
     {
         Model.StudentClass studentClass = this.dbContext.Set <Model.StudentClass>().Single(x => x.ClassId == oldClass.ClassId && x.StudentId == s.NewStudentId);
         studentClass.ClassId = newClass.ClassId;
         this.dbContext.SaveChanges();
     }
     catch (Exception ex)
     {
         throw (ex);
     }
 }
Example #9
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="s"></param>
 /// <param name="c"></param>
 public void RemoveStudentFromClass(Model.NewStudent s, Model.Class c)
 {
     try
     {
         Model.StudentClass studentClass = this.dbContext.Set <Model.StudentClass>().Single(x => x.ClassId == c.ClassId && x.StudentId == s.NewStudentId);
         this.dbContext.Set <Model.StudentClass>().Remove(studentClass);
         this.dbContext.SaveChanges();
     }
     catch (Exception ex)
     {
         throw (ex);
     }
 }
Example #10
0
        /// <summary>
        /// 验证是否已经登陆,显示课程名称
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void Page_Load(object sender, EventArgs e)
        {
            if (Request.Cookies["login"] == null)
            {
                Response.Write("<script>alert('请先登录! ');window.window.location.href='/Login.aspx';</script>");
            }

            else if (Request.QueryString["id"] == null)
            {
                Response.Write("<script>alert('非法访问,请从首页进入! ');window.window.location.href='/Default.aspx';</script>");
            }

            else
            {
                if (Request.Cookies["login"]["sort"].ToString() == "student")
                {
                    int classid = Convert.ToInt32(Request.QueryString["id"]);
                    int stuid   = Convert.ToInt32(Request.Cookies["login"]["ID"]);
                    int flag    = BLL.Class.BLLVerifyClassStu(classid, stuid);
                    if (flag <= 0)
                    {
                        Response.Write("<script>alert('你没有该课程权限! ');window.window.location.href='Default.aspx';</script>");
                    }
                }
            }

            try
            {
                int           classid = Convert.ToInt32(Request.QueryString["id"]);
                SqlDataReader sdr     = BLL.Class.BLLGetClassByID(classid);
                Model.Class   item    = new Model.Class();
                while (sdr.Read())
                {
                    item.Name         = sdr[1].ToString();
                    item.Introduction = sdr[2].ToString();
                }

                Page.Title       = item.Name;
                Label_title.Text = item.Name;
                Label_intro.Text = item.Introduction;

                sdr.Close();
            }
            catch
            {
                Response.Write("<script>window.window.location.href='/Default.aspx';</script>");
            }
        }
Example #11
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="s"></param>
        /// <param name="c"></param>
        public void AddStudentToClass(Model.NewStudent s, Model.Class c)
        {
            Model.StudentClass studentClass = new Model.StudentClass();
            studentClass.ClassId   = c.ClassId;
            studentClass.StudentId = s.NewStudentId;

            try
            {
                this.dbContext.Set <Model.StudentClass>().Add(studentClass);
                this.dbContext.SaveChanges();
            }
            catch (Exception ex)
            {
                throw(ex);
            }
        }
        private void gridView1_CustomDrawCell(object sender, DevExpress.XtraGrid.Views.Base.RowCellCustomDrawEventArgs e)
        {
            // 想办法得到当前行的ClassId
            Model.Class cls = ((List <Model.Class>) this.gridView1.DataSource)[e.RowHandle];

            // 绑定班级类型
            if (e.Column.Equals(this.ClassTypeName))
            {
                List <Model.ClassType> classTypes = this.repoClassType.GetList(predicate: "ID=" + cls.ClassTypeId);
                e.DisplayText = classTypes[0].ClassTypeName.ToString();
            }
            else
            {
                // 绑定班级人数
                List <Model.Student> students = this.repoClass.GetStudents(cls.ID);

                if (e.Column.Equals(this.NoStudents))
                {
                    e.DisplayText = students.Count.ToString();
                }

                if (e.Column.Equals(this.NoBoys))
                {
                    e.DisplayText = students.Where(x => x.xb == "男").Count().ToString();
                }

                if (e.Column.Equals(this.NoGirls))
                {
                    e.DisplayText = students.Where(x => x.xb == "女").Count().ToString();
                }

                if (e.Column.Equals(this.MaxScore))
                {
                    e.DisplayText = students.Count > 0 ? students.Max(x => x.zcj).ToString() : "0";
                }

                if (e.Column.Equals(this.MinScore))
                {
                    e.DisplayText = students.Count > 0 ? students.Min(x => x.zcj).ToString() : "0";
                }

                if (e.Column.Equals(this.AverageScore))
                {
                    e.DisplayText = students.Count > 0 ? students.Average(x => x.zcj).ToString() : "0";
                }
            }
        }
Example #13
0
        /// <summary>
        /// 添加课程
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void Button2_Click(object sender, EventArgs e)
        {
            Model.Class item = new Model.Class();
            item.Name         = TextBox1.Text;
            item.Introduction = TextBox2.Text;
            item.Weight       = Convert.ToInt32(DropDownList1.SelectedValue);
            item.ImgUrl       = pictureName;
            int flag = BLL.Class.BLLAddClass(item);

            if (flag > 0)
            {
                Response.Write("<script>alert('课程创建成功! ');window.window.location.href='class_list.aspx';</script>");
            }
            else
            {
                Response.Write("<script>alert('课程添加失败! ');</script>");
            }
        }
Example #14
0
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                int           id   = Convert.ToInt32(Request.QueryString["id"]);
                SqlDataReader sdr  = BLL.Class.BLLGetClassByID(id);
                Model.Class   item = new Model.Class();
                if (sdr.Read())
                {
                    item.Name         = sdr[1].ToString();
                    item.Introduction = sdr[2].ToString();
                    item.Weight       = Convert.ToInt32(sdr[3]);
                    item.ImgUrl       = sdr[4].ToString();
                }

                TextBox1.Text = item.Name;
                TextBox2.Text = item.Introduction;
                DropDownList1.SelectedIndex = item.Weight;
                img1.Src    = @"~\" + item.ImgUrl;
                pictureName = item.ImgUrl;
            }
        }
        private void btnAutoAssign_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
        {
            if (XtraMessageBox.Show("自动分班需要数分钟时间,并将清空原有分班信息。是否继续?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No)
            {
                return;
            }

            // 清空原有分班信息
            this.btnClear_ItemClick(sender, null);

            // 待分班的学生
            List <Model.Student> students = this.repoStudent.GetList();

            // 按总分排序
            students.Sort((x, y) => - x.zcj.CompareTo(y.zcj));

            // 分班方式
            int autoAssignType;

            switch (this.cbAutoAssignType.EditValue.ToString())
            {
            case "平行":
                autoAssignType = 0;
                break;

            case "蛇形":
                autoAssignType = 1;
                break;

            case "随机":
                autoAssignType = 2;
                break;

            default:
                autoAssignType = 1;
                break;
            }


            // 创建好的班级
            LayoutControl layoutControl           = this.Controls["layoutControl1"] as LayoutControl;
            int           classCount              = 1;
            int           scienceStudentIndex     = 0;
            int           liberalArtsStudentIndex = 0;

            for (int i = 0; i < this.itemCount; i++)
            {
                // 获得控件
                LayoutControlItem      layoutControlItem = layoutControl.Items.FindByName("classItemLayoutItem" + i) as LayoutControlItem;
                UserControls.ClassItem item = layoutControlItem.Control as UserControls.ClassItem;

                // 建立该类型下所有班级
                for (int j = 0; j < item.ClassNum; j++)
                {
                    Model.Class cls = new Model.Class();
                    cls.ClassName   = "高中" + DateTime.Today.Year.ToString() + "级(" + classCount + ")班";
                    cls.ClassTypeId = item.ClassTypeId;
                    cls.Grade       = DateTime.Today.Year.ToString();
                    // 班主任信息需要在班级管理中设置

                    // 班级先入库,否则没有班级ID
                    this.repoClass.Add(cls);
                    classCount++;
                }

                // 自动分该类型的班
                List <Model.Student> stu;
                if (item.IsLiberalArts == 1)
                {
                    stu = students.Where(x => x.sfwk == 1).ToList();
                    int totalStudent = item.StudentNumPerClass * item.ClassNum;
                    int startIdx     = liberalArtsStudentIndex;
                    int endIdx       = startIdx + totalStudent - 1;
                    stu = stu.Skip(startIdx).ToList().Take(totalStudent).ToList();

                    List <Model.Class> classes = this.repoClass.GetList(predicate: "ClassTypeId=" + item.ClassTypeId + " and Grade='" + DateTime.Now.Year.ToString() + "'");

                    this.repoStudentClass.AutoAssign(stu, classes, autoAssignType);

                    liberalArtsStudentIndex = endIdx + 1;
                }
                else
                {
                    stu = students.Where(x => x.sfwk == 0).ToList();
                    int totalStudent = item.StudentNumPerClass * item.ClassNum;
                    int startIdx     = scienceStudentIndex;
                    int endIdx       = startIdx + totalStudent - 1;
                    stu = stu.Skip(startIdx).ToList().Take(totalStudent).ToList();

                    List <Model.Class> classes = this.repoClass.GetList(predicate: "ClassTypeId=" + item.ClassTypeId + " and Grade='" + DateTime.Now.Year.ToString() + "'");

                    this.repoStudentClass.AutoAssign(stu, classes, autoAssignType);

                    scienceStudentIndex = endIdx + 1;
                }
            }


            XtraMessageBox.Show("自动分班完成。\n 请前往“班级管理”完善班级其它信息。", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);

            // 分完了,查询出来
            this.BindStudentClass();
        }