///<summary> /// Method Invocation of wrapper classes ///<summary> protected static FR_L5CO_ACOaCS_2108_Array Invoke(DbConnection Connection, DbTransaction Transaction, string ConnectionString, P_L5CO_ACOaCS_2108[] Parameter, CSV2Core.SessionSecurity.SessionSecurityTicket securityTicket = null) { bool cleanupConnection = Connection == null; bool cleanupTransaction = Transaction == null; FR_L5CO_ACOaCS_2108_Array functionReturn = new FR_L5CO_ACOaCS_2108_Array(); 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 new Exception("Exception occured in method cls_Accept_CustomerOrder_and_Create_Shipment", ex); } return(functionReturn); }
protected static FR_L5CO_ACOaCS_2108_Array Execute(DbConnection Connection, DbTransaction Transaction, P_L5CO_ACOaCS_2108[] Parameter, CSV2Core.SessionSecurity.SessionSecurityTicket securityTicket = null) { #region UserCode var returnValue = new FR_L5CO_ACOaCS_2108_Array(); List <L5CO_ACOaCS_2108> confirmedProcurementOrders = new List <L5CO_ACOaCS_2108>(); foreach (var param in Parameter) { L5CO_ACOaCS_2108 procurementOrderITL = new L5CO_ACOaCS_2108(); var confirmedStatus = ORM_ORD_CUO_CustomerOrder_Status.Query.Search(Connection, Transaction, new ORM_ORD_CUO_CustomerOrder_Status.Query { GlobalPropertyMatchingID = EnumUtils.GetEnumDescription(ECustomerOrderStatus.Confirmed), Tenant_RefID = securityTicket.TenantID, IsDeleted = false }).Single().ORD_CUO_CustomerOrder_StatusID; var customerOrder = new ORM_ORD_CUO_CustomerOrder_Header(); customerOrder.Load(Connection, Transaction, param.CustomerOrderHeaderID); customerOrder.Current_CustomerOrderStatus_RefID = confirmedStatus; customerOrder.IsCustomerOrderFinalized = true; customerOrder.Save(Connection, Transaction); ORM_USR_Account account = new ORM_USR_Account(); account.Load(Connection, Transaction, securityTicket.AccountID); ORM_ORD_CUO_CustomerOrder_StatusHistory newStatusInHistory = new ORM_ORD_CUO_CustomerOrder_StatusHistory(); newStatusInHistory.CustomerOrder_Header_RefID = customerOrder.ORD_CUO_CustomerOrder_HeaderID; newStatusInHistory.StatusHistoryComment = param.Message; newStatusInHistory.Tenant_RefID = securityTicket.TenantID; newStatusInHistory.CustomerOrder_Status_RefID = confirmedStatus; newStatusInHistory.PerformedBy_BusinessParticipant_RefID = account.BusinessParticipant_RefID; newStatusInHistory.Save(Connection, Transaction); procurementOrderITL.ProcurementOrderITL = customerOrder.ProcurementOrderITL; procurementOrderITL.ProcuringTenatID = customerOrder.OrderingCustomer_BusinessParticipant_RefID.ToString(); ORM_CMN_NumberRange_UsageArea numberRangeUsageArea = ORM_CMN_NumberRange_UsageArea.Query.Search(Connection, Transaction, new ORM_CMN_NumberRange_UsageArea.Query() { IsDeleted = false, Tenant_RefID = securityTicket.TenantID, GlobalStaticMatchingID = NumberRangeGlobalPropertyMatchingID }).FirstOrDefault(); if (numberRangeUsageArea == null) { throw new Exception(String.Format("Number range usage area with GPMID = {0} was not found.", NumberRangeGlobalPropertyMatchingID)); } ORM_CMN_NumberRange numberRange = ORM_CMN_NumberRange.Query.Search(Connection, Transaction, new ORM_CMN_NumberRange.Query() { IsDeleted = false, Tenant_RefID = securityTicket.TenantID, NumberRange_UsageArea_RefID = numberRangeUsageArea.CMN_NumberRange_UsageAreaID }).FirstOrDefault(); if (numberRange == null) { throw new Exception(String.Format("Number range for area with GPMID = {0} was not found.", NumberRangeGlobalPropertyMatchingID)); } numberRange.Value_Current++; numberRange.Save(Connection, Transaction); string shipmentNumber = numberRange.FixedPrefix + numberRange.Value_Current.ToString().PadLeft(numberRange.Formatting_NumberLength, numberRange.Formatting_LeadingFillCharacter[0]); ORM_LOG_SHP_Shipment_Header shipmentHeader = new ORM_LOG_SHP_Shipment_Header(); shipmentHeader.LOG_SHP_Shipment_HeaderID = Guid.NewGuid(); shipmentHeader.RecipientBusinessParticipant_RefID = customerOrder.OrderingCustomer_BusinessParticipant_RefID; shipmentHeader.ShipmentHeaderITL = shipmentHeader.LOG_SHP_Shipment_HeaderID.ToString(); shipmentHeader.ShipmentHeader_Number = shipmentNumber; shipmentHeader.Shippipng_AddressUCD_RefID = customerOrder.ShippingAddressUCD_RefID; shipmentHeader.ShipmentPriority = 0; shipmentHeader.ShipmentHeader_ValueWithoutTax = customerOrder.TotalValue_BeforeTax; shipmentHeader.ShipmentHeader_Currency_RefID = customerOrder.CustomerOrder_Currency_RefID; shipmentHeader.Tenant_RefID = securityTicket.TenantID; shipmentHeader.IsDeleted = false; shipmentHeader.Save(Connection, Transaction); var customerOrderPositions = ORM_ORD_CUO_CustomerOrder_Position.Query.Search(Connection, Transaction, new ORM_ORD_CUO_CustomerOrder_Position.Query() { CustomerOrder_Header_RefID = customerOrder.ORD_CUO_CustomerOrder_HeaderID, IsDeleted = false, Tenant_RefID = securityTicket.TenantID }); if (customerOrderPositions != null) { foreach (var customerOrderPosition in customerOrderPositions) { ORM_LOG_SHP_Shipment_Position shipmentPosition = new ORM_LOG_SHP_Shipment_Position(); shipmentPosition.LOG_SHP_Shipment_PositionID = Guid.NewGuid(); shipmentPosition.ShipmentPositionITL = shipmentPosition.LOG_SHP_Shipment_PositionID.ToString(); shipmentPosition.LOG_SHP_Shipment_Header_RefID = shipmentHeader.LOG_SHP_Shipment_HeaderID; shipmentPosition.CMN_PRO_Product_RefID = customerOrderPosition.CMN_PRO_Product_RefID; shipmentPosition.CMN_PRO_ProductVariant_RefID = customerOrderPosition.CMN_PRO_Product_Variant_RefID; shipmentPosition.CMN_PRO_ProductRelease_RefID = customerOrderPosition.CMN_PRO_Product_Release_RefID; shipmentPosition.QuantityToShip = customerOrderPosition.Position_Quantity; shipmentPosition.ShipmentPosition_PricePerUnitValueWithoutTax = customerOrderPosition.Position_ValuePerUnit; shipmentPosition.ShipmentPosition_ValueWithoutTax = customerOrderPosition.Position_ValueTotal; shipmentPosition.IsCancelled = false; shipmentPosition.Tenant_RefID = securityTicket.TenantID; shipmentPosition.IsDeleted = false; shipmentPosition.Save(Connection, Transaction); ORM_ORD_CUO_CustomerOrder_Position_2_ShipmentPosition customerOrderPositionToShipmentPosition = new ORM_ORD_CUO_CustomerOrder_Position_2_ShipmentPosition(); customerOrderPositionToShipmentPosition.AssignmentID = Guid.NewGuid(); customerOrderPositionToShipmentPosition.LOG_SHP_Shipment_Position_RefID = shipmentPosition.LOG_SHP_Shipment_PositionID; customerOrderPositionToShipmentPosition.ORD_CUO_CustomerOrder_Position_RefID = customerOrderPosition.ORD_CUO_CustomerOrder_PositionID; customerOrderPositionToShipmentPosition.Tenant_RefID = securityTicket.TenantID; customerOrderPositionToShipmentPosition.IsDeleted = false; customerOrderPositionToShipmentPosition.Save(Connection, Transaction); } } //TO DO: UNCOMMENT AFTER JANKO ADD STATUSES //var shipmentStatusHistoryStatusID = ORM_LOG_SHP_Shipment_Status.Query.Search(Connection, Transaction, new ORM_LOG_SHP_Shipment_Status.Query() //{ // GlobalPropertyMatchingID = EnumUtils.GetEnumDescription(EShipmentStatus.Created), // Tenant_RefID = securityTicket.TenantID, // IsDeleted = false //}).Single().LOG_SHP_Shipment_StatusID; //ORM_LOG_SHP_Shipment_StatusHistory shipmentStatusHistory = new ORM_LOG_SHP_Shipment_StatusHistory(); //shipmentStatusHistory.LOG_SHP_Shipment_StatusHistoryID = Guid.NewGuid(); //shipmentStatusHistory.LOG_SHP_Shipment_Header_RefID = shipmentHeader.LOG_SHP_Shipment_HeaderID; //shipmentStatusHistory.LOG_SHP_Shipment_Status_RefID = shipmentStatusHistoryStatusID; //shipmentStatusHistory.PerformedBy_BusinessParticipant_RefID = securityTicket.TenantID; //shipmentStatusHistory.Tenant_RefID = securityTicket.TenantID; //shipmentStatusHistory.IsDeleted = false; //shipmentStatusHistory.Save(Connection, Transaction); ORM_LOG_SHP_ShipmentHeader_2_CustomerOrderHeader shipmentToCustomerOrderHeader = new ORM_LOG_SHP_ShipmentHeader_2_CustomerOrderHeader(); shipmentToCustomerOrderHeader.AssignmentID = Guid.NewGuid(); shipmentToCustomerOrderHeader.LOG_SHP_Shipment_Header_RefID = shipmentHeader.LOG_SHP_Shipment_HeaderID; shipmentToCustomerOrderHeader.ORD_CUO_CustomerOrder_Header_RefID = customerOrder.ORD_CUO_CustomerOrder_HeaderID; shipmentToCustomerOrderHeader.Tenant_RefID = securityTicket.TenantID; shipmentToCustomerOrderHeader.IsDeleted = false; shipmentToCustomerOrderHeader.Save(Connection, Transaction); confirmedProcurementOrders.Add(procurementOrderITL); } returnValue.Result = confirmedProcurementOrders.ToArray(); return(returnValue); #endregion UserCode }