public bool Delete(DatabaseFB db, DbTransaction dbTrans, DOPhieuX DOX) { ITonKho data = (ITonKho)DOX; long ky_id = KhoTonKhoHelp.GetKy(new PLTransaction(db, dbTrans), data.GetNgayPhatSinh()); PLTransaction plTrans = new PLTransaction(db, dbTrans); //Danh sách tạo từ chương trình List<DOFWObjRelData> listObjRel = KhoTonKhoHelp.GetData(plTrans, 0, 0, DOX); //Cập nhật tồn kho từ kỳ hiện tại trở về sau foreach (DOFWObjRelData ObjRel in listObjRel) KhoTonKhoHelp.CapNhatNhapXuatChuyen(plTrans, ObjRel, 3,ky_id); //Xóa phiếu phát sinh return DAFWObjRelData.I.Delete(new PLTransaction(db, dbTrans), ky_id, DOX.GetID(), DOX.GetPhieuType().GetTypeID()); }
/// <summary> /// Lấy dữ liệu gốc từ DB /// </summary> /// <param name="plTrans">Đối tượng PLTransaction</param> /// <param name="DOX">Đối tượng DOPhieuX</param> /// <returns>Danh sách các đối tượng DOFWObjRelData</returns> public static List<DOFWObjRelData> GetDataDesDB(PLTransaction plTrans, DOPhieuX DOX,long ky_id) { List<DOFWObjRelData> listObjRel = new List<DOFWObjRelData>(); try { ITonKho data = (ITonKho)DOX; //long ky_id = KhoTonKhoHelp.GetKy(plTrans, data.GetNgayPhatSinh()); DataSet ds = plTrans.LoadDataSet("kho_ton_kho_" + ky_id, "DES_ID", DOX.GetID()); foreach (DataRow dr in ds.Tables[0].Rows) { DOFWObjRelData ObjRel = new DOFWObjRelData(); ObjRel.ID_TEM = HelpNumber.ParseInt64(dr["ID_TEM"]); ObjRel.SRC_ID = HelpNumber.ParseInt64(dr["SRC_ID"]); ObjRel.SRC_TYPE = HelpNumber.ParseInt64(dr["SRC_TYPE"]); ObjRel.DES_ID = HelpNumber.ParseInt64(dr["DES_ID"]); ObjRel.DES_TYPE = HelpNumber.ParseInt64(dr["DES_TYPE"]); ObjRel.HH_ID = HelpNumber.ParseInt64(dr["HH_ID"]); ObjRel.SO_LG = HelpNumber.ParseDecimal(dr["SO_LG"]); ObjRel.TONG_TR_LG = HelpNumber.ParseDecimal(dr["TONG_TR_LG"]); ObjRel.NGUOI_CAP_NHAT = HelpNumber.ParseInt64(dr["NGUOI_CAP_NHAT"]); ObjRel.NGAY_CAP_NHAT = (DateTime?)DateTime.Parse(dr["NGAY_CAP_NHAT"].ToString()); ObjRel.NGUOI_PHAT_SINH = HelpNumber.ParseInt64(dr["NGUOI_PHAT_SINH"]); ObjRel.NGAY_PHAT_SINH = (DateTime?)DateTime.Parse(dr["NGAY_PHAT_SINH"].ToString()); ObjRel.INOUT1 = dr["INOUT1"].ToString(); ObjRel.KHO_ID1 = HelpNumber.ParseInt64(dr["KHO_ID1"]); ObjRel.INOUT2 = dr["INOUT2"].ToString(); ObjRel.KHO_ID2 = HelpNumber.ParseInt64(dr["KHO_ID2"]); ObjRel.DON_VI_TINH = HelpNumber.ParseInt64(dr["DON_VI_TINH"]); ObjRel.GIA = HelpNumber.ParseDecimal(dr["GIA"]); ObjRel.TINH_TRANG_HH = HelpNumber.ParseInt64(dr["TINH_TRANG_HH"]); listObjRel.Add(ObjRel); } return listObjRel; } catch (Exception ex) { plTrans.Rollback(); PLException.AddException(ex); return listObjRel; } }
/// <summary> /// Lấy dữ liệu chuẩn bị cho việc lưu DB /// </summary> /// <param name="Src">Loại phiếu Src</param> /// <param name="SrcID">ID phiếu Src</param> /// <param name="DOX">Đối tượng DOPhieuX</param> /// <returns>Danh sách các đối tượng DOFWObjRelData</returns> public static List<DOFWObjRelData> GetData(PLTransaction plTrans, long Src, long SrcID, DOPhieuX DOX) { List<DOFWObjRelData> listObjRel = new List<DOFWObjRelData>(); try { ITonKho data = (ITonKho)DOX; DataSet ds_hanghoa = data.GetTonKho().DataSet; DataSet PinMap_ds = Get_TableColumnMap(plTrans, DOX.GetPhieuType().GetTypeID()); if (PinMap_ds != null && PinMap_ds.Tables.Count > 0) { DataTable PinMap = PinMap_ds.Tables[0]; string HangHoa_ID = PinMap.Rows[0]["PIN_HANG_HOA"] != null ? PinMap.Rows[0]["PIN_HANG_HOA"].ToString().Trim() : ""; string SoLuong = PinMap.Rows[0]["PIN_SO_LUONG"] != null ? PinMap.Rows[0]["PIN_SO_LUONG"].ToString().Trim() : ""; string TrongLuong = PinMap.Rows[0]["PIN_TRONG_LUONG"] != null ? PinMap.Rows[0]["PIN_TRONG_LUONG"].ToString().Trim() : ""; string DonGia = PinMap.Rows[0]["PIN_DON_GIA"] != null ? PinMap.Rows[0]["PIN_DON_GIA"].ToString().Trim() : ""; string TTHTK_ID = PinMap.Rows[0]["PIN_TTHTK"] != null ? PinMap.Rows[0]["PIN_TTHTK"].ToString().Trim() : ""; if (HangHoa_ID != "" && ds_hanghoa.Tables.Count > 0 && ds_hanghoa.Tables[0].Columns.Contains(HangHoa_ID)) { foreach (DataRow dr in ds_hanghoa.Tables[0].Rows) { DOFWObjRelData ObjRel = new DOFWObjRelData(); ObjRel.SRC_ID = SrcID; ObjRel.SRC_TYPE = Src; ObjRel.DES_ID = DOX.GetID(); ObjRel.DES_TYPE = DOX.GetPhieuType().GetTypeID(); ObjRel.HH_ID = HelpNumber.ParseInt64(dr[HangHoa_ID]); if (SoLuong != "" && ds_hanghoa.Tables[0].Columns.Contains(SoLuong)) ObjRel.SO_LG = HelpNumber.ParseDecimal(dr[SoLuong]); if (TrongLuong != "" && ds_hanghoa.Tables[0].Columns.Contains(TrongLuong)) ObjRel.TONG_TR_LG = HelpNumber.ParseDecimal(dr[TrongLuong]); ObjRel.NGUOI_CAP_NHAT = data.GetNguoiCapNhat(); ObjRel.NGAY_CAP_NHAT = data.GetNgayCapNhat(); ObjRel.NGUOI_PHAT_SINH = data.GetNguoiPhatSinh(); ObjRel.NGAY_PHAT_SINH = data.GetNgayPhatSinh(); string inout1 = PinMap.Rows[0]["INOUT1"].ToString();//INOUT1FromType(plTrans, ObjRel.DES_TYPE); if (inout1 != "") { ObjRel.INOUT1 = inout1; if (inout1 == "OUT" || inout1 == "IN") ObjRel.KHO_ID1 = data.GetKho1(); } else ObjRel.INOUT1 = ""; string inout2 = PinMap.Rows[0]["INOUT2"].ToString();//INOUT2FromType(plTrans, ObjRel.DES_TYPE); if (inout2 == "OUT" || inout2 == "IN") { ObjRel.INOUT2 = inout2; ObjRel.KHO_ID2 = data.GetKho2(); } else ObjRel.INOUT2 = ""; long dvt_id = DVTFromHH_ID(plTrans, ObjRel.HH_ID); if (dvt_id != -1) ObjRel.DON_VI_TINH = dvt_id; if (DonGia != "" && ds_hanghoa.Tables[0].Columns.Contains(DonGia)) ObjRel.GIA = HelpNumber.ParseDecimal(dr[DonGia]); if (TTHTK_ID != "" && ds_hanghoa.Tables[0].Columns.Contains(TTHTK_ID)) ObjRel.TINH_TRANG_HH = HelpNumber.ParseInt64(dr[TTHTK_ID]); ObjRel.GHI_CHU = dr["GHI_CHU"] != null ? dr["GHI_CHU"].ToString() : ""; listObjRel.Add(ObjRel); } return listObjRel; } else return listObjRel; } else return listObjRel; } catch (Exception ex) { plTrans.Rollback(); PLException.AddException(ex); return listObjRel; } }