public void ImportUpdatePurchaseOrder(int pintPOMasterID, DataSet pdstDetail, ref int pintErrorLine) { const string TEMP_QTY_COL_NAME = "TempQty"; const string METHOD_NAME = THIS + ".ImportUpdateSaleOrder()"; const string SUMCOMMITQUANTITY_FLD = "SUMCommitQuantity"; if (pdstDetail.Tables.Count > 0) { foreach (DataRow drowDetail in pdstDetail.Tables[0].Rows) { if (drowDetail.RowState == DataRowState.Deleted) { continue; } if (int.Parse(drowDetail[PO_PurchaseOrderDetailTable.LINE_FLD].ToString()) == -1) { drowDetail.Delete(); } else { drowDetail[PO_PurchaseOrderDetailTable.PURCHASEORDERMASTERID_FLD] = pintPOMasterID; } } PO_PurchaseOrderDetailDS dsDetail = new PO_PurchaseOrderDetailDS(); //update sale order detail dataset dsDetail.UpdateDataSetForImport(pdstDetail, pintPOMasterID); } pintErrorLine = -1; }
//************************************************************************** /// <Description> /// Update Delivery Schedule - DataSet /// </Description> /// <Inputs> /// /// </Inputs> /// <Outputs> /// DataSet /// </Outputs> /// <Returns> /// DataSet /// </Returns> /// <Authors> /// THIENHD /// </Authors> /// <History> /// March, 9 2005 /// </History> /// <Notes> /// </Notes> //************************************************************************** public bool GetPurchaseOrderApprovalStatus(int pintPurchaseOrderDetailID) { PO_PurchaseOrderDetailDS objPO_PurchaseOrderDetailDS = new PO_PurchaseOrderDetailDS(); //return false; return(objPO_PurchaseOrderDetailDS.GetPurchaseOrderApprovalStatus(pintPurchaseOrderDetailID)); }
/// <summary> /// Get PurchaseOrderDetail to Close/Open /// </summary> /// <param name="pintCCNID"></param> /// <param name="pintMasterLocationID"></param> /// <param name="pintPurchaseOrderMasterID"></param> /// <param name="pblnClose"></param> /// <param name="pdtmFromScheduleDate"></param> /// <param name="pdtmToScheduleDate"></param> /// <returns></returns> /// <author>Trada</author> /// <date>Friday, Nov 25 2005</date> public DataSet GetPurchaseOrderDetail(int pintCCNID, int pintMasterLocationID, int pintPurchaseOrderMasterID, bool pblnClose, DateTime pdtmFromScheduleDate, DateTime pdtmToScheduleDate) { DataSet dstPurchaseOrderDetail = new DataSet(); PO_PurchaseOrderDetailDS dsPurchaseOrderDetail = new PO_PurchaseOrderDetailDS(); return(dstPurchaseOrderDetail = dsPurchaseOrderDetail.GetPurchaseOrderDetail(pintCCNID, pintMasterLocationID, pintPurchaseOrderMasterID, pblnClose, pdtmFromScheduleDate, pdtmToScheduleDate)); }
public bool CheckLevelApproval(int pintApproverID, int pintMasterID, int pintCCNID) { PO_PurchaseOrderDetailDS dsPurchaseOrderDetail = new PO_PurchaseOrderDetailDS(); DataSet dstApprovalLevel = new DataSet(); dstApprovalLevel = dsPurchaseOrderDetail.GetApprovalLevel(pintApproverID); PO_PurchaseOrderMasterDS dsPurchaseOrderMaster = new PO_PurchaseOrderMasterDS(); dstApprovalLevel.Tables.Add(dsPurchaseOrderMaster.ListPODetailByPOMasterID(pintMasterID, pintCCNID, false).Tables[0].Copy()); for (int i = 0; i < dstApprovalLevel.Tables[0].Rows.Count; i++) { decimal amount = 0, total = 0; if (dstApprovalLevel.Tables[0].Rows[i][MST_ApprovalLevelTable.AMOUNT_FLD].ToString().Trim() != String.Empty) { amount = decimal.Parse(dstApprovalLevel.Tables[0].Rows[i][MST_ApprovalLevelTable.AMOUNT_FLD].ToString()); } if (dstApprovalLevel.Tables[1].Rows[i][PO_PurchaseOrderDetailTable.TOTALAMOUNT_FLD].ToString().Trim() != String.Empty) { total = decimal.Parse(dstApprovalLevel.Tables[1].Rows[i][PO_PurchaseOrderDetailTable.TOTALAMOUNT_FLD].ToString()); } if (amount < total) { return(false); } else { return(true); } } return(true); }
/// <summary> /// Add new for case : Convert CPO to new PO /// </summary> /// <param name="pobjMasterVO"></param> /// <param name="pdstDetail"></param> /// <param name="pdstDelivery"></param> ///<author>TuanDM</author> public void UpdatePOAndDelScheduleImmediate(object pobjMasterVO, System.Data.DataSet pdstDetail, DataSet pdstDelivery, ArrayList parlCPOIDs) { //Add Master and Get returning ID PO_PurchaseOrderMasterDS dsPOMaster = new PO_PurchaseOrderMasterDS(); dsPOMaster.Update(pobjMasterVO); var voMaster = (PO_PurchaseOrderMasterVO)pobjMasterVO; //Update detail DataSet dstPODetail = pdstDetail.Copy(); PO_PurchaseOrderDetailDS dsPODetail = new PO_PurchaseOrderDetailDS(); foreach (DataRow drowDetail in pdstDetail.Tables[0].Rows) { if (drowDetail.RowState == DataRowState.Added) { drowDetail[PO_PurchaseOrderDetailTable.PURCHASEORDERMASTERID_FLD] = ((PO_PurchaseOrderMasterVO)pobjMasterVO).PurchaseOrderMasterID; } } dsPODetail.UpdateDataSet(pdstDetail); //Get PODetail DataSet which includes PURCHASEORDERDETAILID_FLD pdstDetail = dsPODetail.ListToGetID(((PO_PurchaseOrderMasterVO)pobjMasterVO).PurchaseOrderMasterID); //Create DeliverySchedule -- and add DeliverySchedule int intPOLineID = 0; PO_DeliveryScheduleDS dsDelivery = new PO_DeliveryScheduleDS(); for (int i = 0; i < dstPODetail.Tables[0].Rows.Count; i++) { DataRow[] drowSameDelivery = pdstDelivery.Tables[0].Select(ITM_ProductTable.PRODUCTID_FLD + "='" + dstPODetail.Tables[0].Rows[i][ITM_ProductTable.PRODUCTID_FLD].ToString() + "'"); intPOLineID = (int)pdstDetail.Tables[0].Select(PO_PurchaseOrderDetailTable.LINE_FLD + "='" + dstPODetail.Tables[0].Rows[i][PO_PurchaseOrderDetailTable.LINE_FLD].ToString() + "'")[0][PO_PurchaseOrderDetailTable.PURCHASEORDERDETAILID_FLD]; DataSet dstNewDelPO = dsDelivery.GetDeliverySchedule(intPOLineID); int intbaseCount = dstNewDelPO.Tables[0].Rows.Count; for (int j = 0; j < drowSameDelivery.Length; j++) { int k = GetIndexForDeliveryLine(dstNewDelPO, (DateTime)drowSameDelivery[j][PO_DeliveryScheduleTable.SCHEDULEDATE_FLD]); if (k > -1) { dstNewDelPO.Tables[0].Rows[k][PO_DeliveryScheduleTable.DELIVERYQUANTITY_FLD] = (decimal)dstNewDelPO.Tables[0].Rows[k][PO_DeliveryScheduleTable.DELIVERYQUANTITY_FLD] + (decimal)drowSameDelivery[j][PO_DeliveryScheduleTable.DELIVERYQUANTITY_FLD]; } else { drowSameDelivery[j][PO_DeliveryScheduleTable.PURCHASEORDERDETAILID_FLD] = intPOLineID; drowSameDelivery[j][PO_DeliveryScheduleTable.DELIVERYLINE_FLD] = j + 1 + intbaseCount; dstNewDelPO.Tables[0].ImportRow(drowSameDelivery[j]); } } dsDelivery.UpdateDataSet(dstNewDelPO); } //Update CPODetail MTR_CPODS dsCPO = new MTR_CPODS(); dsCPO.SetPOMasterID(parlCPOIDs, ((PO_PurchaseOrderMasterVO)pobjMasterVO).PurchaseOrderMasterID); }
public void DeletePurchaseOrder(int pintMasterID) { PO_PurchaseOrderDetailDS dsDetail = new PO_PurchaseOrderDetailDS(); DataSet dstDetail = dsDetail.List(pintMasterID); foreach (DataRow drow in dstDetail.Tables[0].Rows) { dsDetail.Delete(int.Parse(drow[PO_PurchaseOrderDetailTable.PURCHASEORDERDETAILID_FLD].ToString())); } PO_PurchaseOrderMasterDS dsMaster = new PO_PurchaseOrderMasterDS(); dsMaster.Delete(pintMasterID); }
/// <summary> /// Update PO and Delivery Schedule in case : CPO to Exist PO /// </summary> /// <param name="pdstCPODetail"></param> /// <param name="pobjMasterVO"></param> /// <param name="pdstDetail"></param> /// <author>TuanDM</author> public void UpdatePOAndDelSchedule(System.Data.DataSet pdstCPODetail, object pobjMasterVO, System.Data.DataSet pdstDetail) { //Update PO Master PO_PurchaseOrderMasterDS dsMaster = new PO_PurchaseOrderMasterDS(); dsMaster.Update(pobjMasterVO); //Update PO Detail ArrayList arlIndexs = new ArrayList(); ArrayList arlDueDate = new ArrayList(); int intinD = -1; if (pdstDetail != null) { foreach (DataRow objRow in pdstDetail.Tables[0].Rows) { intinD++; if (objRow.RowState == DataRowState.Deleted) { continue; } objRow[PO_PurchaseOrderDetailTable.PURCHASEORDERMASTERID_FLD] = ((PO_PurchaseOrderMasterVO)pobjMasterVO).PurchaseOrderMasterID; if (objRow[PO_DeliveryScheduleTable.SCHEDULEDATE_FLD].ToString() != string.Empty) { arlDueDate.Add(objRow[PO_DeliveryScheduleTable.SCHEDULEDATE_FLD]); arlIndexs.Add(intinD); } } } PO_PurchaseOrderDetailDS dsDetail = new PO_PurchaseOrderDetailDS(); dsDetail.UpdateDataSet(pdstDetail); //Update DeliverySchedule pdstDetail = dsDetail.List(((PO_PurchaseOrderMasterVO)pobjMasterVO).PurchaseOrderMasterID); //Create DeliverySchedule -- and add DeliverySchedule for (int i = 0; i < arlIndexs.Count; i++) { PO_DeliveryScheduleVO voSchedule = new PO_DeliveryScheduleVO(); voSchedule.DeliveryLine = 1; voSchedule.PurchaseOrderDetailID = int.Parse(pdstDetail.Tables[0].Rows[int.Parse(arlIndexs[i].ToString())][PO_DeliveryScheduleTable.PURCHASEORDERDETAILID_FLD].ToString()); voSchedule.ScheduleDate = DateTime.Parse(arlDueDate[i].ToString()); voSchedule.DeliveryQuantity = decimal.Parse(pdstDetail.Tables[0].Rows[int.Parse(arlIndexs[i].ToString())][PO_PurchaseOrderDetailTable.ORDERQUANTITY_FLD].ToString()); new PO_DeliveryScheduleDS().Add(voSchedule); } //Update CPODetail new MTR_CPODS().SetPOMasterID(null, ((PO_PurchaseOrderMasterVO)pobjMasterVO).PurchaseOrderMasterID); }
/// <summary> /// CloseOrOpenPOLines /// </summary> /// <param name="pblnPOClose"></param> /// <param name="parrSelectedLines"></param> /// <author>Trada</author> /// <date>Monday, Nov 29 2005</date> public void CloseOrOpenPOLines(bool pblnPOClose, ArrayList parrSelectedLines) { const string COLON = ","; string strListOfIds = string.Empty; for (int i = 0; i < parrSelectedLines.Count; i++) { strListOfIds += parrSelectedLines[i] + COLON; } // remove the last "," in string strListOfIds = strListOfIds.Remove(strListOfIds.Length - 1, 1); PO_PurchaseOrderDetailDS dsPurchaseOrderDetail = new PO_PurchaseOrderDetailDS(); dsPurchaseOrderDetail.CloseOrOpenPOLines(pblnPOClose, strListOfIds); }
//************************************************************************** /// <Description> /// This method uses to get PODetailVO object from ID /// </Description> /// <Inputs> /// int /// </Inputs> /// <Outputs> /// PO_PurchaseOrderDetailVO /// </Outputs> /// <Returns> /// PO_PurchaseOrderDetailVO /// </Returns> /// <Authors> /// DungLa /// </Authors> /// <History> /// 07-Mar-2005 /// </History> /// <Notes> /// </Notes> //************************************************************************** public object GetPurchaseOrderDetailVO(int pintPODetailID) { try { PO_PurchaseOrderDetailDS dsPODetail = new PO_PurchaseOrderDetailDS(); return(dsPODetail.GetObjectVO(pintPODetailID)); } catch (PCSException ex) { throw ex; } catch (Exception ex) { throw ex; } }
//************************************************************************** /// <Description> /// This method uses to get order quantity of a detail /// </Description> /// <Inputs> /// int /// </Inputs> /// <Outputs> /// decimal /// </Outputs> /// <Returns> /// /// </Returns> /// <Authors> /// DungLa /// </Authors> /// <History> /// 05-Apr-2005 /// </History> /// <Notes> /// </Notes> //************************************************************************** public decimal GetOrderQuantity(int pintPODetailID) { try { PO_PurchaseOrderDetailDS dsDetail = new PO_PurchaseOrderDetailDS(); return(dsDetail.GetOrderQuantity(pintPODetailID)); } catch (PCSException ex) { throw ex; } catch (Exception ex) { throw ex; } }
/// <summary> /// Delete purchase order of estimate month /// </summary> /// <param name="pdtmFromDate">From Date</param> /// <param name="pdtmToDate">To Date</param> /// <param name="pintPOType">Purchase Type</param> /// <param name="pstrVendorID">Vendor List</param> /// <param name="pstrItemID">Item list</param> public void DeleteEstimatePO(DateTime pdtmFromDate, DateTime pdtmToDate, int pintPOType, string pstrVendorID, string pstrItemID) { PO_PurchaseOrderMasterDS dsMaster = new PO_PurchaseOrderMasterDS(); // get list of purchase order master ID to be delete DataTable dtbMaster = dsMaster.ListMasterToDelete(pdtmFromDate, pdtmToDate, pintPOType, pstrItemID, pstrItemID).Tables[0]; string strMasterId = dtbMaster.Rows.Cast <DataRow>().Aggregate("0", (current, drowMaster) => current + ("," + drowMaster[PO_PurchaseOrderMasterTable.PURCHASEORDERMASTERID_FLD])); // delete delivery schedule first PO_DeliveryScheduleDS dsSchedule = new PO_DeliveryScheduleDS(); dsSchedule.DeleteByPOMaster(strMasterId); // delete purchase order detail PO_PurchaseOrderDetailDS dsDetail = new PO_PurchaseOrderDetailDS(); dsDetail.DeleteByMaster(strMasterId); // delete purchase order master dsMaster.Delete(strMasterId); }
public int AddNewPurchaseOrder(object pvoPOMaster, DataSet pdstPODetail) { PO_PurchaseOrderMasterDS dsMaster = new PO_PurchaseOrderMasterDS(); int intPOMasterID = dsMaster.AddAndReturnID(pvoPOMaster); foreach (DataRow objRow in pdstPODetail.Tables[0].Rows) { if (objRow.RowState == DataRowState.Deleted) { continue; } objRow[PO_PurchaseOrderDetailTable.PURCHASEORDERMASTERID_FLD] = intPOMasterID; } PO_PurchaseOrderDetailDS dsDetail = new PO_PurchaseOrderDetailDS(); dsDetail.UpdateDataSet(pdstPODetail); return(intPOMasterID); }
public void UpdateAllAfterApprove(DataTable pdtbDataApprove, DateTime pdtmApprovalDate, int pintApproveID) { try { PO_PurchaseOrderDetailDS dsPurchaseOrderDetail = new PO_PurchaseOrderDetailDS(); //for approval if (pintApproveID > 0) { foreach (DataRow drow in pdtbDataApprove.Rows) { if (drow[CHECK_APPROVE].ToString().Trim() == TRUE) { drow[PO_PurchaseOrderDetailTable.APPROVERID_FLD] = pintApproveID; drow[PO_PurchaseOrderDetailTable.APPROVALDATE_FLD] = pdtmApprovalDate; } } } else { foreach (DataRow drow in pdtbDataApprove.Rows) { if (drow[CHECK_APPROVE].ToString().Trim() == TRUE) { drow[PO_PurchaseOrderDetailTable.APPROVERID_FLD] = DBNull.Value; drow[PO_PurchaseOrderDetailTable.APPROVALDATE_FLD] = pdtmApprovalDate; } } } //for cancel DataSet dstData = new DataSet(); dstData.Tables.Add(pdtbDataApprove.Copy()); dsPurchaseOrderDetail.UpdateDataSetForApproving(dstData); } catch (PCSDBException ex) { throw ex; } catch (Exception ex) { throw ex; } }
public void UpdatePurchaseOrder(object pvoPOMaster, DataSet pdstDetail) { PO_PurchaseOrderMasterDS dsMaster = new PO_PurchaseOrderMasterDS(); dsMaster.Update(pvoPOMaster); if (pdstDetail != null) { foreach (DataRow objRow in pdstDetail.Tables[0].Rows) { if (objRow.RowState == DataRowState.Deleted) { continue; } objRow[PO_PurchaseOrderDetailTable.PURCHASEORDERMASTERID_FLD] = ((PO_PurchaseOrderMasterVO)pvoPOMaster).PurchaseOrderMasterID; } } PO_PurchaseOrderDetailDS dsDetail = new PO_PurchaseOrderDetailDS(); dsDetail.UpdateDataSet(pdstDetail); }
/// <summary> /// Add new for case : Convert CPO to new PO /// </summary> /// <param name="pdstCPODetail"></param> /// <param name="pobjMasterVO"></param> /// <param name="pdstDetail"></param> ///<author>TuanDM</author> public int AddPOAndDelSchedule(System.Data.DataSet pdstCPODetail, object pobjMasterVO, System.Data.DataSet pdstDetail) { //Add Master and Get returning ID PO_PurchaseOrderMasterDS dsPOMaster = new PO_PurchaseOrderMasterDS(); int intMasterID = dsPOMaster.AddAndReturnID(pobjMasterVO); //Add detail ArrayList arlDueDate = new ArrayList(); foreach (DataRow drowDetail in pdstDetail.Tables[0].Rows) { drowDetail[PO_PurchaseOrderDetailTable.PURCHASEORDERMASTERID_FLD] = intMasterID; arlDueDate.Add(drowDetail[PO_DeliveryScheduleTable.SCHEDULEDATE_FLD].ToString()); } PO_PurchaseOrderDetailDS dsPODetail = new PO_PurchaseOrderDetailDS(); dsPODetail.UpdateDataSet(pdstDetail); //Get PODetail DataSet which includes PURCHASEORDERDETAILID_FLD pdstDetail = dsPODetail.List(intMasterID); //Create DeliverySchedule -- and add DeliverySchedule PO_DeliveryScheduleVO voSchedule; for (int i = 0; i < pdstDetail.Tables[0].Rows.Count; i++) { voSchedule = new PO_DeliveryScheduleVO(); voSchedule.DeliveryLine = 1; voSchedule.PurchaseOrderDetailID = int.Parse(pdstDetail.Tables[0].Rows[i][PO_PurchaseOrderDetailTable.PURCHASEORDERDETAILID_FLD].ToString()); voSchedule.ScheduleDate = DateTime.Parse(arlDueDate[i].ToString()); voSchedule.DeliveryQuantity = decimal.Parse(pdstDetail.Tables[0].Rows[i][PO_PurchaseOrderDetailTable.ORDERQUANTITY_FLD].ToString()); new PO_DeliveryScheduleDS().Add(voSchedule); } //Update CPODetail new MTR_CPODS().SetPOMasterID(null, intMasterID); //return ID return(intMasterID); }
public DataSet ListDetailByMaster(int pintID) { PO_PurchaseOrderDetailDS dsDetail = new PO_PurchaseOrderDetailDS(); return(dsDetail.List(pintID)); }
public DataTable GetListOfReceivedProductsFromPurchaseOrder(int pintPurchaseOrderMasterID) { PO_PurchaseOrderDetailDS objPO_PurchaseOrderDetailDS = new PO_PurchaseOrderDetailDS(); return(objPO_PurchaseOrderDetailDS.GetListOfReceivedProductsFromPurchaseOrder(pintPurchaseOrderMasterID)); }
/// <summary> /// Add new for case : Convert CPO to new PO /// </summary> /// <param name="pobjMasterVO"></param> /// <param name="pdstDetail"></param> /// <param name="pdstDelivery"></param> ///<author>TuanDM</author> public int AddPOAndDelScheduleImmediate(object pobjMasterVO, System.Data.DataSet pdstDetail, DataSet pdstDelivery, ArrayList parlCPOIDs) { //Add Master and Get returning ID PO_PurchaseOrderMasterDS dsPOMaster = new PO_PurchaseOrderMasterDS(); int intMasterID = dsPOMaster.AddAndReturnID(pobjMasterVO); //Add detail foreach (DataRow drowDetail in pdstDetail.Tables[0].Rows) { drowDetail[PO_PurchaseOrderDetailTable.PURCHASEORDERMASTERID_FLD] = intMasterID; } PO_PurchaseOrderDetailDS dsPODetail = new PO_PurchaseOrderDetailDS(); dsPODetail.UpdateDataSet(pdstDetail); //Get PODetail DataSet which includes PURCHASEORDERDETAILID_FLD pdstDetail = dsPODetail.ListToGetID(intMasterID); //Create DeliverySchedule -- and add DeliverySchedule int intPOLineID = 0; int i = 0; PO_DeliveryScheduleDS dsDelivery = new PO_DeliveryScheduleDS(); while (i++ < pdstDetail.Tables[0].Rows.Count) { DataSet dstNewDelPO = pdstDelivery.Clone(); DataRow[] drowSameDelivery = pdstDelivery.Tables[0].Select(ITM_ProductTable.PRODUCTID_FLD + "='" + pdstDetail.Tables[0].Rows[i - 1][ITM_ProductTable.PRODUCTID_FLD].ToString() + "'"); intPOLineID = (int)pdstDetail.Tables[0].Rows[i - 1][PO_DeliveryScheduleTable.PURCHASEORDERDETAILID_FLD]; foreach (DataRow t in drowSameDelivery) { int k = GetIndexForDeliveryLine(dstNewDelPO, (DateTime)t[PO_DeliveryScheduleTable.SCHEDULEDATE_FLD]); if (k > -1) { dstNewDelPO.Tables[0].Rows[k][PO_DeliveryScheduleTable.DELIVERYQUANTITY_FLD] = (decimal)dstNewDelPO.Tables[0].Rows[k][PO_DeliveryScheduleTable.DELIVERYQUANTITY_FLD] + (decimal)t[PO_DeliveryScheduleTable.DELIVERYQUANTITY_FLD]; t[PO_DeliveryScheduleTable.PURCHASEORDERDETAILID_FLD] = intPOLineID; } else { t[PO_DeliveryScheduleTable.PURCHASEORDERDETAILID_FLD] = intPOLineID; t[PO_DeliveryScheduleTable.DELIVERYLINE_FLD] = dstNewDelPO.Tables[0].Rows.Count + 1; dstNewDelPO.Tables[0].ImportRow(t); } } dsDelivery.UpdateDataSet(dstNewDelPO); } //Update CPODetail MTR_CPODS dsCPO = new MTR_CPODS(); if (parlCPOIDs.Count > 0) { if (Convert.ToInt32(parlCPOIDs[0]) > 0) { dsCPO.SetPOMasterID(parlCPOIDs, intMasterID); } else { dsCPO.SetPOMasterIDForDCPDetail(parlCPOIDs, intMasterID); } } return(intMasterID); }