public void ImportHKIPO() { string ipoPath = "http://nwszmail/public/namwah/WorkOrders/Purchasing/InternalPurchaseOrders"; string strSQL = ""; ADODB.Connection cnn = new ADODB.Connection(); ADODB.Recordset rst = new ADODB.Recordset(); Item item; PurchOrderLine poLine; WorkOrder wo; string partNo; string woNo; string ipoNo; session.BeginTransaction(); CacheItem(); CacheWo(); CacheIpo(); ConnectDB(cnn, ipoPath); strSQL = "SELECT \"nw:partno\" , \"nw:partname\", \"nw:parttype\", \"nw:wo:no\", \"nw:supplier\", "; strSQL = strSQL + " \"nw:jo:needqty\", \"nw:jo:needdate\", \"nw:jo:arrivedqty\", \"nw:jo:no\" "; strSQL = strSQL + " FROM \"" + ipoPath; strSQL = strSQL + "\" WHERE (\"DAV:ishidden\" = false)"; rst.Open(strSQL, cnn, ADODB.CursorTypeEnum.adOpenForwardOnly, ADODB.LockTypeEnum.adLockBatchOptimistic, 1); while (!rst.EOF) { partNo = rst.Fields["nw:partno"].Value.ToString(); woNo = rst.Fields["nw:wo:no"].Value.ToString(); ipoNo = rst.Fields["nw:jo:no"].Value.ToString(); if (dictPoLine.ContainsKey(ipoNo)) { PurchOrderLine oldPoLine = dictPoLine[ipoNo]; if (oldPoLine.NeedQty != float.Parse(rst.Fields["nw:jo:needqty"].Value.ToString()) || oldPoLine.ReceivedQty != float.Parse(rst.Fields["nw:jo:arrivedqty"].Value.ToString())) { oldPoLine.NeedQty = float.Parse(rst.Fields["nw:jo:needqty"].Value.ToString()); oldPoLine.SetReceivedQty(float.Parse(rst.Fields["nw:jo:arrivedqty"].Value.ToString())); oldPoLine.Save(); } } else { if (dictItem.ContainsKey(partNo) && dictWo.ContainsKey(woNo)) { item = dictItem[partNo]; wo = dictWo[woNo]; poLine = new PurchOrderLine(session); poLine.WorkOrder = wo; poLine.Item = item; poLine.SetPurchOrderLineNo(ipoNo); poLine.NeedDate = DateTime.Parse(rst.Fields["nw:jo:needdate"].Value.ToString()); poLine.NeedQty = float.Parse(rst.Fields["nw:jo:needqty"].Value.ToString()); poLine.Vendor = GetVendor(rst.Fields["nw:supplier"].Value.ToString()); poLine.SetReceivedQty(float.Parse(rst.Fields["nw:jo:arrivedqty"].Value.ToString())); poLine.Unit = item.Unit; poLine.Warehouse = item.Warehouse; poLine.Save(); } } rst.MoveNext(); } session.CommitTransaction(); }