Esempio n. 1
0
        public int AddAndReturnID(object pobjObjectMaster, DataSet pdstData)
        {
            //add master and get id
            PRO_WorkOrderMasterVO voWOMaster = (PRO_WorkOrderMasterVO)pobjObjectMaster;

            dsWorkOrderMaster            = new  PRO_WorkOrderMasterDS();
            voWOMaster.WorkOrderMasterID = dsWorkOrderMaster.AddAndReturnID(pobjObjectMaster);
            foreach (DataRow drow in pdstData.Tables[0].Rows)
            {
                // 19-04-2006 dungla: fix bug for NgaHT: refine start date-time and due date-time
                DateTime dtmStartTime = (DateTime)drow[PRO_WorkOrderDetailTable.STARTDATE_FLD];
                dtmStartTime = new DateTime(dtmStartTime.Year, dtmStartTime.Month, dtmStartTime.Day, dtmStartTime.Hour, dtmStartTime.Minute, 0);
                DateTime dtmToTime = (DateTime)drow[PRO_WorkOrderDetailTable.DUEDATE_FLD];
                dtmToTime = new DateTime(dtmToTime.Year, dtmToTime.Month, dtmToTime.Day, dtmToTime.Hour, dtmToTime.Minute, 0);
                // update new date time
                drow[PRO_WorkOrderDetailTable.STARTDATE_FLD] = dtmStartTime;
                drow[PRO_WorkOrderDetailTable.DUEDATE_FLD]   = dtmToTime;
                // 19-04-2006 dungla: fix bug for NgaHT: refine start date-time and due date-time
                drow[PRO_WorkOrderMasterTable.WORKORDERMASTERID_FLD] = voWOMaster.WorkOrderMasterID;
            }

            //update detail
            dsWorkOrderDetail = new PRO_WorkOrderDetailDS();
            dsWorkOrderDetail.UpdateDataSet(pdstData);

            //copy BOM and Routing
            //DataSet dsNewDataSetForBOM = GetWODetailByMaster(voWOMaster.WorkOrderMasterID);
            //CopyBOMData(dsNewDataSetForBOM, voWOMaster.CCNID, voWOMaster.MasterLocationID);

            //CopyRoutingDataToConvertWO(voWOMaster.WorkOrderMasterID);

            //return ID
            return(voWOMaster.WorkOrderMasterID);
        }
Esempio n. 2
0
        public void UpdateWOAndWOLines(object pObjectDetail, DataSet pdstData, ArrayList parlWOLineDeleted)
        {
            //update Master
            dsWorkOrderMaster = new PRO_WorkOrderMasterDS();
            dsWorkOrderDetail = new PRO_WorkOrderDetailDS();
            dsWorkOrderMaster.Update(pObjectDetail);
            PRO_WorkOrderMasterVO voWOMaster = (PRO_WorkOrderMasterVO)pObjectDetail;

            //update Detail
            foreach (DataRow drow in pdstData.Tables[0].Rows)
            {
                //set WOMasterID for all added row
                if (drow.RowState == DataRowState.Added)
                {
                    drow[PRO_WorkOrderDetailTable.WORKORDERMASTERID_FLD] = voWOMaster.WorkOrderMasterID;
                }
            }

            DataSet dstTemp = new DataSet();

            dstTemp.Tables.Add(pdstData.Tables[0].Copy());
            dstTemp.Tables[0].Clear();
            foreach (DataRow drow in pdstData.Tables[0].Rows)
            {
                if (drow.RowState != DataRowState.Deleted)
                {
                    dstTemp.Tables[0].ImportRow(drow);
                }
            }
            dsWorkOrderDetail.UpdateDataSet(pdstData);


            //create dataset for all WO which was added
            DataSet dsNewDataSetForBOM       = GetWODetailByMaster(((PRO_WorkOrderMasterVO)pObjectDetail).WorkOrderMasterID);
            DataSet dsNewDataSetForNewWOLine = dsNewDataSetForBOM.Copy();

            dsNewDataSetForNewWOLine.Tables[0].Rows.Clear();
            for (int i = 0; i < dstTemp.Tables[0].Rows.Count; i++)
            {
                if (dstTemp.Tables[0].Rows[i][PRO_WorkOrderDetailTable.WORKORDERDETAILID_FLD].ToString() == string.Empty)
                {
                    dstTemp.Tables[0].Rows[i][PRO_WorkOrderDetailTable.WORKORDERDETAILID_FLD] = dsNewDataSetForBOM.Tables[0].Rows[i][PRO_WorkOrderDetailTable.WORKORDERDETAILID_FLD];
                    dsNewDataSetForNewWOLine.Tables[0].ImportRow(dstTemp.Tables[0].Rows[i]);
                }
            }
        }