Exemplo n.º 1
0
        string Luu_Chi_Tiet(Data_QLKDataContext database)
        {
            var result = "OK";
            var dt = dsNhapKho.CHUNG_TU_CHI_TIET;
            var id = "";
            var row = 0;
            for (var i = 0; i < dt.Rows.Count; i++)
            {
                if (dt.Rows[i].RowState != DataRowState.Deleted)
                {
                    row++;

                    if (dt.Rows[i]["Ma_Hang_Hoa"] == DBNull.Value)
                    {

                        MessageBox.Show("Vui lòng chọn mặt hàng.", "Thông báo",
                                            MessageBoxButtons.OK, MessageBoxIcon.Warning);

                        result = "Chưa chọn mặt hàng";
                        gbList.FocusedRowHandle = row;
                        gbList.SetColumnError(colMa_Hang_Hoa, "Chưa chọn mặt hàng");
                        return result;
                    }

                    if (dt.Rows[i]["Ma_Kho_Hang"] == DBNull.Value)
                    {

                        MessageBox.Show("Chưa chọn kho hàng.", "Thông báo",
                                            MessageBoxButtons.OK, MessageBoxIcon.Warning);

                        result = "Chưa chọn kho hàng";
                        gbList.FocusedRowHandle = row;
                        gbList.SetColumnError(colMa_Kho_Hang, "Chưa chọn kho hàng");
                        return result;
                    }

                    id = dt.Rows[i]["Ma_Chi_Tiet"].ToString();
                }
                var dr = dt.Rows[i];
                switch (dr.RowState)
                {
                    case DataRowState.Added:

                        var chung_tu_chi_tiet = new CHUNG_TU_CHI_TIET
                        {
                            Ma_Chi_Tiet = Guid.NewGuid(),
                            Ma_Chung_Tu = txtMaChungTu.Text,
                            Ma_Hang_Hoa = dt.Rows[i]["Ma_Hang_Hoa"].ToString(),
                            Loai_Chung_Tu = 1, //1 nhap kho 2 xuat kho
                            Tinh_Trang = true, //true nhap kho false xuat kho
                            Ma_Kho_Hang = dt.Rows[i]["Ma_Kho_Hang"].ToString(),
                            So_Luong = Convert.ToDecimal(dt.Rows[i]["So_Luong"]),
                            Don_Gia = Convert.ToDecimal(dt.Rows[i]["Don_Gia"]),
                            Thanh_Tien = Convert.ToDecimal(dt.Rows[i]["Thanh_Tien"]),
                            Ghi_Chu = dt.Rows[i]["Ghi_Chu"].ToString(),
                            So_Thu_Tu = 0
                        };
                        database.CHUNG_TU_CHI_TIETs.InsertOnSubmit(chung_tu_chi_tiet);

                        break;
                    case DataRowState.Modified:

                        var chi_tiet_sua = (from ctct in database.CHUNG_TU_CHI_TIETs
                                                where ctct.Ma_Chi_Tiet == new Guid(id)
                                                select ctct).FirstOrDefault();

                        chi_tiet_sua.Ma_Chi_Tiet = new Guid(id);
                        chi_tiet_sua.Ma_Chung_Tu = txtMaChungTu.Text;
                        chi_tiet_sua.Ma_Hang_Hoa = dt.Rows[i]["Ma_Hang_Hoa"].ToString();
                        chi_tiet_sua.Loai_Chung_Tu = 1; //1 nhap kho 2 xuat kho
                        chi_tiet_sua.Tinh_Trang = true; //true nhap kho false xuat kho
                        chi_tiet_sua.Ma_Kho_Hang = dt.Rows[i]["Ma_Kho_Hang"].ToString();
                        chi_tiet_sua.So_Luong = Convert.ToDecimal(dt.Rows[i]["So_Luong"]);
                        chi_tiet_sua.Don_Gia = Convert.ToDecimal(dt.Rows[i]["Don_Gia"]);
                        chi_tiet_sua.Thanh_Tien = Convert.ToDecimal(dt.Rows[i]["Thanh_Tien"]);
                        chi_tiet_sua.Ghi_Chu = dt.Rows[i]["Ghi_Chu"].ToString();
                        chi_tiet_sua.So_Thu_Tu = 0;
                        break;
                    case DataRowState.Deleted:
                        var chi_tiet_xoa = (from ctct in database.CHUNG_TU_CHI_TIETs
                                        where ctct.Ma_Chi_Tiet == new Guid(id)
                                        select ctct).FirstOrDefault();
                        database.CHUNG_TU_CHI_TIETs.DeleteOnSubmit(chi_tiet_xoa);
                        break;
                }
                database.SubmitChanges();
            }
            return result;
        }
 partial void UpdateCHUNG_TU_CHI_TIET(CHUNG_TU_CHI_TIET instance);
 partial void DeleteCHUNG_TU_CHI_TIET(CHUNG_TU_CHI_TIET instance);
 partial void InsertCHUNG_TU_CHI_TIET(CHUNG_TU_CHI_TIET instance);