private static List <ORM_ORD_PRC_RFP_PotentialSupplier> Search(Query query, string connectionString, DbConnection connection, DbTransaction transaction) { CSV2Core.Core.Interfaces.IManagedConnection managedConnection = new CSV2Core_MySQL.MySQLManagedConnection(); List <ORM_ORD_PRC_RFP_PotentialSupplier> items; try { managedConnection.set(connectionString, connection, transaction); var loader = new CSV2Core_MySQL.Dictionaries.MultiTable.Loader.DictionaryLoader(managedConnection.getConnection(), managedConnection.getTransaction()); DbCommand command = managedConnection.manage(query.CreateSelectQuery(TableName)); query.SetParameters(command); items = new List <ORM_ORD_PRC_RFP_PotentialSupplier>(); var reader = new CSV2Core_MySQL.Support.DBSQLReader(command.ExecuteReader()); reader.SetOrdinals(new string[] { "ORD_PRC_RFP_PotentialSupplierID", "RequestForProposal_Header_RefID", "CMN_BPT_BusinessParticipant_RefID", "Creation_Timestamp", "Tenant_RefID", "IsDeleted" }); while (reader.Read()) { ORM_ORD_PRC_RFP_PotentialSupplier item = new ORM_ORD_PRC_RFP_PotentialSupplier(); //0:Parameter ORD_PRC_RFP_PotentialSupplierID of type Guid item.ORD_PRC_RFP_PotentialSupplierID = reader.GetGuid(0); //1:Parameter RequestForProposal_Header_RefID of type Guid item.RequestForProposal_Header_RefID = reader.GetGuid(1); //2:Parameter CMN_BPT_BusinessParticipant_RefID of type Guid item.CMN_BPT_BusinessParticipant_RefID = reader.GetGuid(2); //3:Parameter Creation_Timestamp of type DateTime item.Creation_Timestamp = reader.GetDate(3); //4:Parameter Tenant_RefID of type Guid item.Tenant_RefID = reader.GetGuid(4); //5:Parameter IsDeleted of type Boolean item.IsDeleted = reader.GetBoolean(5); item.Status_IsAlreadySaved = true; item.Status_IsDirty = false; items.Add(item); } reader.Close(); loader.Load(); managedConnection.commit(); } catch (Exception ex) { managedConnection.rollback(); throw; } return(items); }
protected static FR_Guid Execute(DbConnection Connection, DbTransaction Transaction, P_L5PR_CRR_1429 Parameter, CSV2Core.SessionSecurity.SessionSecurityTicket securityTicket = null) { #region UserCode var returnValue = new FR_Guid(); //Put your code here #region ArticlesAndPrices var productIDsParam = new List <Guid>(); foreach (var proposalRequestPosition in Parameter.ProposalRequestPositions) { productIDsParam.Add(proposalRequestPosition.ProductID); } var productsParameter = new CL3_Articles.Atomic.Retrieval.P_L3AR_GAfAL_0942(); productsParameter.ProductID_List = productIDsParam.Distinct().ToArray(); var pricesParam = new CL3_Price.Complex.Retrieval.P_L3PR_GSPfPIL_1645(); pricesParam.ProductIDList = productIDsParam.Distinct().ToArray(); var products = new List <CL3_Articles.Atomic.Retrieval.L3AR_GAfAL_0942>(); var prices = new List <CL3_Price.Complex.Retrieval.L3PR_GSPfPIL_1645>(); if (Parameter.ProposalRequestPositions.Length > 0) { prices = CL3_Price.Complex.Retrieval.cls_Get_StandardPrices_for_ProductIDList.Invoke(Connection, Transaction, pricesParam, securityTicket).Result.ToList(); products = CL3_Articles.Atomic.Retrieval.cls_Get_Articles_for_ArticleList.Invoke(Connection, Transaction, productsParameter, securityTicket).Result.ToList(); } #endregion var responseHeader = new CL1_ORD_PRC_RFP.ORM_ORD_PRC_RFP_SupplierProposalResponse_Header(); responseHeader.ORD_PRC_RFP_SupplierProposalResponse_HeaderID = Guid.NewGuid(); responseHeader.ProposalResponseHeaderITPL = Parameter.ProposalResponseHeaderITPL; responseHeader.OfferReceivedFrom_RegisteredBusinessParticipant_RefID = Parameter.OfferReceivedFrom_RegisteredBusinessParticipant_RefID; responseHeader.CreatedFor_RequestForProposal_Header_RefID = Parameter.CreatedFor_RequestForProposal_Header_RefID; responseHeader.ValidThrough = Parameter.ValidThrough; responseHeader.Tenant_RefID = securityTicket.TenantID; responseHeader.Save(Connection, Transaction); foreach (var param in Parameter.ProposalRequestPositions) { #region RegisteredBusinessParticipantHistoryUpdate var potentialSupplier = new CL1_ORD_PRC_RFP.ORM_ORD_PRC_RFP_PotentialSupplier(); var supplierForHistoryQuery = ORM_ORD_PRC_RFP_PotentialSupplier.Query.Search(Connection, Transaction, new ORM_ORD_PRC_RFP_PotentialSupplier.Query { RequestForProposal_Header_RefID = Parameter.CreatedFor_RequestForProposal_Header_RefID, Tenant_RefID = securityTicket.TenantID } ).First(); //accepted request history var history = new CL1_ORD_PRC_RFP.ORM_ORD_PRC_RFP_PotentialSupplier_History(); history.ORD_PRC_RFP_PotentialSupplier_HistoryID = Guid.NewGuid(); history.ORD_PRC_RFP_PotentialSupplier_RefID = supplierForHistoryQuery.ORD_PRC_RFP_PotentialSupplierID; history.IsEvent_ProposalResponse_Accepted = true; history.Tenant_RefID = securityTicket.TenantID; history.Save(Connection, Transaction); #endregion var responsePosition = new CL1_ORD_PRC_RFP.ORM_ORD_PRC_RFP_SupplierProposalResponse_Position(); var productPrice = prices.Single(pr => pr.ProductID == param.ProductID).SalesPrice; var productTax = Convert.ToDecimal(products.Single(pr => pr.CMN_PRO_ProductID == param.ProductID).Taxes[0].TaxRate); responsePosition.ORD_PRC_RFP_SupplierProposalResponse_PositionID = Guid.NewGuid(); responsePosition.PricePerUnit_WithoutTax = productPrice; responsePosition.PricePerUnit_IncludingTax = DLUtils_Common.Calculations.MoneyUtils.CalculateGrossPriceForTaxInPercent(productPrice, productTax); responsePosition.SupplierProposalResponseHeader_RefID = responseHeader.ORD_PRC_RFP_SupplierProposalResponse_HeaderID; responsePosition.ProposalResponsePositionITPL = responsePosition.ORD_PRC_RFP_SupplierProposalResponse_PositionID.ToString(); responsePosition.Quantity = param.Quantity; responsePosition.TotalPrice_IncludingTax = responseHeader.TotalPrice_IncludingTax; responsePosition.TotalPrice_WithoutTax = responseHeader.TotalPrice_WithoutTax; responsePosition.CreatedFrom_RequestForProposal_Position_RefID = param.Created_From_RequestForProposal_Position_RefID; responsePosition.Tenant_RefID = securityTicket.TenantID; responsePosition.CMN_PRO_Product_RefID = param.ProductID; responsePosition.Save(Connection, Transaction); } returnValue.Result = responseHeader.ORD_PRC_RFP_SupplierProposalResponse_HeaderID; return(returnValue); #endregion UserCode }