Example #1
0
        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);
            }
        }
Example #2
0
        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);
        }