ldj/WcfServiceErp/T_ERP_SALE.svc.cs

181 lines
4.9 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/// <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();
}
}
}