if (!optionsBuilder.
IsConfigured)
{
var config = new
ConfigurationBuilder().AddJsonFile("appsettings.json").Build();
string ConnectionStr = config.GetConnectionString("Q2");
optionsBuilder.UseSqlServer(ConnectionStr);
}
--------------------------------------------------------------------
-- gán dữ liệu cho combobox:
private void loadComBoBox()
{
//gán dữ liệu cho combo box
cbRoom.DisplayMember ="Title";
cbRoom.ValueMember = "Title";
cbFeetype.DisplayMember = "FeeType";
cbFeetype.ValueMember = "FeeType";
using (var ap = new PRN211_Spr22Context())
{
cbRoom.DataSource = ap.Rooms.ToList();
cbFeetype.DataSource = ap.Services.Select(x =>
x.FeeType).Distinct().ToList(); //select dictinct FreeType
void loadComboBox()
{
using (var ap = new PRN_Sum22_B1Context())
{
cbCategory.DataSource = ap.Categories.Select(x =>
x.CategoryName).ToList();
}
}
--- JOIN BẰNG LINq, FORMAT DATE TO dd/MM/yyyy
private void loadDataInDVGRoom()
{
string title = cbRoom.Text;
string feeType = cbFeetype.Text;
using (var ap = new PRN211_Spr22Context())
{
dynamic dt =
(from r in ap.Rooms
join s in ap.Services on r.Title equals s.RoomTitle
where r.Title.Equals(title) && s.FeeType.Equals(feeType)
select new
{
newtitle = s.RoomTitle,
floor = r.Floor,
square = r.Square,
month = s.Month,
year = s.Year,
freeType = s.FeeType,
amount = s.Amount,
paymentDate = string.Format("{0:dd/MM/yyyy}",
s.PaymentDate), //format date to dd/mm/yyyy
employee = s.Employee
}).ToList();
dgvRoom.DataSource = dt;
}
}
-------------------------------------------------------------------------------
DESIGN DATAGRID VIEW
private void designDataGridView()
{
dgvRoom.AutoGenerateColumns = false;
dgvRoom.Columns.Add("Title", "Title");
dgvRoom.Columns["Title"].DataPropertyName = "newtitle";
dgvRoom.Columns.Add("", "");
dgvRoom.Columns[""].DataPropertyName = "";
dgvEmployee.Columns["dob"].DataPropertyName = "Dob";
dgvEmployee.Columns[3].DefaultCellStyle.Format = "dd/MM/yyyy";
}
---------------------------
ADD CHECKBOX TO DATAGRIDVIEW khi làm design data grid view
DataGridViewCheckBoxColumn col = new DataGridViewCheckBoxColumn();
col.ValueType = typeof(bool);
col.Name = "Male";
col.HeaderText = "Male";
dgvEmployee.Columns.Add(col);
dgvEmployee.Columns["Male"].DataPropertyName = "Male";
-------------------------------------------------------
ADD CHECK BOX COLUMN BANG DESSIGN TREN DATA GRID VIEW
Design các cột trên data grid view, cột chứa check box chuyển thành datagridview
checkbox column
dgvEmployee.Rows.Clear();
using (var ap = new PE_PRN_Sum21Context())
{
employees = ap.Employees.ToList();
foreach(Employee employee in employees)
{
dgvEmployee.Rows.Add(employee.EmployeeId,employee.EmployeeName,employee.Male,employ
ee.Phone);
}
}
-----------------------------------
GÁN DỮ LIỆU KHI CLICK VÀO 1 RECORD ĐẨY THÔNG TIN SANG GROUP BOX
private void dgvEmployee_CellContentClick(object sender, DataGridViewCellEventArgs
e)
{
if (e.ColumnIndex < 0 || e.RowIndex < 0) return;
selectedEmployee = employees[e.RowIndex];
tbEmployeeName.Text = selectedEmployee.EmployeeName;
tbPhone.Text = selectedEmployee.Phone;
if(selectedEmployee.Male == true)
{
rbMale.Checked = true;
// rbFemale.Checked = false;
}
else
{
// rbMale.Checked=false;
rbFemale.Checked = true;
}
numUDSalary.Value = Convert.ToDecimal(selectedEmployee.Salary);
dateTimePicker1.Value = employee.Dob;
}
--------------------------------------------------------
DELETE USING ENTITYFRAME WORK
private void btDelete_Click(object sender, EventArgs e)
{
if (selectedEmployee != null)
{
using (var ap = new PE_PRN_Sum21Context())
{
Employee employee = ap.Employees.FirstOrDefault(x =>
x.EmployeeId == selectedEmployee.EmployeeId);
if (employee == null) return;
List<Contract> contracts = ap.Contracts.ToList();
foreach (Contract contract in contracts)
{
List<Contract> deleteByEmployeesID = ap.Contracts.Where(x =>
x.EmployeeId == selectedEmployee.EmployeeId).ToList();
ap.Contracts.RemoveRange(deleteByEmployeesID);
}
ap.Employees.Remove(employee);
ap.SaveChanges();
}
loadAllEmployee();
}
}
------------- ---------------------------------------------------------
private void btUpdate_Click(object sender, EventArgs e)
{
Employee newEmployee = loadEmployeeInfor();
if(selectedEmployee != null)
{
using (var ap = new PE_PRN_Sum21Context())
{
Employee employee = ap.Employees.FirstOrDefault(x =>
x.EmployeeId== selectedEmployee.EmployeeId);
employee.EmployeeName = newEmployee.EmployeeName;
employee.Salary = newEmployee.Salary;
employee.Phone = newEmployee.Phone;
employee.Male = newEmployee.Male;
ap.SaveChanges();
}
loadAllEmployee();
}
}
-----------------------------------------------------------------------------------
---------------------------
private Employee loadEmployeeInfor()
{
Employee employee = new Employee();
//employee.EmployeeId = Convert.ToInt32(tbEmployeeID.Text.Trim());
employee.EmployeeName = tbEmployeeName.Text.Trim();
employee.Salary = float.Parse(numUDSalary.Value.ToString());
if(rbMale.Checked == true)
{
employee.Male = true;
}
else
{
employee.Male = false;
}
employee.Phone = tbPhone.Text.Trim();
return employee;
}
private void btAdd_Click(object sender, EventArgs e)
{
Employee newEmployee = loadEmployeeInfor();
using (var ap = new PE_PRN_Sum21Context())
{
ap.Employees.Add(newEmployee);
ap.SaveChanges();
}
loadAllEmployee();
}
---------
//nhấn nút refresh thì clear hết dữ liệu
private void btRefresh_Click(object sender, EventArgs e)
{
tbCourseCode.Text = String.Empty;
tbDescription.Text = String.Empty;
cbSelectedSubject.SelectedIndex = 0;
cbSelectedInstructer.SelectedIndex = 0;
}
---------------------------
CELL FORMAT
private void dgvEmployee_CellFormatting(object sender,
DataGridViewCellFormattingEventArgs e)
{
string columnName = dgvEmployee.Columns[e.ColumnIndex].Name;
if (columnName == "gender")
{
bool value =
(bool)dgvEmployee.Rows[e.RowIndex].Cells["gender"].Value;
if (value == true)
{
e.Value = "Male";
}
else
{
e.Value = "FeMale";
}
}
}
----------------------
ĐẾM SỐ EMPLOYEE CỦA TỪNG KHOA
//tabkhoa
if(tabSinhVienALL.SelectedIndex == 1)
{
using (PRN211_Project_B5Context context = new
PRN211_Project_B5Context())
{
var data = context.Khoas.Where(x => x.SinhViens.Count > 1)
.Select(x => new
{
MaKhoa = x.MaKhoa,
TenKhoa = x.TenKhoa,
NumberOfStudents = x.SinhViens.Count
}).ToList();
dgvKhoa.DataSource = data;
}
}
-------------
sửa date when add KHÔNG LOAD ĐƯỢC THÔNG TIN SANG CÁC TEXTBOX
string date1 = dgvSinhVien.Rows[e.RowIndex].Cells[3].FormattedValue.ToString();
dTPDob.Value = DateTime.ParseExact(date1, "dd/MM/yyyy",
CultureInfo.InvariantCulture);
------------------------------------------
DIALOG
DialogResult result = MessageBox.Show("Do you want to save changes?",
"Confirmation", MessageBoxButtons.YesNoCancel);
if(result == DialogResult.Yes)
{
//...
}
else if (result == DialogResult.No)
{
//...
}
else
{
//...
}