Beispiel #1
0
        public bool OperacionValida(DOMINIOS_OPERACION Id_Operacion, long Pk_Cod_Falla, long Pk_Cod_Persona)
        {
            bool rtn = false;

            rtn = ModeloMgr.Instancia.OperacionMgr.OperacionValida(Id_Operacion, Pk_Cod_Falla, Pk_Cod_Persona);
            return(rtn);
        }
Beispiel #2
0
        public bool registrarOperacion(DOMINIOS_OPERACION Id_Operacion, long Pk_Cod_Falla, long Pk_Cod_Persona, long Sec_Log)
        {
            bool rtn = false;

            OracleCommand cmd = CrearCommand();

            cmd.CommandText =
                @"INSERT INTO F_GF_OPERACION
            (
              ID_OPERACION, PK_COD_FALLA, PK_COD_ORIGEN_INFORME, SEC_LOG
            )
            VALUES
            (
             :P_ID_OPERACION, :P_PK_COD_FALLA, :P_PK_COD_ORIGEN_INFORME, :P_SEC_LOG
            )";

            cmd.Parameters.Add(new OracleParameter("P_ID_OPERACION", OracleDbType.Decimal, Id_Operacion, ParameterDirection.Input));
            cmd.Parameters.Add(new OracleParameter("P_PK_COD_FALLA", OracleDbType.Decimal, Pk_Cod_Falla, ParameterDirection.Input));
            cmd.Parameters.Add(new OracleParameter("P_PK_COD_ORIGEN_INFORME", OracleDbType.Decimal, Pk_Cod_Persona, ParameterDirection.Input));
            cmd.Parameters.Add(new OracleParameter("P_SEC_LOG", OracleDbType.Decimal, Sec_Log, ParameterDirection.Input));

            if (Actualizar(cmd))
            {
                rtn = true;
            }
            return(rtn);
        }
Beispiel #3
0
        public int ExisteRegistro(DOMINIOS_OPERACION Id_Operacion, int Pk_Cod_Falla, int Pk_Cod_Persona)
        {
            int rtn = -1;

            rtn = ModeloMgr.Instancia.OperacionMgr.ExisteRegistro(Id_Operacion, Pk_Cod_Falla, Pk_Cod_Persona);
            return(rtn);
        }
Beispiel #4
0
        public int ExisteRegistro(DOMINIOS_OPERACION Id_Operacion, long Pk_Cod_Falla, long Pk_Cod_Persona)
        {
            int           rtn = -1;
            OracleCommand cmd = CrearCommand();

            try
            {
                cmd.CommandText =
                    @"SELECT  NVL (MAX(sec_log),-1)  FROM f_gf_operacion
                WHERE id_operacion = :p_id_operacion 
                AND pk_cod_falla =  :p_pk_cod_falla 
                AND pk_cod_origen_informe =:p_pk_cod_origen_informe";

                cmd.Parameters.Add(new OracleParameter("p_id_operacion", (long)Id_Operacion));
                cmd.Parameters.Add(new OracleParameter("p_pk_cod_falla", Pk_Cod_Falla));
                cmd.Parameters.Add(new OracleParameter("p_pk_cod_origen_informe", Pk_Cod_Persona));
                OracleDataReader r = cmd.ExecuteReader();
                if (r.Read())
                {
                    rtn = (int)r.GetDecimal(0);
                }
                r.Close();
            }
            catch (Exception exception)
            {
                PistaMgr.Instance.Error("DALSisFalla", exception);
            }
            finally
            {
                DisposeCommand(cmd);
            }
            return(rtn);
        }
Beispiel #5
0
        public void Ejecutar()
        {
            _regFalla    = Sesion.Instancia.GetObjetoGlobal <RegFalla>("Principal.FallaActual");
            _persona     = Sesion.Instancia.GetObjetoGlobal <Persona>("Principal.Persona");
            _tipoInforme = GetTipoInforme(Parametros["TAG"]);
            _infFalla    = ModeloMgr.Instancia.InformeFallaMgr.GetInforme(_regFalla.CodFalla, _persona.PkCodPersona, (long)_tipoInforme);

            Operacion          opn         = new Operacion();
            DOMINIOS_OPERACION tipoOpnElab = InformeFalla.GetTipoOperacionElab(_tipoInforme);

            if (_infFalla == null)
            {
                if (_persona.PkCodPersona == Sesion.Instancia.EmpresaActual.PkCodPersona)
                {
                    if (opn.OperacionValida(tipoOpnElab, _regFalla.CodFalla, Sesion.Instancia.EmpresaActual.PkCodPersona))
                    {
                        AsegurarInfFalla();
                        ShowDialog();
                    }
                    else
                    {
                        MessageBox.Show(MessageMgr.Instance.GetMessage("NO_OPERACION"));
                    }
                }
                else
                {
                    Close();
                    MessageBox.Show(MessageMgr.Instance.GetMessage("INF_NO_REG_EN_BD"));
                }
            }
            else
            {
                ShowDialog();
            }
        }
Beispiel #6
0
        public bool RegistrarOperacion(DOMINIOS_OPERACION Id_Operacion, long Pk_Cod_Falla, long Pk_Cod_Persona)
        {
            bool rtn    = false;
            long seclog = GetSecLog();

            rtn = ModeloMgr.Instancia.OperacionMgr.registrarOperacion(Id_Operacion, Pk_Cod_Falla, Pk_Cod_Persona, seclog);

            return(rtn);
        }
        private void Guardar()
        {
            if (DatosValidos())
            {
                //_infFalla.FecInicio = _txtFecHoraFalla.;
                _infFalla.Descripcion           = _txtDescripcionFalla.Text;
                _infFalla.InformacionAdicional  = _txtInfAdicional.Text;
                _infFalla.OperacionProtecciones = _txtOperacionProtecciones.Text;
                _infFalla.ProcRestitucion       = _txtProcRestitucion.Text;
                _infFalla.DCodOrigen            = (long)_cbxOrigen.SelectedValue;
                _infFalla.DCodTipoDesconexion   = (long)_cbxTipoDesconex.SelectedValue;
                _infFalla.DCodCausa             = (long)_cbxCausa.SelectedValue;
                _infFalla.NumFallaAgente        = _txtNumFallaAgente.Text;
                _infFalla.CodComponenteFallado  = (long)_ctrlComponenteComprometido.PkCodComponente;
                ModeloMgr.Instancia.InformeFallaMgr.Guardar(_infFalla);

                Operacion          opn      = new Operacion();
                DOMINIOS_OPERACION tipo_opn = DOMINIOS_OPERACION.NULL;
                if (Sesion.Instancia.RolSIN == "CNDC")
                {
                    switch (_tipoInforme)
                    {
                    case PK_D_COD_TIPOINFORME.PRELIMINAR:
                        tipo_opn = DOMINIOS_OPERACION.CNDC_ELABORA_PRELIMINAR;
                        break;

                    case PK_D_COD_TIPOINFORME.FINAL:
                        tipo_opn = DOMINIOS_OPERACION.CNDC_ELABORA_FINAL;
                        break;

                    case PK_D_COD_TIPOINFORME.RECTIFICATORIO:
                        break;
                    }
                }
                else
                {
                    switch (_tipoInforme)
                    {
                    case PK_D_COD_TIPOINFORME.PRELIMINAR:
                        tipo_opn = DOMINIOS_OPERACION.AGENTE_ELABORA_PRELIMINAR;
                        break;

                    case PK_D_COD_TIPOINFORME.FINAL:
                        tipo_opn = DOMINIOS_OPERACION.AGENTE_ELABORA_FINAL;
                        break;

                    case PK_D_COD_TIPOINFORME.RECTIFICATORIO:
                        break;
                    }
                }
                opn.RegistrarOperacion(tipo_opn, _infFalla.PkCodFalla, _persona.PkCodPersona);
            }
        }
Beispiel #8
0
        public bool Guardar()
        {
            bool resultado = false;

            if (DatosValidos())
            {
                _infFalla.Descripcion           = _txtDescripcionFalla.Text;
                _infFalla.InformacionAdicional  = _txtInfAdicional.Text;
                _infFalla.OperacionProtecciones = _txtOperacionProtecciones.Text;
                _infFalla.ProcRestitucion       = _txtProcRestitucion.Text;
                _infFalla.DCodOrigen            = (long)_cbxOrigen.SelectedValue;
                _infFalla.DCodTipoDesconexion   = (long)_cbxTipoDesconex.SelectedValue;
                _infFalla.DCodCausa             = (long)_cbxCausa.SelectedValue;
                _infFalla.ElaboradoPor          = _txtElaboradoPor.Text;
                _infFalla.CodComponenteFallado  = (long)_ctrlComponenteComprometido.PkCodComponente;

                if (Sesion.Instancia.RolSIN == "CNDC")
                {
                    _infFalla.NumFallaAgente = _txtNumFalla.Text;
                }
                else
                {
                    _infFalla.NumFallaAgente = _txtNumFallaAgente.Text;
                }
                ModeloMgr.Instancia.InformeFallaMgr.Guardar(_infFalla);

                if (!_editandoInforme && (Sesion.Instancia.RolSIN != "CNDC" || ModeloMgr.Instancia.InformeFallaMgr.Bloquear(_infFalla)))
                {
                    _cmdEditar.Texto = "Terminar Edición";
                    _editandoInforme = true;
                    _pnlComandos.Acomodar();
                    VisualizarInfFallaActual();
                    HabilitarControles();
                }

                Operacion          opn      = new Operacion();
                DOMINIOS_OPERACION tipo_opn = _infFalla.GetTipoOpeParaGuardar();
                opn.RegistrarOperacion(tipo_opn, _infFalla.PkCodFalla, _persona.PkCodPersona);
                resultado = true;
            }

            return(resultado);
        }
        public void Ejecutar()
        {
            _regFalla    = Sesion.Instancia.GetObjetoGlobal <RegFalla>("Principal.FallaActual");
            _persona     = Sesion.Instancia.GetObjetoGlobal <Persona>("Principal.Persona");
            _tipoInforme = GetTipoInforme(Parametros["TAG"]);
            _infFalla    = ModeloMgr.Instancia.InformeFallaMgr.GetInforme(_regFalla.CodFalla, _persona.PkCodPersona, (long)_tipoInforme);

            Operacion          opn      = new Operacion();
            DOMINIOS_OPERACION tipo_opn = DOMINIOS_OPERACION.NULL;

            if (Sesion.Instancia.RolSIN == "CNDC")
            {
                switch (_tipoInforme)
                {
                case PK_D_COD_TIPOINFORME.PRELIMINAR:
                    tipo_opn = DOMINIOS_OPERACION.CNDC_ELABORA_PRELIMINAR;
                    break;

                case PK_D_COD_TIPOINFORME.FINAL:
                    tipo_opn = DOMINIOS_OPERACION.CNDC_ELABORA_FINAL;
                    break;

                case PK_D_COD_TIPOINFORME.RECTIFICATORIO:
                    //tipo_opn = DOMINIOS_OPERACION.RECTIFICATORIO_CNDC ;
                    break;
                }
                //if (_persona.PkCodPersona == Sesion.Instancia.EmpresaActual.PkCodPersona && !opn.OperacionValida((long)tipo_opn, _regFalla.CodFalla, _persona.PkCodPersona))
                //{
                //    Close();
                //    MessageBox.Show("No puede realizar ésta operación.");
                //}
            }

            if (_persona.PkCodPersona != Sesion.Instancia.EmpresaActual.PkCodPersona && _infFalla == null)
            {
                Close();
                MessageBox.Show("Informe no registrado en Base de Datos.");
            }
            else
            {
                ShowDialog();
            }
        }
Beispiel #10
0
        public bool ValidarOperacion(long Id_Operacion, int Pk_Cod_Falla, long PkDCodTipoinforme, long Pk_Cod_Persona)
        {
            bool rtn = false;

            AsegurarMgrsLocal();
            Operacion          opn   = new Operacion();
            DOMINIOS_OPERACION id_op = DOMINIOS_OPERACION.AGENTE_ENVIA_FINAL;

            if (PkDCodTipoinforme == (long)PK_D_COD_TIPOINFORME.PRELIMINAR)
            {
                id_op = DOMINIOS_OPERACION.AGENTE_ENVIA_PRELIMINAR;
            }
            else
            {
                id_op = DOMINIOS_OPERACION.AGENTE_ENVIA_FINAL;
            }
            rtn = opn.OperacionValida(id_op, Pk_Cod_Falla, Pk_Cod_Persona);
            return(rtn);
        }
Beispiel #11
0
        public static DOMINIOS_OPERACION GetTipoOperacionElab(PK_D_COD_TIPOINFORME _tipoInforme)
        {
            DOMINIOS_OPERACION resultado = DOMINIOS_OPERACION.NULL;

            if (Sesion.Instancia.RolSIN == "CNDC")
            {
                switch (_tipoInforme)
                {
                case PK_D_COD_TIPOINFORME.PRELIMINAR:
                    resultado = DOMINIOS_OPERACION.CNDC_ELABORA_PRELIMINAR;
                    break;

                case PK_D_COD_TIPOINFORME.FINAL:
                    resultado = DOMINIOS_OPERACION.CNDC_ELABORA_FINAL;
                    break;

                case PK_D_COD_TIPOINFORME.RECTIFICATORIO:
                    resultado = DOMINIOS_OPERACION.CNDC_ELABORA_RECTIFICATORIO;
                    break;
                }
            }
            else
            {
                switch (_tipoInforme)
                {
                case PK_D_COD_TIPOINFORME.PRELIMINAR:
                    resultado = DOMINIOS_OPERACION.AGENTE_ELABORA_PRELIMINAR;
                    break;

                case PK_D_COD_TIPOINFORME.FINAL:
                    resultado = DOMINIOS_OPERACION.AGENTE_ELABORA_FINAL;
                    break;

                case PK_D_COD_TIPOINFORME.RECTIFICATORIO:
                    resultado = DOMINIOS_OPERACION.AGENTE_ELABORA_RECTIFICATORIO;
                    break;
                }
            }
            return(resultado);
        }
        private void EnviarInforme()
        {
            //ModeloMgr.Instancia.InformeFallaMgr.PonerFechaHora(_infFalla);
            _dSetInforme = _infFalla.GetDataSet();
            if (Sesion.Instancia.RolSIN != "CNDC")
            {
                _datosEnviadosAlServidor = CNDC.Sincronizacion.SincronizadorCliente.Instancia.MgrServidor.Subir(_dSetInforme, "SISFALLA");
            }
            GenerarAdjuntos(_dSetInforme);
            EnviarEmail();

            DOMINIOS_OPERACION top = DOMINIOS_OPERACION.NULL;

            if (Sesion.Instancia.RolSIN == "CNDC")
            {
                switch (_tipoInforme)
                {
                case PK_D_COD_TIPOINFORME.PRELIMINAR:
                    top = DOMINIOS_OPERACION.CNDC_ENVIA_PRELIMINAR;
                    break;

                case PK_D_COD_TIPOINFORME.FINAL:
                    top = DOMINIOS_OPERACION.CNDC_ENVIA_FINAL;
                    break;

                case PK_D_COD_TIPOINFORME.RECTIFICATORIO:
                    break;
                }

                Operacion opn = new Operacion();
                if (opn.OperacionValida(top, _infFalla.PkCodFalla, _persona.PkCodPersona))
                {
                    opn.RegistrarOperacion(top, _infFalla.PkCodFalla, _persona.PkCodPersona);
                }
                else
                {
                    MessageBox.Show("No valido");
                }
            }
        }
        private void _btnTerminarInforme_Click(object sender, EventArgs e)
        {
            if (BaseForm.EstaSeguro("Seguro que desea Terminar el Informe ?"))
            {
                Operacion          opn      = new Operacion();
                DOMINIOS_OPERACION tipo_opn = DOMINIOS_OPERACION.NULL;

                if (Sesion.Instancia.RolSIN == "CNDC")
                {
                    switch (_tipoInforme)
                    {
                    case PK_D_COD_TIPOINFORME.PRELIMINAR:
                        tipo_opn = DOMINIOS_OPERACION.CNDC_TERMINA_PRELIMINAR;
                        break;

                    case PK_D_COD_TIPOINFORME.FINAL:
                        tipo_opn = DOMINIOS_OPERACION.CNDC_TERMINA_FINAL;
                        break;

                    case PK_D_COD_TIPOINFORME.RECTIFICATORIO:

                        break;
                    }
                }
                if (opn.OperacionValida(tipo_opn, _infFalla.PkCodFalla, _persona.PkCodPersona))
                {
                    opn.RegistrarOperacion(tipo_opn, _infFalla.PkCodFalla, _persona.PkCodPersona);
                    _infFalla.CodEstadoInf = (long)D_COD_ESTADO_INF.ELABORADO;
                    Guardar();
                    MessageBox.Show("El Informe se ha Terminado satisfactoriamente.");
                    DialogResult = System.Windows.Forms.DialogResult.OK;
                }
                else
                {
                    MessageBox.Show("El estado del Informe no permite guardarlo");
                }
            }
        }
Beispiel #14
0
        private static void RegistrarOperacion(DataRow r)
        {
            Operacion op = new Operacion();

            if ((long)r[InformeFalla.C_PK_ORIGEN_INFORME] == 7 && (long)r[InformeFalla.C_COD_ESTADO_INF] == (long)D_COD_ESTADO_INF.ENVIADO)
            {
                DOMINIOS_OPERACION dOp = DOMINIOS_OPERACION.CNDC_ENVIA_PRELIMINAR;
                switch ((PK_D_COD_TIPOINFORME)(long)r[InformeFalla.C_PK_D_COD_TIPOINFORME])
                {
                case PK_D_COD_TIPOINFORME.PRELIMINAR:
                    dOp = DOMINIOS_OPERACION.CNDC_ENVIA_PRELIMINAR;
                    break;

                case PK_D_COD_TIPOINFORME.FINAL:
                    dOp = DOMINIOS_OPERACION.CNDC_ENVIA_FINAL;
                    break;

                case PK_D_COD_TIPOINFORME.RECTIFICATORIO:
                    dOp = DOMINIOS_OPERACION.CNDC_ENVIA_RECTIFICATORIO;
                    break;
                }
                op.RegistrarOperacion(dOp, (int)r[InformeFalla.C_PK_COD_FALLA], 7);
            }
        }
Beispiel #15
0
        public bool Importar(DataSet dts, ContenidoArchivo contenido, bool silencioso)
        {
            Console.WriteLine("wwwwwwww aqui 1");
            bool             actualizar    = true;
            bool             mensaje       = !silencioso;
            List <IMgrLocal> managersLocal = new List <IMgrLocal>();

            if (contenido == ContenidoArchivo.Notificacion)
            {
                managersLocal.Add(ModeloMgr.Instancia.DefDominioMgr as IMgrLocal);
                managersLocal.Add(ModeloMgr.Instancia.RegFallaMgr as IMgrLocal);
                managersLocal.Add(ModeloMgr.Instancia.NotificacionMgr as IMgrLocal);
            }
            else
            {
                managersLocal.Add(ModeloMgr.Instancia.InformeFallaMgr as IMgrLocal);
                managersLocal.Add(ModeloMgr.Instancia.OperacionAlimentadorMgr as IMgrLocal);
                managersLocal.Add(ModeloMgr.Instancia.OperacionInterruptoresMgr as IMgrLocal);
                managersLocal.Add(ModeloMgr.Instancia.RelesOperadosMgr as IMgrLocal);
                managersLocal.Add(ModeloMgr.Instancia.RRegFallaComponenteMgr as IMgrLocal);
                managersLocal.Add(ModeloMgr.Instancia.TiempoDetalleMgr as IMgrLocal);
                managersLocal.Add(ModeloMgr.Instancia.AsignacionResposabilidadMgr as IMgrLocal);
                managersLocal.Add(ModeloMgr.Instancia.ColapsoMgr as IMgrLocal);
                managersLocal.Add(ModeloMgr.Instancia.AnalisisMgr as IMgrLocal);
            }

            try
            {
                foreach (var mgr in managersLocal)
                {
                    if (mgr != null && dts.Tables.Contains(mgr.NombreTabla))
                    {
                        DataTable      tabla        = dts.Tables[mgr.NombreTabla];
                        List <DataRow> rowsNuevos   = new List <DataRow>();
                        List <DataRow> rowsAntiguos = new List <DataRow>();

                        foreach (DataRow row in tabla.Rows)
                        {
                            if (actualizar)
                            {
                                bool esNuevo = !mgr.Existe(mgr.NombreTabla, row);
                                if (esNuevo)
                                {
                                    rowsNuevos.Add(row);
                                }
                                else
                                {
                                    rowsAntiguos.Add(row);
                                }

                                if (!esNuevo && mensaje)// && Sesion.Instancia.RolSIN == "CNDC")
                                {
                                    DialogResult r = MessageBox.Show("El registro ya fue actualizado, desea solaparlo, posible inconsistencia en registros", "Advertencia", MessageBoxButtons.YesNo, MessageBoxIcon.Error);
                                    if (r == DialogResult.No)
                                    {
                                        actualizar = false;
                                    }
                                    mensaje = false;
                                }
                            }
                        }

                        if (actualizar)
                        {
                            if (rowsNuevos.Count > 0)
                            {
                                mgr.Insertar(rowsNuevos);
                            }

                            if (rowsAntiguos.Count > 0)
                            {
                                mgr.Actualizar(rowsAntiguos);
                            }
                        }
                    }
                }

                if (actualizar)
                {
                    if (contenido == ContenidoArchivo.Informe && Sesion.Instancia.EmpresaActual.PkCodPersona == 7)
                    {
                        DataTable          tablaInforme  = dts.Tables[InformeFalla.NOMBRE_TABLA];
                        InformeFalla       informe       = new InformeFalla(tablaInforme.Rows[0]);
                        DOMINIOS_OPERACION tipoOperacion = DOMINIOS_OPERACION.AGENTE_ENVIA_PRELIMINAR;

                        if (informe.PkDCodTipoinforme == (long)PK_D_COD_TIPOINFORME.PRELIMINAR)
                        {
                            tipoOperacion = DOMINIOS_OPERACION.MANUAL_AGENTE_ENVIA_PRELIMINAR;
                        }
                        else if (informe.PkDCodTipoinforme == (long)PK_D_COD_TIPOINFORME.FINAL)
                        {
                            tipoOperacion = DOMINIOS_OPERACION.MANUAL_AGENTE_ENVIA_FINAL;
                        }

                        Operacion opn = new Operacion();
                        opn.RegistrarOperacion(tipoOperacion, informe.PkCodFalla, informe.PkOrigenInforme);
                    }

                    if (!silencioso)
                    {
                        MessageBox.Show("Concluida satisfactoriamente", "Importacion.", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    }
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine("wwwwwwww aqui 2");
                PistaMgr.Instance.Error("ImportarXML()", ex);
            }
            return(actualizar);
        }
Beispiel #16
0
        public DOMINIOS_OPERACION GetTipoOpeParaGuardar()
        {
            DOMINIOS_OPERACION   tipo_opn    = DOMINIOS_OPERACION.NULL;
            PK_D_COD_TIPOINFORME tipoInforme = (PK_D_COD_TIPOINFORME)PkDCodTipoinforme;

            switch ((D_COD_ESTADO_INF)CodEstadoInf)
            {
            case D_COD_ESTADO_INF.EN_ELABORACION:
                if (Sesion.Instancia.RolSIN == "CNDC")
                {
                    switch (tipoInforme)
                    {
                    case PK_D_COD_TIPOINFORME.PRELIMINAR:
                        tipo_opn = DOMINIOS_OPERACION.CNDC_ELABORA_PRELIMINAR;
                        break;

                    case PK_D_COD_TIPOINFORME.FINAL:
                        tipo_opn = DOMINIOS_OPERACION.CNDC_ELABORA_FINAL;
                        break;

                    case PK_D_COD_TIPOINFORME.RECTIFICATORIO:
                        tipo_opn = DOMINIOS_OPERACION.CNDC_ELABORA_RECTIFICATORIO;
                        break;
                    }
                }
                else
                {
                    switch (tipoInforme)
                    {
                    case PK_D_COD_TIPOINFORME.PRELIMINAR:
                        tipo_opn = DOMINIOS_OPERACION.AGENTE_ELABORA_PRELIMINAR;
                        break;

                    case PK_D_COD_TIPOINFORME.FINAL:
                        tipo_opn = DOMINIOS_OPERACION.AGENTE_ELABORA_FINAL;
                        break;

                    case PK_D_COD_TIPOINFORME.RECTIFICATORIO:
                        break;
                    }
                }
                break;

            case D_COD_ESTADO_INF.ELABORADO:
                if (Sesion.Instancia.RolSIN == "CNDC")
                {
                    switch (tipoInforme)
                    {
                    case PK_D_COD_TIPOINFORME.PRELIMINAR:
                        tipo_opn = DOMINIOS_OPERACION.CNDC_TERMINA_PRELIMINAR;
                        break;

                    case PK_D_COD_TIPOINFORME.FINAL:
                        tipo_opn = DOMINIOS_OPERACION.CNDC_TERMINA_FINAL;
                        break;

                    case PK_D_COD_TIPOINFORME.RECTIFICATORIO:
                        tipo_opn = DOMINIOS_OPERACION.CNDC_TERMINA_RECTIFICATORIO;
                        break;
                    }
                }

                break;

            case D_COD_ESTADO_INF.ENVIADO:
                if (Sesion.Instancia.RolSIN == "CNDC")
                {
                    switch (tipoInforme)
                    {
                    case PK_D_COD_TIPOINFORME.PRELIMINAR:
                        tipo_opn = DOMINIOS_OPERACION.CNDC_ENVIA_PRELIMINAR;
                        break;

                    case PK_D_COD_TIPOINFORME.FINAL:
                        tipo_opn = DOMINIOS_OPERACION.CNDC_ENVIA_FINAL;
                        break;

                    case PK_D_COD_TIPOINFORME.RECTIFICATORIO:
                        tipo_opn = DOMINIOS_OPERACION.CNDC_ENVIA_RECTIFICATORIO;
                        break;
                    }
                }
                else
                {
                    switch (tipoInforme)
                    {
                    case PK_D_COD_TIPOINFORME.PRELIMINAR:
                        tipo_opn = DOMINIOS_OPERACION.AGENTE_ENVIA_PRELIMINAR;
                        break;

                    case PK_D_COD_TIPOINFORME.FINAL:
                        tipo_opn = DOMINIOS_OPERACION.AGENTE_ENVIA_FINAL;
                        break;

                    case PK_D_COD_TIPOINFORME.RECTIFICATORIO:
                        break;
                    }
                }
                break;
            }
            return(tipo_opn);
        }
Beispiel #17
0
        public bool OperacionValida(DOMINIOS_OPERACION idOperacion, long Pk_Cod_Falla, long Pk_Cod_Persona)
        {
            bool rtn = false;

            try
            {
                rtn = false;
                //CNDC_ENVIA_NOTIFICACION = 1,
                //CNDC_ELABORA_PRELIMINAR = 2,
                //CNDC_TERMINA_PRELIMINAR = 3,
                //CNDC_ENVIA_PRELIMINAR = 4,
                //CNDC_ELABORA_FINAL = 5,
                //CNDC_TERMINA_FINAL = 6,
                //CNDC_ENVIA_FINAL = 7,
                //AGENTE_NOTIFICACION_RECIBIDA = 8,
                //AGENTE_ELABORA_PRELIMINAR = 9,
                //AGENTE_ELABORA_FINAL = 10,
                //AGENTE_ENVIA_PRELIMINAR = 11,
                //AGENTE_ENVIA_FINAL = 12,
                //CNDC_REVIERTE_INF_PRE_AGENTE = 1011

                if (Pk_Cod_Persona == 7)  // persona es CNDC
                {
                    switch (idOperacion)
                    {
                    case DOMINIOS_OPERACION.CNDC_ELABORA_PRELIMINAR:
                        if (ExisteRegistro(DOMINIOS_OPERACION.CNDC_ENVIA_NOTIFICACION, Pk_Cod_Falla, Pk_Cod_Persona) != -1 &&
                            ExisteRegistro(DOMINIOS_OPERACION.CNDC_ELABORA_PRELIMINAR, Pk_Cod_Falla, Pk_Cod_Persona) == -1)
                        {
                            rtn = true;
                        }
                        break;

                    case DOMINIOS_OPERACION.CNDC_TERMINA_PRELIMINAR:
                        if (ExisteRegistro(DOMINIOS_OPERACION.CNDC_ELABORA_PRELIMINAR, Pk_Cod_Falla, Pk_Cod_Persona) != -1 &&
                            ExisteRegistro(DOMINIOS_OPERACION.CNDC_TERMINA_PRELIMINAR, Pk_Cod_Falla, Pk_Cod_Persona) == -1)
                        {
                            rtn = true;
                        }
                        break;

                    case DOMINIOS_OPERACION.CNDC_ENVIA_PRELIMINAR:
                        if (ExisteRegistro(DOMINIOS_OPERACION.CNDC_TERMINA_PRELIMINAR, Pk_Cod_Falla, Pk_Cod_Persona) != -1 &&
                            ExisteRegistro(DOMINIOS_OPERACION.CNDC_ENVIA_PRELIMINAR, Pk_Cod_Falla, Pk_Cod_Persona) == -1)
                        {
                            rtn = true;
                        }
                        break;

                    case DOMINIOS_OPERACION.CNDC_ELABORA_FINAL:
                        if (ExisteRegistro(DOMINIOS_OPERACION.CNDC_ENVIA_PRELIMINAR, Pk_Cod_Falla, Pk_Cod_Persona) != -1 &&
                            ExisteRegistro(DOMINIOS_OPERACION.CNDC_ELABORA_FINAL, Pk_Cod_Falla, Pk_Cod_Persona) == -1)
                        {
                            rtn = true;
                        }

                        break;

                    case DOMINIOS_OPERACION.CNDC_TERMINA_FINAL:
                        if (/*existeRegistro(DOMINIOS_OPERACION.CNDC_ELABORA_FINAL, Pk_Cod_Falla, Pk_Cod_Persona) != -1
                             * &&*/ExisteRegistro(DOMINIOS_OPERACION.CNDC_TERMINA_FINAL, Pk_Cod_Falla, Pk_Cod_Persona) == -1)
                        {
                            rtn = true;
                        }
                        break;

                    case DOMINIOS_OPERACION.CNDC_ENVIA_FINAL:
                        if (ExisteRegistro(DOMINIOS_OPERACION.CNDC_TERMINA_FINAL, Pk_Cod_Falla, Pk_Cod_Persona) != -1 &&
                            ExisteRegistro(DOMINIOS_OPERACION.CNDC_ENVIA_FINAL, Pk_Cod_Falla, Pk_Cod_Persona) == -1)
                        {
                            rtn = true;
                        }
                        break;

                    case DOMINIOS_OPERACION.CNDC_ELABORA_RECTIFICATORIO:
                        if (ExisteRegistro(DOMINIOS_OPERACION.CNDC_ENVIA_FINAL, Pk_Cod_Falla, Pk_Cod_Persona) != -1 &&
                            ExisteRegistro(DOMINIOS_OPERACION.CNDC_ELABORA_RECTIFICATORIO, Pk_Cod_Falla, Pk_Cod_Persona) == -1)
                        {
                            rtn = true;
                        }
                        break;

                    case DOMINIOS_OPERACION.CNDC_TERMINA_RECTIFICATORIO:
                        if (ExisteRegistro(DOMINIOS_OPERACION.CNDC_ELABORA_RECTIFICATORIO, Pk_Cod_Falla, Pk_Cod_Persona) != -1 &&
                            ExisteRegistro(DOMINIOS_OPERACION.CNDC_TERMINA_RECTIFICATORIO, Pk_Cod_Falla, Pk_Cod_Persona) == -1)
                        {
                            rtn = true;
                        }
                        break;

                    case DOMINIOS_OPERACION.CNDC_ENVIA_RECTIFICATORIO:
                        if (ExisteRegistro(DOMINIOS_OPERACION.CNDC_TERMINA_RECTIFICATORIO, Pk_Cod_Falla, Pk_Cod_Persona) != -1 &&
                            ExisteRegistro(DOMINIOS_OPERACION.CNDC_ENVIA_RECTIFICATORIO, Pk_Cod_Falla, Pk_Cod_Persona) == -1)
                        {
                            rtn = true;
                        }
                        break;
                    }
                }
                else
                {
                    switch (idOperacion)
                    {
                    case DOMINIOS_OPERACION.AGENTE_ENVIA_PRELIMINAR:
                        if (ExisteRegistro(DOMINIOS_OPERACION.CNDC_ENVIA_PRELIMINAR, Pk_Cod_Falla, 7) == -1)
                        {
                            rtn = true;
                        }

                        break;

                    case DOMINIOS_OPERACION.AGENTE_ENVIA_FINAL:
                        if (ExisteRegistro(DOMINIOS_OPERACION.CNDC_ENVIA_FINAL, Pk_Cod_Falla, 7) == -1)
                        {
                            rtn = true;
                        }
                        break;

                    case DOMINIOS_OPERACION.AGENTE_ELABORA_PRELIMINAR:
                        if (ExisteRegistro(DOMINIOS_OPERACION.CNDC_ENVIA_PRELIMINAR, Pk_Cod_Falla, 7) == -1)
                        {
                            rtn = true;
                        }
                        break;

                    case DOMINIOS_OPERACION.AGENTE_ELABORA_FINAL:
                        if (ExisteRegistro(DOMINIOS_OPERACION.CNDC_ENVIA_FINAL, Pk_Cod_Falla, 7) == -1)
                        {
                            rtn = true;
                        }
                        break;
                    }
                }
            }

            catch (Exception exception)
            {
                PistaMgr.Instance.Error("DALSisFalla", exception);
            }
            finally
            {
            }
            return(rtn);
        }
Beispiel #18
0
        public bool Subir(string token, byte[] dataSet, string modulo)
        {
            bool resultado = true;

            modulo = modulo.ToUpper();

            if (modulo == "SISFALLA")
            {
                PistaMgr.Instance.Debug("WcfServicioSISFALLA.Subir()", "Iniciando..." + GetIPCliente());
                AsegurarConexion(token);
                AsegurarMgrsLocal();

                try
                {
                    dataSet = GZip.DesComprimir(dataSet);
                    DataSet ds = Serializador.DeSerializar <DataSet>(dataSet);
                    foreach (var mgr in _managersLocal)
                    {
                        if (ds.Tables.Contains(mgr.NombreTabla))
                        {
                            DataTable tabla = ds.Tables[mgr.NombreTabla];
                            PistaMgr.Instance.Debug("WcfServicioSISFALLA.Subir()", "mgr=" + mgr.NombreTabla + " Cant. Reg.:" + tabla.Rows.Count);
                            List <DataRow> rowsNuevos   = new List <DataRow>();
                            List <DataRow> rowsAntiguos = new List <DataRow>();

                            foreach (DataRow row in tabla.Rows)
                            {
                                bool esNuevo = !mgr.Existe(mgr.NombreTabla, row);
                                if (esNuevo)
                                {
                                    rowsNuevos.Add(row);
                                }
                                else
                                {
                                    rowsAntiguos.Add(row);
                                }
                            }

                            if (rowsNuevos.Count > 0)
                            {
                                PistaMgr.Instance.Debug("WcfServicioSISFALLA.Subir()", mgr.NombreTabla + " nuevos: " + rowsNuevos.Count);
                                mgr.Insertar(rowsNuevos);
                            }
                            if (rowsAntiguos.Count > 0)
                            {
                                PistaMgr.Instance.Debug("WcfServicioSISFALLA.Subir()", mgr.NombreTabla + " antiguos: " + rowsAntiguos.Count);
                                mgr.Actualizar(rowsAntiguos);
                            }
                        }
                        else
                        {
                            PistaMgr.Instance.Debug("WcfServicioSISFALLA.Subir()", "DataSet NO contiene tabla" + mgr.NombreTabla);
                        }
                    }

                    DataTable          tablaInforme  = ds.Tables[InformeFalla.NOMBRE_TABLA];
                    InformeFalla       informe       = new InformeFalla(tablaInforme.Rows[0]);
                    DOMINIOS_OPERACION tipoOperacion = DOMINIOS_OPERACION.AGENTE_ENVIA_PRELIMINAR;

                    if (informe.PkDCodTipoinforme == (long)PK_D_COD_TIPOINFORME.PRELIMINAR)
                    {
                        tipoOperacion = DOMINIOS_OPERACION.AGENTE_ENVIA_PRELIMINAR;
                    }
                    else if (informe.PkDCodTipoinforme == (long)PK_D_COD_TIPOINFORME.FINAL)
                    {
                        tipoOperacion = DOMINIOS_OPERACION.AGENTE_ENVIA_FINAL;
                    }

                    Operacion opn = new Operacion();
                    opn.RegistrarOperacion(tipoOperacion, informe.PkCodFalla, informe.PkOrigenInforme);
                }
                catch (Exception ex)
                {
                    PistaMgr.Instance.Error("WcfServicioSISFALLA.Subir()", ex);
                }

                PistaMgr.Instance.Debug("WcfServicioSISFALLA.Subir()", "Finalizando...");
            }

            return(resultado);
        }