ldj/WcfServiceErp/T_ERP_SALE.svc.cs

181 lines
4.9 KiB
C#
Raw Normal View History

2023-05-23 16:13:17 +08:00
/// <summary>
///WCF service
///FOR TABLE t_erp_sale
///By wm
///on 05/09/2023
/// </summary>
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<WcfErp_sale_d> getLst(string orderNo)
{
List<WcfErp_sale_d> lstwcf = new List<WcfErp_sale_d>();
List<Erp_sale_d> 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<WcfErp_sale> lst = new List<WcfErp_sale>();
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();
}
}
}