protected static FR_L5SO_ASPtH_1405 Execute(DbConnection Connection, DbTransaction Transaction, P_L5SO_ASPtH_1405 Parameter, CSV2Core.SessionSecurity.SessionSecurityTicket securityTicket = null) { //Leave UserCode region to enable user code saving #region UserCode var returnValue = new FR_L5SO_ASPtH_1405(); var savedShipmentPositionID = cls_Save_Shipment_Position.Invoke(Connection, Transaction, Parameter.Position, securityTicket).Result; #region Edit shipment header and position total values var shipmentPosition = CL1_LOG_SHP.ORM_LOG_SHP_Shipment_Position.Query.Search(Connection, Transaction, new ORM_LOG_SHP_Shipment_Position.Query { LOG_SHP_Shipment_PositionID = savedShipmentPositionID, IsDeleted = false, Tenant_RefID = securityTicket.TenantID }).Single(); shipmentPosition.ShipmentPosition_ValueWithoutTax = Parameter.Position.ShipmentPosition_PricePerUnitValueWithoutTax * Convert.ToDecimal(Parameter.Position.QuantityToShip); shipmentPosition.ShipmentPosition_PricePerUnitValueWithoutTax = Parameter.Position.ShipmentPosition_PricePerUnitValueWithoutTax; shipmentPosition.Save(Connection, Transaction); cls_Update_Current_TotalValue_on_ShipmentHeader_from_Positions.Invoke(Connection, Transaction, new P_L5SO_UCTVoSHfP_1549 { ShipmentHeaderID = Parameter.ShipmentHeaderID }, securityTicket); #endregion var randomShipmentPositionID = ORM_LOG_SHP_Shipment_Position.Query.Search(Connection, Transaction, new ORM_LOG_SHP_Shipment_Position.Query { LOG_SHP_Shipment_Header_RefID = Parameter.ShipmentHeaderID }).Select(i => i.LOG_SHP_Shipment_PositionID).Where(i => i != savedShipmentPositionID).First(); var orgUnitID = ORM_ORD_CUO_CustomerOrder_Position_2_ShipmentPosition.Query.Search(Connection, Transaction, new ORM_ORD_CUO_CustomerOrder_Position_2_ShipmentPosition.Query() { LOG_SHP_Shipment_Position_RefID = randomShipmentPositionID }).Select(i => i.CMN_BPT_CTM_OrganizationalUnit_RefID).FirstOrDefault(); //need this just for organizationalunits var customerPosition2ShipmentPosition = new ORM_ORD_CUO_CustomerOrder_Position_2_ShipmentPosition() { AssignmentID = Guid.NewGuid(), ORD_CUO_CustomerOrder_Position_RefID = Guid.Empty, LOG_SHP_Shipment_Position_RefID = savedShipmentPositionID, Creation_Timestamp = DateTime.Now, Tenant_RefID = securityTicket.TenantID, CMN_BPT_CTM_OrganizationalUnit_RefID = orgUnitID }; customerPosition2ShipmentPosition.Save(Connection, Transaction); returnValue.Result = new L5SO_ASPtH_1405(); returnValue.Result.AddedPosition = savedShipmentPositionID; return(returnValue); #endregion UserCode }
///<summary> /// Method Invocation of wrapper classes ///<summary> protected static FR_L5SO_ASPtH_1405 Invoke(DbConnection Connection, DbTransaction Transaction, string ConnectionString, P_L5SO_ASPtH_1405 Parameter, CSV2Core.SessionSecurity.SessionSecurityTicket securityTicket = null) { bool cleanupConnection = Connection == null; bool cleanupTransaction = Transaction == null; FR_L5SO_ASPtH_1405 functionReturn = new FR_L5SO_ASPtH_1405(); try { if (cleanupConnection == true) { Connection = CSV2Core_MySQL.Support.DBSQLSupport.CreateConnection(ConnectionString); Connection.Open(); } if (cleanupTransaction == true) { Transaction = Connection.BeginTransaction(); } functionReturn = Execute(Connection, Transaction, Parameter, securityTicket); #region Cleanup Connection/Transaction //Commit the transaction if (cleanupTransaction == true) { Transaction.Commit(); } //Close the connection if (cleanupConnection == true) { Connection.Close(); } #endregion } catch (Exception ex) { try { if (cleanupTransaction == true && Transaction != null) { Transaction.Rollback(); } } catch { } try { if (cleanupConnection == true && Connection != null) { Connection.Close(); } } catch { } throw ex; } return(functionReturn); }