示例#1
0
        public NormalContractItem InsertNormalContractItem(NormalContractItem normalContractItem, DateTime deliveryDate, User creationUser)
        {
            NormalContractItem result = null;

            using (IDbConnection connection = new OracleConnection(this.connString))
            {
                connection.Open();

                var parameters = new OracleDynamicParameters();
                parameters.Add("p_cd_contrato", value: normalContractItem.ContractId, dbType: OracleDbType.Int32, direction: ParameterDirection.Input);
                parameters.Add("p_cd_produto_sap", value: (normalContractItem.Material == null ? "" : normalContractItem.Material.Id), dbType: OracleDbType.Char, direction: ParameterDirection.Input);
                parameters.Add("p_nu_quantidade", value: normalContractItem.Quantity, dbType: OracleDbType.Decimal, direction: ParameterDirection.Input);
                parameters.Add("p_dh_remessa", value: deliveryDate, dbType: OracleDbType.Date, direction: ParameterDirection.Input);
                parameters.Add("p_cd_usuario_inclusao", value: (creationUser == null ? null : creationUser.Id), dbType: OracleDbType.Int32, direction: ParameterDirection.Input);
                parameters.Add("p_result", dbType: OracleDbType.RefCursor, direction: ParameterDirection.Output);

                var list = connection.Query <NormalContractItem, Material, NormalContractItem>(
                    "vnd.gx_contract_master.pi_normal_contract_item",
                    (item, material) =>
                {
                    item.Material = material;
                    return(item);
                },
                    param: parameters,
                    commandType: CommandType.StoredProcedure
                    );

                if (list.Count() > 0)
                {
                    result = list.First();
                }

                return(result);
            }
        }
示例#2
0
        /// <summary>
        /// Generates the PO Number and creates the cadence data in
        /// MOL database to avoid dump in ZSDI3003_CONTRACT_CREATE.
        /// </summary>
        /// <param name="contract">The contract generated from Master Contract Items.</param>
        public NormalContract GenerateAndSaveNormalContractAndItems(NormalContract normalContract)
        {
            ContractDAO    contractDAO         = new ContractDAO(connectionString);
            NormalContract savedNormalContract = contractDAO.GenerateNormalContract(normalContract);

            foreach (NormalContractItem normalContractItem in normalContract.NormalContractItems)
            {
                normalContractItem.ContractId = savedNormalContract.Id;
                NormalContractItem savedNormalContractItem = contractDAO.InsertNormalContractItem(normalContractItem, normalContract.StartDate.Value, normalContract.CreationUser);
                savedNormalContractItem.Incoterms = normalContractItem.Incoterms;
                savedNormalContractItem.Region    = normalContractItem.Region;
                savedNormalContract.NormalContractItems.Add(savedNormalContractItem);
            }

            return(savedNormalContract);
        }