private static List <ORM_ORD_PRC_RFP_SupplierProposalResponse_Header> Search(Query query, string connectionString, DbConnection connection, DbTransaction transaction)
            {
                CSV2Core.Core.Interfaces.IManagedConnection            managedConnection = new CSV2Core_MySQL.MySQLManagedConnection();
                List <ORM_ORD_PRC_RFP_SupplierProposalResponse_Header> 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_SupplierProposalResponse_Header>();

                    var reader = new CSV2Core_MySQL.Support.DBSQLReader(command.ExecuteReader());
                    reader.SetOrdinals(new string[] { "ORD_PRC_RFP_SupplierProposalResponse_HeaderID", "ProposalResponseHeaderITPL", "CreatedFor_RequestForProposal_Header_RefID", "OfferReceivedFrom_RegisteredBusinessParticipant_RefID", "DefaultCurrency_RefID", "ValidThrough", "TotalPrice_WithoutTax", "TotalPrice_IncludingTax", "Creation_Timestamp", "Tenant_RefID", "IsDeleted" });
                    while (reader.Read())
                    {
                        ORM_ORD_PRC_RFP_SupplierProposalResponse_Header item = new ORM_ORD_PRC_RFP_SupplierProposalResponse_Header();
                        //0:Parameter ORD_PRC_RFP_SupplierProposalResponse_HeaderID of type Guid
                        item.ORD_PRC_RFP_SupplierProposalResponse_HeaderID = reader.GetGuid(0);
                        //1:Parameter ProposalResponseHeaderITPL of type String
                        item.ProposalResponseHeaderITPL = reader.GetString(1);
                        //2:Parameter CreatedFor_RequestForProposal_Header_RefID of type Guid
                        item.CreatedFor_RequestForProposal_Header_RefID = reader.GetGuid(2);
                        //3:Parameter OfferReceivedFrom_RegisteredBusinessParticipant_RefID of type Guid
                        item.OfferReceivedFrom_RegisteredBusinessParticipant_RefID = reader.GetGuid(3);
                        //4:Parameter DefaultCurrency_RefID of type Guid
                        item.DefaultCurrency_RefID = reader.GetGuid(4);
                        //5:Parameter ValidThrough of type DateTime
                        item.ValidThrough = reader.GetDate(5);
                        //6:Parameter TotalPrice_WithoutTax of type Decimal
                        item.TotalPrice_WithoutTax = reader.GetDecimal(6);
                        //7:Parameter TotalPrice_IncludingTax of type Decimal
                        item.TotalPrice_IncludingTax = reader.GetDecimal(7);
                        //8:Parameter Creation_Timestamp of type DateTime
                        item.Creation_Timestamp = reader.GetDate(8);
                        //9:Parameter Tenant_RefID of type Guid
                        item.Tenant_RefID = reader.GetGuid(9);
                        //10:Parameter IsDeleted of type Boolean
                        item.IsDeleted = reader.GetBoolean(10);


                        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);
            }
コード例 #2
0
        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
        }