예제 #1
0
 private void btnLuu_Click(object sender, EventArgs e)
 {
     if (cbbNoiDungXuat.Text.Trim() == "")
     {
         MessageBox.Show("Vui lòng chọn nội dung xuất!");
         cbbNoiDungXuat.Focus();
         return;
     }
     if (grvHangHoa.RowCount <= 0)
     {
         MessageBox.Show("Vui lòng chọn hàng hóa xuất");
     }
     else
     {
         PhieuXuat px = new PhieuXuat();
         px.MaNhanVien  = (ProjectUltil.MaNhanVien != "") ? ProjectUltil.MaNhanVien : "NV0001";
         px.SoPhieuXuat = tedSoPhieu.Text;
         px.NgayLap     = DateTime.Now;
         px.TongTien    = TongTien;
         px.NoiDungXuat = cbbNoiDungXuat.SelectedText;
         if (PhieuXuatService.Insert(px))
         {
             int fail = 0;
             for (int i = 0; i < grvHangHoa.RowCount; i++)
             {
                 ChiTietPhieuXuat ctpx = new ChiTietPhieuXuat();
                 ctpx.SoPhieuXuat = tedSoPhieu.Text;
                 ctpx.MaHangHoa   = grvHangHoa.GetRowCellValue(i, "MaHangHoa").ToString();
                 ctpx.SoLuong     = int.Parse(grvHangHoa.GetRowCellValue(i, "SoLuong").ToString());
                 ctpx.DonGiaXuat  = decimal.Parse(grvHangHoa.GetRowCellValue(i, "DonGiaXuat").ToString());
                 ctpx.ThanhTien   = decimal.Parse(grvHangHoa.GetRowCellValue(i, "ThanhTien").ToString());
                 if (ChiTietPhieuXuatService.Insert(ctpx))
                 {
                     if (cbbNoiDungXuat.SelectedIndex == 0)
                     {
                         if (!HangHoaService.XuatQuay(ctpx.MaHangHoa, ctpx.SoLuong))
                         {
                             MessageBox.Show("Không thể cập nhật số lượng hàng hóa!");
                         }
                     }
                     else
                     {
                         if (!HangHoaService.XuatTra(ctpx.MaHangHoa, ctpx.SoLuong))
                         {
                             MessageBox.Show("Không thể cập nhật số lượng hàng hóa!");
                         }
                     }
                 }
                 else
                 {
                     fail++;
                     if (i > 0)
                     {
                         ChiTietPhieuNhapService.Delete(tedSoPhieu.Text);
                     }
                     if (PhieuNhapService.Delete(tedSoPhieu.Text))
                     {
                         MessageBox.Show("Roll back thành công!");
                     }
                     else
                     {
                         MessageBox.Show("Roll back không thành công!");
                     }
                     break;
                 }
             }
             if (fail > 0)
             {
                 MessageBox.Show("Lưu không thành công!");
             }
             else
             {
                 isSaved       = true;
                 isDataChanged = true;
                 MessageBox.Show("Lưu thành công!");
             }
         }
         else
         {
             if (MessageBox.Show("Thông báo", "Phiếu xuất này đã được lưu, bạn muốn tạo phiếu mới?", MessageBoxButtons.OKCancel) == DialogResult.OK)
             {
                 btnNhapLai.PerformClick();
             }
         }
     }
 }