Exemplo n.º 1
0
        public int RegistrarLog(ProcesoGeneral procesoGeneral)
        {
            int _pValor = 0;

            try
            {
                List <OracleParameter> parameters = new List <OracleParameter>();
                parameters.Add(new OracleParameter("ID_PROCESO", OracleDbType.Int32, procesoGeneral.IdProceso, ParameterDirection.Input));
                parameters.Add(new OracleParameter("VC_DESCRIPCION", OracleDbType.NVarchar2, 50, procesoGeneral.VcDescripcion, ParameterDirection.Input));
                parameters.Add(new OracleParameter("VC_USUARIO_CREACION", OracleDbType.NVarchar2, 20, procesoGeneral.VcUsuariocreacion, ParameterDirection.Input));
                parameters.Add(new OracleParameter("VC_MENSAJE", OracleDbType.NVarchar2, 255, procesoGeneral.VcMensaje, ParameterDirection.Input));
                parameters.Add(new OracleParameter("VC_AMBITO", OracleDbType.NVarchar2, 10, procesoGeneral.VcAmbito, ParameterDirection.Input));
                //Parámetro de Salida
                var pNextVal = new OracleParameter("P_NEXTVAL", OracleDbType.Int32, ParameterDirection.Output);
                parameters.Add(pNextVal);

                _connectionBase.ExecuteByStoredProcedure("CONCILIACION.CCLPROCPROCESO.CCLPOSTPROCESO_GENERAL", parameters, ConnectionBase.enuTypeDataBase.OracleConciliacion);

                _pValor = Convert.ToInt32(pNextVal.Value.ToString());
            }
            catch (Exception ex)
            {
                _pValor = 0;
            }

            return(_pValor);
        }
        public Task <string> RegistrarPlanilla(List <Planilla> planillaList)
        {
            int    _nIdProceso = 0;
            string _sMessage   = string.Empty;

            List <OracleParameter> parameters1        = null;
            ProcesoGeneral         _procesoGeneral    = null;
            LogProcesoGeneral      _procesoLogGeneral = null;
            PlanillaEstado         _planillaEstado    = new PlanillaEstado();

            _procesoGeneral                   = new ProcesoGeneral();
            _procesoGeneral.IdProceso         = 3;                                            //Importacion
            _procesoGeneral.VcUsuariocreacion = planillaList[0].VcUsuariocreacion.ToString(); //Agregado 16/07/2018
            _procesoGeneral.VcDescripcion     = "";
            _procesoGeneral.VcMensaje         = "Inicio Registro de Importación de Planillas";
            _procesoGeneral.VcAmbito          = "BD";
            _nIdProceso = _procesoRepository.RegistrarLog(_procesoGeneral);

            foreach (Planilla p in planillaList)
            {
                try
                {
                    parameters1 = new List <OracleParameter>();
                    parameters1.Add(new OracleParameter("ID_PLANILLA", OracleDbType.Int32, p.IdPlanilla, ParameterDirection.Input));
                    parameters1.Add(new OracleParameter("VC_DESCRIPCION", OracleDbType.Varchar2, 255, p.VcDescripcion, ParameterDirection.Input));
                    parameters1.Add(new OracleParameter("DC_TOTAL", OracleDbType.NVarchar2, 10, p.DcTotal, ParameterDirection.Input));
                    parameters1.Add(new OracleParameter("DT_FECHA_PLANILLA", OracleDbType.Date, p.DtFechaPlanilla, ParameterDirection.Input));
                    parameters1.Add(new OracleParameter("ID_CANAL", OracleDbType.Int32, p.IdCanal, ParameterDirection.Input));
                    parameters1.Add(new OracleParameter("ID_PRODUCTO", OracleDbType.Int32, p.IdProducto, ParameterDirection.Input));
                    parameters1.Add(new OracleParameter("ID_PUNTO_VENTA", OracleDbType.NVarchar2, p.IdPuntoventa, ParameterDirection.Input));
                    parameters1.Add(new OracleParameter("ID_DG_ESTADO_PLANILLA", OracleDbType.NVarchar2, p.IddgEstadoPlanilla, ParameterDirection.Input));
                    parameters1.Add(new OracleParameter("ID_DG_ESTADO_PROENV", OracleDbType.NVarchar2, p.IddgEstadoProenv, ParameterDirection.Input));
                    parameters1.Add(new OracleParameter("ID_DG_ESTADO", OracleDbType.NVarchar2, p.IddgEstado, ParameterDirection.Input));
                    parameters1.Add(new OracleParameter("VC_USUARIO_CREACION", OracleDbType.NVarchar2, 20, p.VcUsuariocreacion, ParameterDirection.Input));
                    parameters1.Add(new OracleParameter("DT_FECHA_MODIFICACION", OracleDbType.Date, p.DtFechamodificacion, ParameterDirection.Input));
                    parameters1.Add(new OracleParameter("VC_USUARIO_MODIFICACION", OracleDbType.NVarchar2, 20, p.VcUsuariomodificacion, ParameterDirection.Input));

                    //Parámetro de Salida
                    var pResult1 = new OracleParameter("P_RESULT", OracleDbType.NVarchar2, 32767, OracleDbType.NVarchar2, ParameterDirection.Output);
                    parameters1.Add(pResult1);

                    _connectionBase.ExecuteByStoredProcedure("CONCILIACION.CCLPROCIMPORTACION.CCLPOSTPLANILLA", parameters1, ConnectionBase.enuTypeDataBase.OracleConciliacion);
                    _sMessage = pResult1.Value.ToString() == null ? String.Empty : pResult1.Value.ToString();

                    foreach (DetallePlanillaCobro d in p.DetallePlanillacobro)
                    {
                        List <OracleParameter> parameters2 = new List <OracleParameter>();

                        parameters2.Add(new OracleParameter("ID_DETALLE_PLANILLA_COBRO", OracleDbType.Int32, d.IdDetallePlanillaCobro, ParameterDirection.Input));
                        parameters2.Add(new OracleParameter("ID_PLANILLA", OracleDbType.Int32, d.IdPlanilla, ParameterDirection.Input));
                        parameters2.Add(new OracleParameter("ID_RAMO", OracleDbType.Int32, d.IdRamo, ParameterDirection.Input));
                        parameters2.Add(new OracleParameter("ID_PRODUCTO", OracleDbType.Int32, d.IdProducto, ParameterDirection.Input));
                        parameters2.Add(new OracleParameter("VC_NUMERO_POLIZA", OracleDbType.NVarchar2, 20, d.VcNumeropoliza, ParameterDirection.Input));
                        parameters2.Add(new OracleParameter("VC_NUMERO_CERTIFICADO", OracleDbType.NVarchar2, 20, d.VcNumerocertificado, ParameterDirection.Input));
                        parameters2.Add(new OracleParameter("ID_PROFORMA", OracleDbType.Long, d.IdProforma, ParameterDirection.Input));
                        parameters2.Add(new OracleParameter("DC_MONTO", OracleDbType.Decimal, d.DcMonto, ParameterDirection.Input));
                        parameters2.Add(new OracleParameter("ID_DG_ESTADO", OracleDbType.Int32, d.IddgEstado, ParameterDirection.Input));
                        parameters2.Add(new OracleParameter("ID_DG_ESTADO_DET_PLANILLA", OracleDbType.Int32, d.IddgEstadoDetPlanilla, ParameterDirection.Input));
                        parameters2.Add(new OracleParameter("VC_USUARIO_CREACION", OracleDbType.NVarchar2, 20, d.VcUsuariocreacion, ParameterDirection.Input));
                        parameters2.Add(new OracleParameter("DT_FECHA_MODIFICACION", OracleDbType.Date, d.DtFechamodificacion, ParameterDirection.Input));
                        parameters2.Add(new OracleParameter("VC_USUARIO_MODIFICACION", OracleDbType.NVarchar2, 20, d.VcUsuariomodificacion, ParameterDirection.Input));
                        //Parámetro de Salida
                        var pResult2 = new OracleParameter("P_RESULT", OracleDbType.NVarchar2, 32767, OracleDbType.NVarchar2, ParameterDirection.Output);
                        parameters2.Add(pResult2);

                        _connectionBase.ExecuteByStoredProcedure("CONCILIACION.CCLPROCIMPORTACION.CCLPOSTDETPLANILLACOBRO", parameters2, ConnectionBase.enuTypeDataBase.OracleConciliacion);
                        _sMessage = pResult2.Value.ToString() == null ? String.Empty : pResult2.Value.ToString();
                    }

                    foreach (DetallePlanillaPago e in p.DetallePlanillapago)
                    {
                        List <OracleParameter> parameters3 = new List <OracleParameter>();

                        parameters3.Add(new OracleParameter("ID_DETALLE_PLANILLA_PAGO", OracleDbType.Int32, e.IdDetallePlanillaPago, ParameterDirection.Input));
                        parameters3.Add(new OracleParameter("ID_PLANILLA", OracleDbType.Int32, e.IdPlanilla, ParameterDirection.Input));
                        parameters3.Add(new OracleParameter("ID_MONEDA", OracleDbType.Int32, e.IdMoneda, ParameterDirection.Input));
                        parameters3.Add(new OracleParameter("DC_MONTO", OracleDbType.Decimal, e.DcMonto, ParameterDirection.Input));
                        parameters3.Add(new OracleParameter("ID_TIPO_MEDIO_PAGO", OracleDbType.Int32, e.IdTipomediopago, ParameterDirection.Input));
                        parameters3.Add(new OracleParameter("ID_BANCO", OracleDbType.Int32, e.IdBanco, ParameterDirection.Input));
                        parameters3.Add(new OracleParameter("ID_CUENTA_BANCO", OracleDbType.NVarchar2, 20, Convert.ToString(e.IdCuentaBanco), ParameterDirection.Input));
                        parameters3.Add(new OracleParameter("VC_NUMERO_OPERACION", OracleDbType.NVarchar2, 20, e.VcNumerooperacion, ParameterDirection.Input));
                        parameters3.Add(new OracleParameter("ID_DG_ESTADO", OracleDbType.Int32, Convert.ToInt32(e.IddgEstado), ParameterDirection.Input));
                        parameters3.Add(new OracleParameter("ID_DG_ESTADO_DET_PLANILLA", OracleDbType.Int32, Convert.ToInt32(e.IddgEstadoDetPlanilla), ParameterDirection.Input));
                        parameters3.Add(new OracleParameter("DT_FECHA_OPERACION", OracleDbType.Date, e.DtFechaoperacion, ParameterDirection.Input)); //Agregado 17/07/2018
                        parameters3.Add(new OracleParameter("VC_USUARIO_CREACION", OracleDbType.NVarchar2, 20, e.VcUsuariocreacion, ParameterDirection.Input));
                        parameters3.Add(new OracleParameter("DT_FECHA_MODIFICACION", OracleDbType.Date, e.DtFechamodificacion, ParameterDirection.Input));
                        parameters3.Add(new OracleParameter("VC_USUARIO_MODIFICACION", OracleDbType.NVarchar2, 20, e.VcUsuariomodificacion, ParameterDirection.Input));
                        //Parámetro de Salida
                        var pResult3 = new OracleParameter("P_RESULT", OracleDbType.NVarchar2, 32767, OracleDbType.NVarchar2, ParameterDirection.Output);
                        parameters3.Add(pResult3);

                        _connectionBase.ExecuteByStoredProcedure("CONCILIACION.CCLPROCIMPORTACION.CCLPOSTDETPLANILLAPAGO", parameters3, ConnectionBase.enuTypeDataBase.OracleConciliacion);
                        _sMessage = pResult3.Value.ToString() == null ? String.Empty : pResult3.Value.ToString();
                    }
                }
                catch (Exception ex)
                {
                    _sMessage = string.Format("Error: {0}", ex.ToString());

                    _procesoLogGeneral = new LogProcesoGeneral();
                    _procesoLogGeneral.IdProcesoGeneral  = _nIdProceso;
                    _procesoLogGeneral.VcMensaje         = _sMessage.ToString();
                    _procesoLogGeneral.VcAmbito          = _procesoGeneral.VcAmbito;
                    _procesoLogGeneral.VcUsuarioCreacion = _procesoGeneral.VcUsuariocreacion;
                    _procesoRepository.RegistrarLog(_procesoLogGeneral);
                }

                //Registra estados
                _planillaEstado                    = new PlanillaEstado();
                _planillaEstado.IdPlanilla         = p.IdPlanilla;
                _planillaEstado.IddgEstadoplanilla = 1101;                              //Ingresado
                _planillaEstado.IddgEstado         = 1001;                              //Registro activo
                _planillaEstado.VcUsuariocreacion  = _procesoGeneral.VcUsuariocreacion; //Agregado 16/07/2018
                RegistrarEstadoPlanilla(_planillaEstado);
            }

            _procesoLogGeneral = new LogProcesoGeneral();
            _procesoLogGeneral.IdProcesoGeneral  = _nIdProceso;
            _procesoLogGeneral.VcMensaje         = "Fin Registro de Importación de Planillas";
            _procesoLogGeneral.VcAmbito          = _procesoGeneral.VcAmbito;
            _procesoLogGeneral.VcUsuarioCreacion = _procesoGeneral.VcUsuariocreacion;
            _procesoRepository.RegistrarLog(_procesoLogGeneral);

            return(Task.FromResult <string>(_sMessage));
        }