public Task <bool> CreateInconsistency(string warehouseType, string productionId, int responsibleId) { OracleParameter OraEmpresa = new OracleParameter(":AD_EMPRESA_CODIGO", OracleDbType.Int32, 20, ParameterDirection.Input); OracleParameter OraCodigo = new OracleParameter(":new_id", OracleDbType.Int32, ParameterDirection.Output); OracleParameter OraTipoBodega = new OracleParameter(":CODIGO_TIPO_BODEGA", OracleDbType.Varchar2, 1, ParameterDirection.Input); OracleParameter OraProduccion = new OracleParameter(":CODIGO_PRODUCCION", OracleDbType.Int32, ParameterDirection.Input); OracleParameter OraResponsable = new OracleParameter(":CODIGO_RESPONSABLE", OracleDbType.Int32, 1, ParameterDirection.Input); OracleParameter OraTipoElemento = new OracleParameter(":CODIGO_TIPO_ELEMENTO", OracleDbType.Int32, ParameterDirection.Input); OracleParameter OraCodigoBarras = new OracleParameter(":CODIGO_BARRAS", OracleDbType.Varchar2, 20, ParameterDirection.Input); OracleParameter OraFechaInventario = new OracleParameter(":FECHA_INVENTARIO", OracleDbType.Date, ParameterDirection.Input); OracleParameter OraHoraInventario = new OracleParameter(":HORA_INVENTARIO", OracleDbType.TimeStamp, 1, ParameterDirection.Input); OracleParameter OraEncontrado = new OracleParameter(":ENCONTRADO", OracleDbType.Int16, ParameterDirection.Input); string query = $@" INSERT INTO BD_IMAGENES (AD_EMPRESA_CODIGO,CODIGO_TIPO_BODEGA,CODIGO_PRODUCCION,CODIGO_RESPONSABLE,CODIGO_TIPO_ELEMENTO,CODIGO_BARRAS,FECHA_INVENTARIO,HORA_INVENTARIO,ENCONTRADO) VALUES(:AD_EMPRESA_CODIGO,:CODIGO_TIPO_BODEGA,:CODIGO_PRODUCCION,:CODIGO_RESPONSABLE,:CODIGO_TIPO_ELEMENTO,:CODIGO_BARRAS,:FECHA_INVENTARIO,:HORA_INVENTARIO,:ENCONTRADO) returning CODIGO into :new_id"; using (OracleConnection con = new OracleConnection(_IOracleManagment.GetOracleConnectionParameters())) { con.Open(); using (OracleCommand oraUpdate = con.CreateCommand()) { using (OracleTransaction transaction = con.BeginTransaction(IsolationLevel.ReadCommitted)) { oraUpdate.Transaction = transaction; try { oraUpdate.CommandText = query; oraUpdate.Parameters.Add(OraEmpresa); oraUpdate.Parameters.Add(OraCodigo); oraUpdate.Parameters.Add(OraTipoBodega); oraUpdate.Parameters.Add(OraProduccion); oraUpdate.Parameters.Add(OraResponsable); oraUpdate.Parameters.Add(OraTipoElemento); oraUpdate.Parameters.Add(OraCodigoBarras); oraUpdate.Parameters.Add(OraFechaInventario); oraUpdate.Parameters.Add(OraHoraInventario); oraUpdate.Parameters.Add(OraEncontrado); OraEmpresa.Value = 1; OraTipoBodega.Value = 1; OraProduccion.Value = 1; OraResponsable.Value = 1; OraTipoElemento.Value = 1; OraCodigoBarras.Value = 1; OraFechaInventario.Value = 1; OraHoraInventario.Value = 1; OraEncontrado.Value = 1; } catch (System.Exception) { transaction.Rollback(); throw; } } } return(null); } }
private int InsertMaterial(List <MaterialViewModel> listNewMaterial, string warehouseid) { string query; int rowCount = 0; OracleParameter OraBarCode = new OracleParameter(":CODIGO_BARRAS", OracleDbType.Varchar2, 20, ParameterDirection.Input); OracleParameter OraDescripcion = new OracleParameter(":DESCRIPCION", OracleDbType.Varchar2, 2000, ParameterDirection.Input); OracleParameter OraTipoBodega = new OracleParameter(":TIPO_BODEGA", OracleDbType.Varchar2, 1, ParameterDirection.Input); OracleParameter OraUbicacionActua = new OracleParameter(":BD_UBCCION_ACTUAL", OracleDbType.Int32, ParameterDirection.Input); OracleParameter OraEstado = new OracleParameter(":ESTADO", OracleDbType.Varchar2, 1, ParameterDirection.Input); OracleParameter OraEmpresaCodigo = new OracleParameter(":AD_EMPRESA_CODIGO", OracleDbType.Int32, ParameterDirection.Input); OracleParameter OraUbicacionCodigo = new OracleParameter(":BD_UBCCION_CODIGO", OracleDbType.Int32, ParameterDirection.Input); OracleParameter OraUsuarioCreacion = new OracleParameter(":USU_CREACION", OracleDbType.Varchar2, 20, ParameterDirection.Input); OracleParameter OraTerceroActual = new OracleParameter(":PA_TERCERO_ACTUAL", OracleDbType.Int64, ParameterDirection.Input); OracleParameter OraValorCompra = new OracleParameter(":VALOR_COMPRA", OracleDbType.Decimal, ParameterDirection.Input); OracleParameter OraElementType = new OracleParameter(":TIPO_ELEMENTO", OracleDbType.Int32, ParameterDirection.Input); OracleParameter OraPrendaType = new OracleParameter(":TIPO_PRENDA", OracleDbType.Int32, ParameterDirection.Input); OracleParameter OraCodigoElemento = new OracleParameter("new_id", OracleDbType.Int32); OraCodigoElemento.Direction = ParameterDirection.Output; if (warehouseid.Equals("V")) { query = $@"Insert into BD_MATERIAL (CODIGO,CODIGO_BARRAS,DESCRIPCION,TIPO_BODEGA,BD_UBCCION_ACTUAL,FEC_CREACION,ESTADO,AD_EMPRESA_CODIGO,BD_UBCCION_CODIGO,USU_CREACION,VALOR_COMPRA,PA_TERCERO_ACTUAL,TIPO_PRENDA) VALUES(BD_MTRIAL_SEQ.nextval, :CODIGO_BARRAS, :DESCRIPCION, :TIPO_BODEGA, :BD_UBCCION_ACTUAL, SYSDATE, :ESTADO, :AD_EMPRESA_CODIGO, :BD_UBCCION_CODIGO, :USU_CREACION, :VALOR_COMPRA, 42877557,:TIPO_ELEMENTO) returning CODIGO into :new_id"; } else { query = $@"Insert into BD_MATERIAL (CODIGO,CODIGO_BARRAS,DESCRIPCION,TIPO_BODEGA,BD_UBCCION_ACTUAL,FEC_CREACION,ESTADO,AD_EMPRESA_CODIGO,BD_UBCCION_CODIGO,USU_CREACION,VALOR_COMPRA,PA_TERCERO_ACTUAL,TIPO_ELEMENTO) VALUES(BD_MTRIAL_SEQ.nextval, :CODIGO_BARRAS, :DESCRIPCION, :TIPO_BODEGA, :BD_UBCCION_ACTUAL, SYSDATE, :ESTADO, :AD_EMPRESA_CODIGO, :BD_UBCCION_CODIGO, :USU_CREACION, :VALOR_COMPRA, 42877557,:TIPO_ELEMENTO) returning CODIGO into :new_id"; } using (OracleConnection con = new OracleConnection(_IOracleManagment.GetOracleConnectionParameters())) { con.Open(); using (OracleCommand oraUpdate = con.CreateCommand()) { using (OracleTransaction transaction = con.BeginTransaction(IsolationLevel.ReadCommitted)) { oraUpdate.Transaction = transaction; try { oraUpdate.CommandText = query; oraUpdate.Parameters.Clear(); oraUpdate.Parameters.Add(OraBarCode); oraUpdate.Parameters.Add(OraDescripcion); oraUpdate.Parameters.Add(OraTipoBodega); oraUpdate.Parameters.Add(OraUbicacionActua); oraUpdate.Parameters.Add(OraEstado); oraUpdate.Parameters.Add(OraEmpresaCodigo); oraUpdate.Parameters.Add(OraUbicacionCodigo); oraUpdate.Parameters.Add(OraUsuarioCreacion); oraUpdate.Parameters.Add(OraValorCompra); oraUpdate.Parameters.Add(OraElementType); oraUpdate.Parameters.Add(OraCodigoElemento); foreach (var newMaterial in listNewMaterial) { OraBarCode.Value = newMaterial.barCode; OraDescripcion.Value = newMaterial.materialName; OraTipoBodega.Value = newMaterial.wareHouseId; OraUbicacionActua.Value = 1; OraEstado.Value = "A"; OraEmpresaCodigo.Value = 1; OraUbicacionCodigo.Value = 1; OraUsuarioCreacion.Value = "BODEGAS"; OraTerceroActual.Value = "42877557"; //TODO: CEDULA DEL USUARIO LOGEADO OraValorCompra.Value = newMaterial.unitPrice; OraElementType.Value = newMaterial.typeElementId; rowCount = oraUpdate.ExecuteNonQuery(); if (newMaterial.ListaImagenesStr != null && newMaterial.ListaImagenesStr.Count > 0) { InsertImagesByMaterial(OraCodigoElemento.Value.ToString(), newMaterial.ListaImagenesStr, con, transaction); } } transaction.Commit(); } catch (System.Exception ex) { transaction.Rollback(); throw new System.Exception(ex.Message); } } } } return(rowCount); }