예제 #1
0
        private void SetSelectionInfo(int index)
        {
            //设置显示日期文本
            DateTime dt        = dtpDate.Value.AddDays(index);
            int      roomCount = zDataConverter.ToInt(bllConfiguration.GetItemValueByCache("RoomCount"));
            int      dayCount  = zDataConverter.ToInt(bllConfiguration.GetItemValueByCache("DayCount"));

            string[] roomNames = zDataConverter.ToString(bllConfiguration.GetItemValueByCache("RoomNames")).Split(',');
            string[] dayNames  = zDataConverter.ToString(bllConfiguration.GetItemValueByCache("DayNames")).Split(',');
            tabControl1.TabPages[index].Text = string.Format(MessageText.FORMAT_DATE_WEEK, dt.ToString(MessageText.FORMAT_DATE), dt.ToString("dddd", new System.Globalization.CultureInfo("zh-CN")));
            //清除表格重绘
            Control[] controls = tabControl1.TabPages[index].Controls.Find(zDataConverter.ToString(typeof(XFClassScheduler)) + index, false);
            if (controls.Length > 0)
            {
                for (int i = 0; i < controls.Length; i++)
                {
                    tabControl1.TabPages[index].Controls.Remove(controls[i]);
                    controls[i].Dispose();
                }
            }
            xfClassScheduler      = new XFClassScheduler(dayCount, roomCount, roomNames, dayNames);
            xfClassScheduler.Name = zDataConverter.ToString(typeof(XFClassScheduler)) + index;
            xfClassScheduler.Tag  = dt;
            xfClassScheduler.Dock = DockStyle.Fill;
            xfClassScheduler.Size = new Size(tabControl1.TabPages[index].Width - 6, tabControl1.TabPages[index].Height - 6);
            tabControl1.TabPages[index].Controls.Add(xfClassScheduler);
            //设置已选课数据
            foreach (DataRow dr in dtSelection.Select(string.Format("CourseDate ='{0}' and StoreID = {1}", dt, StoreID)))
            {
                XF.Model.Course_Selection model = bll.DataRowToModel(dr);
                xfClassScheduler.Rows[model.LessonNO].Cells[model.ClassRoomID].Style.BackColor = ColorTranslator.FromHtml(model.Color);
                xfClassScheduler.Rows[model.LessonNO].Cells[model.ClassRoomID].Value           = string.Format("{0}第{1}节{2}选课人数:{3}{2}授课老师:{4}{2}学员:{5}", model.CourseName, model.SectionNO, MessageText.KEY_ENTER, zDataConverter.ToString(model.SelectionCount), model.TeacherName, model.StudentNames);
                xfClassScheduler.Rows[model.LessonNO].Cells[model.ClassRoomID].Tag             = model.SelectionID;
            }
            //设置已排课数据,目前不区分教室排课
            int weekDay = ((int)dt.DayOfWeek + 6) % 7;

            foreach (DataRow dr in dtScheduler.Select(string.Format("StoreID = {0} and WeekDay = {1}", StoreID, weekDay)))
            {
                XF.Model.Course_Scheduler model = bllScheduler.DataRowToModel(dr);
                for (int i = 0; i < roomCount; i++)
                {
                    if (zDataConverter.ToString(xfClassScheduler.Rows[model.LessonNO].Cells[i].Tag).Equals(string.Empty))
                    {
                        xfClassScheduler.Rows[model.LessonNO].Cells[i].Style.BackColor = Color.Lavender;
                        xfClassScheduler.Rows[model.LessonNO].Cells[i].Tag             = -1;
                        xfClassScheduler.Rows[model.LessonNO].Cells[i].Value           = "未排课";
                    }
                }
            }
            //设置点击事件
            xfClassScheduler.CellClick += new DataGridViewCellEventHandler(xfClassScheduler_CellClick);
        }
예제 #2
0
        /// <summary>
        /// 保存数据采用先清除,后增加策略
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void tsBtnSave_Click(object sender, EventArgs e)
        {
            ArrayList lstSql = new ArrayList();

            XF.Model.Course_Scheduler model = new XF.Model.Course_Scheduler();
            lstSql.Add(bll.GetDeleteSql(storeID, classRoomID));
            model.StoreID     = storeID;
            model.ClassRoomID = classRoomID;
            foreach (DataGridViewRow dgvr in xfCourseScheduler1.Rows)
            {
                foreach (DataGridViewCell dgvc in dgvr.Cells)
                {
                    if (zDataConverter.ToString(dgvc.Value).Equals(MessageText.HAS_SCHEDULER))
                    {
                        model.WeekDay  = dgvc.ColumnIndex;
                        model.LessonNO = dgvc.RowIndex;
                        lstSql.Add(bll.GetAddSql(model));
                    }
                }
            }
            if (bllSys.ExecuteSqlTran(lstSql))
            {
                QQMessageBox.Show(
                    this,
                    MessageText.TIP_SUCCESS_SAVE,
                    MessageText.MESSAGEBOX_CAPTION_TIP,
                    QQMessageBoxIcon.OK,
                    QQMessageBoxButtons.OK);
            }
            else
            {
                QQMessageBox.Show(
                    this,
                    MessageText.SQL_ERROR_SCHEDULER_SAVE,
                    MessageText.MESSAGEBOX_CAPTION_ERROR,
                    QQMessageBoxIcon.Error,
                    QQMessageBoxButtons.OK);
            }
        }