Files
csharpcode/omegapro/Omega/Forms/frmQuestionBank.cs
2025-08-02 05:20:17 +07:00

113 lines
4.0 KiB
C#

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Linq;
using Datalib.Linq;
using Datalib.EntityClasses;
using Datalib.FactoryClasses;
using Datalib.HelperClasses;
namespace Omega.Forms
{
public partial class frmQuestionBank : Omega.BasicForms.frmCommon
{
public List<TblQuestionEntity> Questions { get; set; }
public frmQuestionBank()
{
InitializeComponent();
}
public override void LoadData()
{
LinqMetaData Meta = new LinqMetaData(adapter);
Questions = Meta.TblQuestion.ToList<TblQuestionEntity>(); ;
grdResult.DataSource = Questions;
repoSubject.DataSource = Meta.TblSubject;
base.LoadData();
}
private void View_Click(object sender, EventArgs e)
{
string QuestionId = gridView.GetFocusedRowCellValue(colQuestionId).ToString();
LinqMetaData Meta = new LinqMetaData(adapter);
var Question = Meta.TblQuestion.Where(m => m.QuestionId == QuestionId).FirstOrDefault();
frmEditQuestion frm = new frmEditQuestion();
frm.Question = Question;
frm.LoadData();
frm.Show();
}
private void repositoryItemPopupContainerEdit_ButtonClick(object sender, DevExpress.XtraEditors.Controls.ButtonPressedEventArgs e)
{
string QuestionId = gridView.GetFocusedRowCellValue(colQuestionId).ToString();
LinqMetaData Meta = new LinqMetaData(adapter);
var Question = Meta.TblQuestion.Where(m => m.QuestionId == QuestionId).FirstOrDefault();
}
private void Delete_Click(object sender, EventArgs e)
{
this.DeleteRecord();
}
public override void DeleteRecord()
{
if (gridView.SelectedRowsCount == 0) return;
if (MessageBox.Show("Bạn muốn xóa câu hỏi đã được đánh dấu?","Xóa câu hỏi",MessageBoxButtons.OKCancel)==DialogResult.OK)
{
int[] dels = gridView.GetSelectedRows();
EntityCollection<TblQuestionEntity> deleteds = new EntityCollection<TblQuestionEntity>();
foreach ( int del in dels)
{
string QuestionId = gridView.GetRowCellValue(del, colQuestionId).ToString();
TblQuestionEntity Question = Questions.Where(q => q.QuestionId == QuestionId).Single();
MessageBox.Show(del.ToString() + " " + Question.QuestionCode);
deleteds.Add(Question);
}
adapter.DeleteEntityCollection(deleteds);
LinqMetaData Meta = new LinqMetaData(adapter);
Questions = Meta.TblQuestion.ToList<TblQuestionEntity>(); ;
grdResult.DataSource = Questions;
}
}
private void barSave_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
this.BindingContext[Questions].EndCurrentEdit();
foreach(TblQuestionEntity q in Questions)
{
adapter.SaveEntity(q,true,true);
}
}
private void barView_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
string QuestionId = gridView.GetFocusedRowCellValue(colQuestionId).ToString();
LinqMetaData Meta = new LinqMetaData(adapter);
var Question = Meta.TblQuestion.Where(m => m.QuestionId == QuestionId).FirstOrDefault();
frmEditQuestion frm = new frmEditQuestion();
frm.Question = Question;
frm.LoadData();
frm.Show();
}
private void barDelete_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
DeleteRecord();
}
}
}