/// ///WCF service ///FOR TABLE t_erp_purch ///By wm ///on 05/10/2023 /// using System.Collections.Generic; using System.Data; using DeiNiu.wms.Data.Model.Wcf ; using DeiNiu.wms.Data.Model; using System.Transactions; using DeiNiu.Utils; using System; using DeiNiu.Wcf.erp.wcfData; namespace DeiNiu.Wcf { // 注意: 使用“重构”菜单上的“重命名”命令,可以同时更改代码、svc 和配置文件中的类名 。 public class T_ERP_PURCH : IErp_purch ,IOrder { #region options /*: basicService, private static lErp_purch _lErp_purch ; lErp_purch lErp_purchObj { get { if ( _lErp_purch == null || _lErp_purch.operId != getOperId()) { _lErp_purch= new lErp_purch(getOperId()); } return _lErp_purch; } } */ #endregion public enumDbResult add(ErpPurch obj) { using (TransactionScope scope = new TransactionScope()) { try { foreach (WcfErp_purch_d d in obj.ErpPurchDetails) { d.getDbObject().Add(); } obj.wms_state = 0; obj.getDbObject().Add(); scope.Complete(); return enumDbResult.成功; } catch (ConstraintException ex) { return enumDbResult.记录已存在; } catch (Exception er) { return enumDbResult.失败; } } } public enumDbResult update(WcfErp_purch obj) { Erp_purch purchObj = obj.getDbObject(); if (purchObj.ID <= 0) return enumDbResult.失败; Erp_purch tmp = new Erp_purch(purchObj.ID); if (!tmp.pur_order.Equals(purchObj.pur_order)) { return enumDbResult.失败; } if (tmp.wms_state > (int)enumInStockOrderStatus.待收货) { return enumDbResult.数据状态不允许此操作; } if (purchObj.Update() == 1) { return enumDbResult.成功; } return enumDbResult.成功; } public enumDbResult delete(WcfErp_purch obj) { Erp_purch purchObj = obj.getDbObject(); if (purchObj.ID <= 0) return enumDbResult.失败; Erp_purch tmp = new Erp_purch(purchObj.ID); if (tmp.wms_state > (int)enumInStockOrderStatus.待收货) { return enumDbResult.数据状态不允许此操作; } return obj.getDbObject().Delete()>0? enumDbResult.成功: enumDbResult.失败; } #region options /* public List updateList(List objs) { List results = new List(); // using (TransactionScope scope = new TransactionScope()) { foreach (WcfErp_purch obj in objs) { Result rs = new Result(obj.id, obj.getDbObject().Update()); results.Add(rs); } // scope.Complete(); } return results; } public List addList(List objs) { List results = new List(); // using (TransactionScope scope = new TransactionScope()) { foreach (WcfErp_purch obj in objs) { Result rs = new Result( obj.getDbObject().Add(),1); results.Add(rs); } // scope.Complete(); } return results; } public List deleteList(List objs) { List results = new List(); // using (TransactionScope scope = new TransactionScope()) { foreach (WcfErp_purch obj in objs) { Result rs = new Result(obj.id, obj.getDbObject().Delete()); results.Add(rs); } // scope.Complete(); } return results; }*/ #endregion public ErpPurch getObj(int Id) { Erp_purch dbObj = new Erp_purch(Id); ErpPurch obj = new ErpPurch(dbObj); obj.ErpPurchDetails = getLst(obj.pur_order); return obj; } public ErpPurch getPurchOrder(string orderNo) { Erp_purch dbObj = new Erp_purch(orderNo); ErpPurch obj = new ErpPurch(dbObj); obj.ErpPurchDetails = getLst(obj.pur_order); return obj; } List getLst(string orderNo) { List lstwcf = new List(); List< Erp_purch_d> lst = new Erp_purch_d().getList(orderNo); foreach ( Erp_purch_d d in lst) { lstwcf.Add(new WcfErp_purch_d().getWcfObject(d)); } return lstwcf; } public WcfErp_purchList query(string condition, int pageno) { condition = string.IsNullOrEmpty(condition) ? "" : condition; WcfErp_purchList objLst = new WcfErp_purchList(); List lst = new List(); Erp_purch dbObj = new Erp_purch(); dbObj.rownumStart =(Convert.ToInt16( pageno)-1)* WmsConstants.PAGER_SIZE; dbObj.rownumEnd = dbObj.rownumStart + DeiNiu.Utils.WmsConstants.PAGER_SIZE; DataSet ds = dbObj.Query(condition); DataTable dt = ds.Tables[0]; foreach(DataRow dr in dt.Rows) { lst.Add(new WcfErp_purch(dr)); } objLst.list =lst; objLst.page = Convert.ToInt16(pageno); objLst.pageSize = WmsConstants.PAGER_SIZE; objLst.rows = Convert.ToInt32(ds.Tables[1].Rows[0][0].ToString()); objLst.pageCnt = objLst.rows / WmsConstants.PAGER_SIZE; return objLst; } public enumDbResult delete(string orderNo) { Erp_purch tmp = new Erp_purch(orderNo); if (tmp.wms_state > (int)enumInStockOrderStatus.待收货) { return enumDbResult.数据状态不允许此操作; } if (tmp.deleteOrder(orderNo)) { return enumDbResult.成功; } return enumDbResult.失败; } public enumDbResult close(string orderNo) { throw new NotImplementedException(); } } }