private void LoadMonAn() { dtMonAn = new DataTable(); dtMonAn = BUS_MonAn.GetDataTableMonAn(); cboDanhSachMonAn.DataSource = dtMonAn; cboDanhSachMonAn.DisplayMember = dtMonAn.Columns["TenMonAn"].ToString(); cboDanhSachMonAn.ValueMember = dtMonAn.Columns["MaMonAn"].ToString(); try { cboDanhSachMonAn.SelectedIndex = 0; } catch (Exception ex) { } }
private void frmTraCuuMonAn_Load(object sender, EventArgs e) { dgvDanhSachMonAn.DataSource = BUS_MonAn.GetDataTableMonAn(); }
private void GetDataMonAnCurrent() { ResultTable = BUS_MonAn.GetDataTableMonAn(); }
private void btnLuu_Click(object sender, EventArgs e) { if (InputsAreNull()) { MessageBox.Show("Vui lòng nhập đầy đủ!"); txtTenMonAn.Focus(); } //INSERT State else if (this.currentState == STATE.INSERT) { //Check txtDonGia double parsedValue; if (!double.TryParse(txtDonGia.Text, out parsedValue)) { MessageBox.Show("Đơn giá - chỉ chấp nhận định dạng số!"); txtDonGia.ResetText(); return; } else if (txtDonGia.Text.Length > 18) { MessageBox.Show("Đơn giá - không vượt quá 18 chữ số!"); txtDonGia.ResetText(); return; } //Save image bool stateSaveImage = true; string newImage = ImageLocationPath; try { if (lbThongTinHinhAnh.Text == "") { lbThongTinHinhAnh.Text = "Unknow.png"; } if (File.Exists(@"DanhSachMonAn\" + lbThongTinHinhAnh.Text)) { stateSaveImage = false; } } catch (Exception ex) { lbThongTinHinhAnh.Text = "Unknow.png"; } //DTO Information string nameOfImage = (BUS_MonAn.LastIndex() + 1).ToString() + Path.GetExtension(newImage); DTO_MonAn monAn = new DTO_MonAn(); monAn.TenMonAn = txtTenMonAn.Text; monAn.DonGia = Convert.ToDecimal(txtDonGia.Text); monAn.GhiChu = txtGhiChu.Text; if (lbThongTinHinhAnh.Text == "Unknow.png") { monAn.HinhAnh = "Unknow.png"; } else { monAn.HinhAnh = nameOfImage; } //INSERT bool InsertState = BUS_MonAn.InsertMonAn(monAn); if (InsertState) { //Copy image to folder project if (stateSaveImage) { try { string desFileName = Path.Combine(@"DanhSachMonAn\", nameOfImage); File.Copy(newImage, desFileName); } catch (Exception ex) { MessageBox.Show("Thao tác thêm ảnh vào CSDL thất bại", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Warning); } } ResultTable = BUS_MonAn.GetDataTableMonAn(); InsertNewImage(monAn); MessageBox.Show("Thêm thành công", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.None); } else { MessageBox.Show("Thêm thất bại", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.None); } //lstHinhAnh.Refresh(); this.currentState = STATE.WAITING; EnableFunctionsControl(); ClearInputs(); } //UPDATE state else if (this.currentState == STATE.EDIT) { //Check txtDonGia - Number only double parsedValue; if (!double.TryParse(txtDonGia.Text, out parsedValue)) { MessageBox.Show("Đơn giá - chỉ chấp nhận định dạng số!"); txtDonGia.ResetText(); return; } else if (txtDonGia.Text.Length > 18) { MessageBox.Show("Đơn giá - không vượt quá 18 chữ số!"); txtDonGia.ResetText(); return; } //OldImage string OldImage = ResultTable.Rows[itemSelect][3].ToString(); //NewImage string NewImage = ImageLocationPath; //DTO Information DTO_MonAn monAn = new DTO_MonAn(); monAn.MaMonAn = Int32.Parse(ResultTable.Rows[itemSelect][0].ToString()); monAn.TenMonAn = txtTenMonAn.Text; monAn.DonGia = Convert.ToDecimal(txtDonGia.Text); monAn.GhiChu = txtGhiChu.Text; string nameOfImage = monAn.MaMonAn.ToString() + Path.GetExtension(NewImage); //name HinhAnh if (lbThongTinHinhAnh.Text == "") { monAn.HinhAnh = "Unknow.png"; } else { //monAn.HinhAnh = lbThongTinHinhAnh.Text; monAn.HinhAnh = nameOfImage; } //UPDATE bool UpdateState = BUS_MonAn.UpdateMonAn(monAn); if (UpdateState) { //Check [NewImage] with [OldImage] if (lbThongTinHinhAnh.Text != OldImage) { //DELETE OldImage and INSERT NewImage if (monAn.HinhAnh != "Unknow.png") { //DELETE OldImage try { string path2 = @"DanhSachMonAn\" + OldImage; GC.Collect(); GC.WaitForPendingFinalizers(); if (OldImage != "Unknow.png") { File.Delete(path2); } } catch (Exception ex) { MessageBox.Show("Xóa ảnh thất bại!", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.None); } //INSERT NewImage try { string nameOfNewImage = monAn.MaMonAn.ToString() + Path.GetExtension(NewImage); string desFileName = Path.Combine(@"DanhSachMonAn\", nameOfNewImage); File.Copy(NewImage, desFileName); } catch (Exception ex) { MessageBox.Show("Thêm ảnh thất bại!", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.None); } UpdateImage(monAn); } else //monAn.HinhAnh == "Unknow.png" => Xóa ảnh [prevImage] (OldImage) { //DELETE OldImage try { string path2 = @"DanhSachMonAn\" + OldImage; GC.Collect(); GC.WaitForPendingFinalizers(); if (OldImage != "Unknow.png") { File.Delete(path2); } } catch (Exception ex) { MessageBox.Show("Xóa ảnh thất bại!", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.None); } int lastIndex = imgListMonAn.Images.Count; imgListMonAn.Images[itemSelect].Dispose(); imgListMonAn.Images.Add(Image.FromFile(@"DanhSachMonAn\Unknow.png")); imgListMonAn.Images[itemSelect] = imgListMonAn.Images[lastIndex]; imgListMonAn.Images.RemoveAt(lastIndex); lstHinhAnh.LargeImageList = imgListMonAn; lstHinhAnh.Items[itemSelect].Text = monAn.TenMonAn; lstHinhAnh.Refresh(); } } else { lbThongTinHinhAnh.Text = OldImage; lstHinhAnh.Items[itemSelect].Text = monAn.TenMonAn; lstHinhAnh.Refresh(); } ResultTable = BUS_MonAn.GetDataTableMonAn(); this.currentState = STATE.WAITING; EnableFunctionsControl(); MessageBox.Show("Cập nhật thành công!"); } else { MessageBox.Show("Cập nhật thất bại!"); } } }