Пример #1
0
        public Decimal RegistrarInsersionRegistroTabla(Decimal ID_VERSIONAMIENTO, ListaSecciones area, String campo, String descripcionCampo, String valor, AccionesManual accion, Decimal ID_EMPRESA, Conexion conexion)
        {
            if (ID_VERSIONAMIENTO == 0)
            {
                ID_VERSIONAMIENTO = AdicionarVersionamientoParaManualPorEmpresa(ID_EMPRESA, conexion);

                if (ID_VERSIONAMIENTO <= 0)
                {
                    ID_VERSIONAMIENTO = 0;
                    return(-1);
                }
            }

            if (AdicionarHistorialModificacionesHistorial(ID_EMPRESA, area.ToString(), campo, descripcionCampo, null, valor, accion.ToString(), ID_VERSIONAMIENTO, conexion) <= 0)
            {
                ID_VERSIONAMIENTO = 0;
                return(-1);
            }

            return(ID_VERSIONAMIENTO);
        }
Пример #2
0
        public Decimal CrearManualParaEmpresa(Decimal ID_EMPRESA, List <ManualServicio> listaAdicionales)
        {
            Decimal ID_VERSIONAMIENTO = 0;
            Decimal ID_ADICIONAL      = 0;
            Decimal ID_HISTORIAL      = 0;

            Boolean correcto   = true;
            Boolean verificado = true;

            Conexion conexion = new Conexion(Empresa);

            conexion.IniciarTransaccion();

            try
            {
                ID_VERSIONAMIENTO = AdicionarVersionamientoParaManualPorEmpresa(ID_EMPRESA, conexion);

                if (ID_VERSIONAMIENTO <= 0)
                {
                    correcto          = false;
                    ID_VERSIONAMIENTO = 0;
                    conexion.DeshacerTransaccion();
                }
                else
                {
                    DataTable tablaAdicionalesTodos = ObtenerAdicionalesPorEmpresaSinArea(ID_EMPRESA, conexion);
                    for (int i = 0; i < tablaAdicionalesTodos.Rows.Count; i++)
                    {
                        DataRow        FilaAdicional      = tablaAdicionalesTodos.Rows[i];
                        Decimal        ID_ADICIONAL_TABLA = Convert.ToDecimal(FilaAdicional["ID_ADICIONAL"]);
                        String         TITULO_TABLA       = FilaAdicional["TITULO"].ToString().Trim();
                        String         DESCRIPCION_TABLA  = FilaAdicional["DESCRIPCION"].ToString().Trim();
                        ListaSecciones AREA_TABLA         = (ListaSecciones)Enum.Parse(typeof(ListaSecciones), FilaAdicional["AREA"].ToString().Trim());

                        verificado = true;
                        foreach (ManualServicio adicional in listaAdicionales)
                        {
                            if (adicional.ID_ADICIONAL == ID_ADICIONAL_TABLA)
                            {
                                verificado = false;

                                if (ActualizarAdicional(adicional.ID_ADICIONAL, adicional.TITULO, adicional.DESCRIPCION, conexion) == false)
                                {
                                    conexion.DeshacerTransaccion();
                                    correcto          = false;
                                    ID_VERSIONAMIENTO = 0;
                                }

                                break;
                            }
                        }

                        if ((verificado == true) && (correcto == true))
                        {
                            if (DesactivarAdicionalPorId(ID_ADICIONAL_TABLA, conexion) == false)
                            {
                                conexion.DeshacerTransaccion();
                                correcto          = false;
                                ID_VERSIONAMIENTO = 0;
                                break;
                            }
                        }
                    }
                    foreach (ManualServicio adicional in listaAdicionales)
                    {
                        if (adicional.ID_ADICIONAL == 0)
                        {
                            ID_ADICIONAL = AdicionarAdicionalPorEmpresaYVersionamiento(ID_EMPRESA, adicional.AREA.ToString(), adicional.TITULO, adicional.DESCRIPCION, ID_VERSIONAMIENTO, conexion);
                            if (ID_ADICIONAL <= 0)
                            {
                                conexion.DeshacerTransaccion();
                                correcto          = false;
                                ID_VERSIONAMIENTO = 0;
                                break;
                            }
                        }
                    }

                    if (correcto == true)
                    {
                        ID_HISTORIAL = AdicionarHistorialModificacionesHistorial(ID_EMPRESA, ListaSecciones.General.ToString(), null, null, null, null, AccionesManual.Crear.ToString(), ID_VERSIONAMIENTO, conexion);

                        if (ID_HISTORIAL <= 0)
                        {
                            conexion.DeshacerTransaccion();
                            correcto          = false;
                            ID_VERSIONAMIENTO = 0;
                        }
                    }
                }

                if (correcto == true)
                {
                    conexion.AceptarTransaccion();
                }
            }
            catch (Exception ex)
            {
                MensajeError = ex.Message;
                conexion.DeshacerTransaccion();
                ID_VERSIONAMIENTO = 0;
            }
            finally
            {
                conexion.Desconectar();
            }

            return(ID_VERSIONAMIENTO);
        }
Пример #3
0
        public Boolean ActualizarManualParaEmpresa(Decimal ID_EMPRESA, List <ManualServicio> listaAdicionales)
        {
            Decimal ID_VERSIONAMIENTO = 0;
            Decimal ID_ADICIONAL      = 0;

            Boolean correcto   = true;
            Boolean verificado = true;

            Conexion conexion = new Conexion(Empresa);

            conexion.IniciarTransaccion();

            try
            {
                Dictionary <String, String> diccionarioCampos = new Dictionary <String, String>();
                diccionarioCampos.Add("TITULO", "Título");
                diccionarioCampos.Add("DESCRIPCION", "Descripción");
                DataTable tablaAdicionalesTodos = ObtenerAdicionalesPorEmpresaSinArea(ID_EMPRESA, conexion);

                for (int i = 0; i < tablaAdicionalesTodos.Rows.Count; i++)
                {
                    DataRow        FilaAdicional      = tablaAdicionalesTodos.Rows[i];
                    Decimal        ID_ADICIONAL_TABLA = Convert.ToDecimal(FilaAdicional["ID_ADICIONAL"]);
                    String         TITULO_TABLA       = FilaAdicional["TITULO"].ToString().Trim();
                    String         DESCRIPCION_TABLA  = FilaAdicional["DESCRIPCION"].ToString().Trim();
                    ListaSecciones AREA_TABLA         = (ListaSecciones)Enum.Parse(typeof(ListaSecciones), FilaAdicional["AREA"].ToString().Trim());

                    verificado = true;
                    foreach (ManualServicio adicional in listaAdicionales)
                    {
                        if (adicional.ID_ADICIONAL == ID_ADICIONAL_TABLA)
                        {
                            verificado = false;

                            DataTable tablaDatosAnteriores = ObtenerInfoRegistroTabla(diccionarioCampos, "oper_adicionales_manual", "ID_ADICIONAL", ID_ADICIONAL_TABLA.ToString(), conexion);

                            if (ActualizarAdicional(adicional.ID_ADICIONAL, adicional.TITULO, adicional.DESCRIPCION, conexion) == false)
                            {
                                conexion.DeshacerTransaccion();
                                correcto          = false;
                                ID_VERSIONAMIENTO = 0;
                                break;
                            }

                            DataTable tablaDatosNuevos = ObtenerInfoRegistroTabla(diccionarioCampos, "oper_adicionales_manual", "ID_ADICIONAL", ID_ADICIONAL_TABLA.ToString(), conexion);
                            ID_VERSIONAMIENTO = DeterminarYRegistrarModificacionesEnCampos(diccionarioCampos, tablaDatosAnteriores, tablaDatosNuevos, ID_VERSIONAMIENTO, ID_EMPRESA, AREA_TABLA, AccionesManual.Actualizar, conexion);
                            if (ID_VERSIONAMIENTO == -1)
                            {
                                conexion.DeshacerTransaccion();
                                correcto          = false;
                                ID_VERSIONAMIENTO = 0;
                                break;
                            }

                            break;
                        }
                    }

                    if ((verificado == true) && (correcto == true))
                    {
                        ID_VERSIONAMIENTO = RegistrarDesactivacionRegistroTabla(ID_EMPRESA, AREA_TABLA, AccionesManual.Eliminar, "ADICIONAL", "Descripción Adicional", TITULO_TABLA, ID_VERSIONAMIENTO, conexion);
                        if (ID_VERSIONAMIENTO == -1)
                        {
                            conexion.DeshacerTransaccion();
                            correcto          = false;
                            ID_VERSIONAMIENTO = 0;
                            break;
                        }
                        else
                        {
                            if (DesactivarAdicionalPorId(ID_ADICIONAL_TABLA, conexion) == false)
                            {
                                conexion.DeshacerTransaccion();
                                correcto          = false;
                                ID_VERSIONAMIENTO = 0;
                                break;
                            }
                        }
                    }
                }

                if (correcto == true)
                {
                    foreach (ManualServicio adicional in listaAdicionales)
                    {
                        if (adicional.ID_ADICIONAL == 0)
                        {
                            ID_VERSIONAMIENTO = RegistrarInsersionRegistroTabla(ID_VERSIONAMIENTO, adicional.AREA, "ADICIONAL", "Descripción Adicional", adicional.TITULO, AccionesManual.Insertar, adicional.ID_EMPRESA, conexion);
                            if (ID_VERSIONAMIENTO == -1)
                            {
                                conexion.DeshacerTransaccion();
                                correcto          = false;
                                ID_VERSIONAMIENTO = 0;
                                break;
                            }
                            else
                            {
                                ID_ADICIONAL = AdicionarAdicionalPorEmpresaYVersionamiento(ID_EMPRESA, adicional.AREA.ToString(), adicional.TITULO, adicional.DESCRIPCION, ID_VERSIONAMIENTO, conexion);
                                if (ID_ADICIONAL <= 0)
                                {
                                    conexion.DeshacerTransaccion();
                                    correcto          = false;
                                    ID_VERSIONAMIENTO = 0;
                                    break;
                                }
                            }
                        }
                    }
                }

                if (correcto == true)
                {
                    conexion.AceptarTransaccion();
                }
            }
            catch (Exception ex)
            {
                MensajeError = ex.Message;
                conexion.DeshacerTransaccion();
                correcto          = false;
                ID_VERSIONAMIENTO = 0;
            }
            finally
            {
                conexion.Desconectar();
            }

            return(correcto);
        }
Пример #4
0
        public Decimal DeterminarYRegistrarModificacionesEnCampos(Dictionary <String, String> diccionarioCampos, DataTable tablaDatosAnteriores, DataTable tablaDatosNuevos, Decimal ID_VERSIONAMIENTO, Decimal ID_EMPRESA, ListaSecciones area, AccionesManual accion, Conexion conexion)
        {
            DataRow filaDatoAnterior = tablaDatosAnteriores.Rows[0];
            DataRow filaDatoNuevo    = tablaDatosNuevos.Rows[0];

            foreach (KeyValuePair <String, String> campo in diccionarioCampos)
            {
                if (filaDatoAnterior[campo.Key].Equals(filaDatoNuevo[campo.Key]) == false)
                {
                    if (ID_VERSIONAMIENTO == 0)
                    {
                        ID_VERSIONAMIENTO = AdicionarVersionamientoParaManualPorEmpresa(ID_EMPRESA, conexion);

                        if (ID_VERSIONAMIENTO <= 0)
                        {
                            ID_VERSIONAMIENTO = 0;
                            return(-1);
                        }
                    }

                    if (AdicionarHistorialModificacionesHistorial(ID_EMPRESA, area.ToString(), campo.Key, campo.Value, filaDatoAnterior[campo.Key].ToString().Trim(), filaDatoNuevo[campo.Key].ToString().Trim(), accion.ToString(), ID_VERSIONAMIENTO, conexion) <= 0)
                    {
                        ID_VERSIONAMIENTO = 0;
                        return(-1);
                    }
                }
            }

            return(ID_VERSIONAMIENTO);
        }