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)
     {
     }
 }
示例#2
0
 private void frmTraCuuMonAn_Load(object sender, EventArgs e)
 {
     dgvDanhSachMonAn.DataSource = BUS_MonAn.GetDataTableMonAn();
 }
示例#3
0
 private void GetDataMonAnCurrent()
 {
     ResultTable = BUS_MonAn.GetDataTableMonAn();
 }
示例#4
0
        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!");
                }
            }
        }