286 lines
		
	
	
		
			6.3 KiB
		
	
	
	
		
			C#
		
	
	
	
		
		
			
		
	
	
			286 lines
		
	
	
		
			6.3 KiB
		
	
	
	
		
			C#
		
	
	
	
|  |  | |||
|  | /// <summary> | |||
|  | ///LOGIC CLASS FOR TABLE t_tmsLineDetail | |||
|  | ///By wm with codesmith.  | |||
|  | ///on 07/23/2017 | |||
|  | /// </summary> | |||
|  | 
 | |||
|  | using System; | |||
|  | using System.Collections.Generic; | |||
|  | using System.Linq; | |||
|  | using System.Text; | |||
|  | using DeiNiu.wms.Data.Model; | |||
|  | using System.Data; | |||
|  | using System.Transactions; | |||
|  | 
 | |||
|  | namespace DeiNiu.wms.Logical | |||
|  | { | |||
|  |     [Serializable] | |||
|  |     public class lTmsLineDetail : lbase | |||
|  |     { | |||
|  |         TmsLineDetail _obj; | |||
|  |         public lTmsLineDetail() | |||
|  |         { | |||
|  |             initialize(); | |||
|  |         } | |||
|  | 
 | |||
|  |         public lTmsLineDetail(int operId) | |||
|  |             : base(operId) | |||
|  |         { | |||
|  |             initialize(); | |||
|  |         } | |||
|  |         public TmsLineDetail getTmsLineDetail | |||
|  |         { | |||
|  |             get | |||
|  |             { | |||
|  |                 return _obj; | |||
|  |             } | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// get all data | |||
|  |         /// </summary> | |||
|  |         public DataSet getAllData() | |||
|  |         { | |||
|  |             return _obj.Query(); | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// get all data | |||
|  |         /// </summary> | |||
|  |         public DataSet getAllActiveData() | |||
|  |         { | |||
|  |             return _obj.QueryActived(); | |||
|  |         } | |||
|  | 
 | |||
|  | 
 | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// get a record by id | |||
|  |         /// </summary> | |||
|  |         public void initialize(int id) | |||
|  |         { | |||
|  |             _obj = id != 0 ? new TmsLineDetail(id) : new TmsLineDetail(); | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// get a record by id 0 | |||
|  |         /// </summary> | |||
|  |         public void initialize() | |||
|  |         { | |||
|  |             initialize(0); | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// get a record by id | |||
|  |         /// </summary> | |||
|  |         public void initialize(DataRow dr) | |||
|  |         { | |||
|  |             _obj = new TmsLineDetail(dr); | |||
|  |         } | |||
|  | 
 | |||
|  |         protected override DeiNiu.Data.BaseObject.BaseModel getModel() | |||
|  |         { | |||
|  |             return _obj; | |||
|  |         } | |||
|  | 
 | |||
|  |         //begin cust db operation, query, excute sql etc. | |||
|  | 
 | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// update in a transaction scrop | |||
|  |         /// </summary> | |||
|  | 
 | |||
|  |         public void update() | |||
|  |         { | |||
|  | 
 | |||
|  |             using (TransactionScope scope = new TransactionScope()) | |||
|  |             { | |||
|  | 
 | |||
|  |                 //Node tmp = new Node(); | |||
|  |                 //tmp.parentid = 1; | |||
|  |                 //tmp.name = "test trans" + DateTime.Now; | |||
|  |                 //tmp.description = "this is for transTest"; | |||
|  |                 //tmp.Add(); | |||
|  |                 _obj.Update(); | |||
|  | 
 | |||
|  |                 scope.Complete(); | |||
|  |             } | |||
|  | 
 | |||
|  |         } | |||
|  | 
 | |||
|  | 
 | |||
|  | 
 | |||
|  | 
 | |||
|  |         public DataTable getAllLines(string custName) | |||
|  |         { | |||
|  | 
 | |||
|  |             if (string.IsNullOrEmpty(custName)) | |||
|  |             { | |||
|  |                 return new Node().queryChildsByFlag(3001); | |||
|  |             } | |||
|  |             else | |||
|  |             { | |||
|  |                 return _obj.getLinesByCust(custName); | |||
|  |             } | |||
|  |         } | |||
|  | 
 | |||
|  | 
 | |||
|  | 
 | |||
|  | 
 | |||
|  | 
 | |||
|  |         internal bool addLineCust(int lineNo, string custId, int order) | |||
|  |         { | |||
|  |             try | |||
|  |             { | |||
|  |                 using (TransactionScope scope = new TransactionScope()) | |||
|  |                 { | |||
|  |                     if (order > 0) | |||
|  |                     { | |||
|  |                         int cnt = _obj.getLineDetailCount(lineNo); | |||
|  | 
 | |||
|  |                         if (order <= cnt) | |||
|  |                         { | |||
|  | 
 | |||
|  |                             updateLineCustOrder(lineNo,0, cnt+1, order); | |||
|  |                         } | |||
|  | 
 | |||
|  |                     } | |||
|  | 
 | |||
|  |                     order = order < 0 ? 1 : order; | |||
|  |                     TmsLineDetail td = new TmsLineDetail(); | |||
|  |                     td.lineId = lineNo; | |||
|  |                     td.custId = custId; | |||
|  |                     td.lineOrder = order; | |||
|  |                     td.operater = operId; | |||
|  | 
 | |||
|  |                     td.Add(); | |||
|  | 
 | |||
|  |                     _obj.Update(); | |||
|  | 
 | |||
|  |                     scope.Complete(); | |||
|  |                     return true; | |||
|  |                 } | |||
|  |             } | |||
|  |             catch (Exception e) | |||
|  |             { | |||
|  |                 return false; | |||
|  |             } | |||
|  | 
 | |||
|  |         } | |||
|  | 
 | |||
|  |         internal bool updateLineCustOrder(int id, int order) | |||
|  |         { | |||
|  |             TmsLineDetail td = new TmsLineDetail(id); | |||
|  |             td.lineOrder = order; | |||
|  |             td.operater = operId; | |||
|  |             return td.Update() > 0; | |||
|  | 
 | |||
|  |         } | |||
|  | 
 | |||
|  |         internal bool updateLineCustOrder(int lineId, int detailId, int orderOld, int orderNew) | |||
|  |         { | |||
|  | 
 | |||
|  |             int cnt = _obj.getLineDetailCount(lineId); | |||
|  | 
 | |||
|  |             int start = 0; | |||
|  |             int end = 0; | |||
|  |             int value = 0; | |||
|  | 
 | |||
|  |             if (orderOld == -1) // new cust to line | |||
|  |             { | |||
|  |                 return true; | |||
|  |             } | |||
|  | 
 | |||
|  |             if (orderNew > orderOld)  // all items plus -1 ,,, 50 ->60 | |||
|  |             { | |||
|  | 
 | |||
|  |                 start = orderOld + 1; | |||
|  | 
 | |||
|  |                 end = orderNew; | |||
|  |                 value = -1; | |||
|  | 
 | |||
|  |             } | |||
|  |             else if (orderNew < orderOld) //all items plus 1 ,,,60 -->50 | |||
|  |             { | |||
|  |                 start = orderNew; | |||
|  | 
 | |||
|  |                 end = orderOld - 1; | |||
|  |                 value = 1; | |||
|  |             } | |||
|  |             else if (orderNew == orderOld) //all items plus 1 ,, new one | |||
|  |             { | |||
|  |                 start = orderNew - 1; | |||
|  |                 end = orderOld + 1; | |||
|  |                 value = 1; | |||
|  |             } | |||
|  | 
 | |||
|  |               | |||
|  |             try | |||
|  |             { | |||
|  |                 using (TransactionScope scope = new TransactionScope()) | |||
|  |                 {  | |||
|  |                     _obj.updateCustOrders(lineId, start, end, value);  | |||
|  |                     if (detailId > 0) | |||
|  |                     { | |||
|  |                         updateLineCustOrder(detailId, orderNew); | |||
|  |                     } | |||
|  |                     scope.Complete(); | |||
|  |                     return true; | |||
|  |                 } | |||
|  |             } | |||
|  |             catch (Exception e) | |||
|  |             { | |||
|  |                 return false; | |||
|  |             } | |||
|  | 
 | |||
|  | 
 | |||
|  | 
 | |||
|  |         } | |||
|  | 
 | |||
|  |         internal bool removeCust(int lineDetailId) | |||
|  |         { | |||
|  |             _obj = new TmsLineDetail(lineDetailId); | |||
|  |             return _obj.Delete() > 0; | |||
|  |         } | |||
|  | 
 | |||
|  |         internal bool reOrderLine(int lineId) | |||
|  |         { | |||
|  |             DataTable dt = getTmsLineDetail.queryByLineID(lineId);   | |||
|  |             int i = 1; | |||
|  |             try | |||
|  |             { | |||
|  |                 using (TransactionScope scope = new TransactionScope()) | |||
|  |                 { | |||
|  |                     foreach (DataRow dr in dt.Rows) | |||
|  |                     { | |||
|  | 
 | |||
|  |                         _obj = new TmsLineDetail(dr); | |||
|  |                         _obj.lineOrder = i; | |||
|  |                         int k= _obj.Update();  | |||
|  |                         i++; | |||
|  | 
 | |||
|  |                     } | |||
|  |                     scope.Complete(); | |||
|  |                     return true; | |||
|  |                 } | |||
|  |             } | |||
|  |             catch (Exception e) | |||
|  |             { | |||
|  |                 return false; | |||
|  |             } | |||
|  | 
 | |||
|  |            | |||
|  |            | |||
|  | 
 | |||
|  | 
 | |||
|  | 
 | |||
|  | 
 | |||
|  |         } | |||
|  | 
 | |||
|  |          | |||
|  |     } | |||
|  |      | |||
|  |      | |||
|  | } | |||
|  |   |