示例#1
0
        //**************************************************************************
        ///    <Description>
        ///       Get the list of Delivery Schedule
        ///       Set the the Line field to automatically increased
        ///    </Description>
        ///    <Inputs>
        ///
        ///    </Inputs>
        ///    <Outputs>
        ///       DataSet
        ///    </Outputs>
        ///    <Returns>
        ///       DataSet
        ///    </Returns>
        ///    <Authors>
        ///       THIENHD
        ///    </Authors>
        ///    <History>
        ///       March, 9 2005
        ///    </History>
        ///    <Notes>
        ///    </Notes>
        //**************************************************************************

        public DataSet GetDeliverySchedule(int pintPurchaseOrderLineID)
        {
            PO_DeliveryScheduleDS objPO_DeliveryScheduleDS = new PO_DeliveryScheduleDS();
            DataSet dsData = objPO_DeliveryScheduleDS.GetDeliverySchedule(pintPurchaseOrderLineID);

            return(dsData);
        }
示例#2
0
        public DataSet SearchDeliverySchedule(DateTime pdtmFromDate, DateTime pdtmToDate, int pintPOMasterID,
                                              int pintCategoryID, string pstrProductID)
        {
            PO_DeliveryScheduleDS dsSchedule = new PO_DeliveryScheduleDS();

            return(dsSchedule.SearchDeliverySchedule(pdtmFromDate, pdtmToDate, pintPOMasterID, pintCategoryID, pstrProductID));;
        }
示例#3
0
        /// <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);
        }
示例#4
0
        /// <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);
        }
示例#5
0
        public void UpdateDelivery(string pstrCancelList, string pstrApprovedList)
        {
            PO_DeliveryScheduleDS dsSchedule = new PO_DeliveryScheduleDS();

            dsSchedule.UpdateDelivery(pstrCancelList, pstrApprovedList);
        }
示例#6
0
        public void UpdateDataSet(System.Data.DataSet dstData)
        {
            PO_DeliveryScheduleDS dsSchedule = new PO_DeliveryScheduleDS();

            dsSchedule.UpdateCancelDelivery(dstData);
        }
示例#7
0
        /// <summary>
        /// Gets total schedule delivery quantity of a po line
        /// </summary>
        /// <param name="pintPODetailID">PurchaseOrderDetail ID</param>
        /// <returns>Total Schedule Delivery Quantity</returns>

        public decimal GetTotalDeliveryQuantityOfLine(int pintPODetailID)
        {
            PO_DeliveryScheduleDS dsSchedule = new PO_DeliveryScheduleDS();

            return(dsSchedule.GetTotalDeliveryQuantityOfLine(pintPODetailID));
        }
示例#8
0
        //**************************************************************************
        ///    <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 void UpdateDeliveryDataSet(DataSet pdstDeliverySchedule, int pintPurchaseOrderDetailID)
        {
            PO_DeliveryScheduleDS objPO_DeliveryScheduleDS = new PO_DeliveryScheduleDS();

            objPO_DeliveryScheduleDS.UpdateDataSet(pdstDeliverySchedule);
        }
示例#9
0
        //**************************************************************************
        ///    <Description>
        ///       Delete all delivery schedule
        ///    </Description>
        ///    <Inputs>
        ///
        ///    </Inputs>
        ///    <Outputs>
        ///       DataSet
        ///    </Outputs>
        ///    <Returns>
        ///       DataSet
        ///    </Returns>
        ///    <Authors>
        ///       THIENHD
        ///    </Authors>
        ///    <History>
        ///       March, 9 2005
        ///    </History>
        ///    <Notes>
        ///    </Notes>
        //**************************************************************************


        public void DeleteDeliveryDetail(int pintPurchaseOrderLineID)
        {
            PO_DeliveryScheduleDS objPO_DeliveryScheduleDS = new PO_DeliveryScheduleDS();

            objPO_DeliveryScheduleDS.DeleteDeliveryDetail(pintPurchaseOrderLineID);
        }
示例#10
0
        public void UpdateInsertedRowInDataSet(DataSet pdstDelSchData, int pintMasterID)
        {
            PO_DeliveryScheduleDS dsSchedule = new PO_DeliveryScheduleDS();

            dsSchedule.UpdateInsertedRowInDataSet(pdstDelSchData, pintMasterID);
        }
示例#11
0
        public void UpdateDeletedRowInDataSet(DataSet pdstDelSchData, int pintPOMasterID)
        {
            PO_DeliveryScheduleDS dsDelSch = new PO_DeliveryScheduleDS();

            dsDelSch.UpdateDeletedRowInDataSet(pdstDelSchData, pintPOMasterID);
        }
示例#12
0
        public void UpdateScheduleForImport(DataSet pdstData)
        {
            PO_DeliveryScheduleDS dsDelivery = new PO_DeliveryScheduleDS();

            dsDelivery.UpdateDataSet(pdstData);
        }
示例#13
0
        public DataSet ListScheduleForImport(int pintMasterID)
        {
            PO_DeliveryScheduleDS dsDelivery = new PO_DeliveryScheduleDS();

            return(dsDelivery.ListForImport(pintMasterID));
        }
示例#14
0
        /// <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);
        }