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); } }
/// <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); }