/// ///WCF service ///FOR TABLE t_erp_sale ///By wm ///on 05/09/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_SALE : IErp_sale , IOrder { #region options /*: basicService, private static lErp_sale _lErp_sale ; lErp_sale lErp_saleObj { get { if ( _lErp_sale == null || _lErp_sale.operId != getOperId()) { _lErp_sale= new lErp_sale(getOperId()); } return _lErp_sale; } } */ #endregion ErpSale IErp_sale.getObj(int id) { ErpSale obj = new ErpSale(new Erp_sale(id)); obj.ErpSaleDetails = getLst(obj.sale_order); return obj; } public ErpSale getSaleOrder(string orderNo) { ErpSale obj = new ErpSale(new Erp_sale(orderNo)); obj.ErpSaleDetails = getLst(orderNo); return obj; } List getLst(string orderNo) { List lstwcf = new List(); List lst = new Erp_sale_d().getList(orderNo); foreach (Erp_sale_d d in lst) { lstwcf.Add(new WcfErp_sale_d().getWcfObject(d)); } return lstwcf; } public WcfErp_saleList query(string condition, int pageno) { condition = string.IsNullOrEmpty(condition) ? "" : " AND " + condition; WcfErp_saleList objLst = new WcfErp_saleList(); List lst = new List(); Erp_sale dbObj = new Erp_sale(); 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_sale(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; } enumDbResult IErp_sale.add(ErpSale obj) { using (TransactionScope scope = new TransactionScope()) { try { foreach (WcfErp_sale_d d in obj.ErpSaleDetails) { d.getDbObject().Add(); } obj.wms_state = 0; obj.getDbObject().Add(); //to insert request oder and details scope.Complete(); return enumDbResult.成功; } catch (ConstraintException ex) { return enumDbResult.记录已存在; } catch (Exception er) { return enumDbResult.失败; } } } public enumDbResult update(WcfErp_sale obj) { Erp_sale saleObj = obj.getDbObject(); if (saleObj.ID <= 0) return enumDbResult.失败; Erp_sale tmp = new Erp_sale(saleObj.ID); if (!tmp.sale_order.Equals(saleObj.sale_order)) { return enumDbResult.失败; } if (tmp.wms_state > (int)enumOutStockRequestStatus.待出库) { return enumDbResult.数据状态不允许此操作; } if (saleObj.Update() == 1) { return enumDbResult.成功; } return enumDbResult.成功; } public enumDbResult delete(string orderNo) { Erp_sale tmp = new Erp_sale(orderNo); if (tmp.wms_state > (int)enumOutStockRequestStatus.待出库) { return enumDbResult.数据状态不允许此操作; } if (tmp.deleteSales(orderNo) ) { return enumDbResult.成功; } return enumDbResult.失败; } public enumDbResult close(string orderNo) { throw new NotImplementedException(); } } }