protected void Button_INCLUIR_NUEVO_SERVICIO_Click(object sender, EventArgs e)
    {
        tools _tools = new tools();
        SecureQueryString QueryStringSeguro;
        QueryStringSeguro = new SecureQueryString(_tools.byteParaQueryStringSeguro(), Request["data"]);

        String ID_EMPRESA = QueryStringSeguro["reg"].ToString();

        if (GridView_DETALLES_NUEVO_SERVICIO.Rows.Count <= 0)
        {
            configurarMensajesNuevoServicio(true, System.Drawing.Color.Red);
            Label_MENSAJES_NUEVO_SERVICIO.Text = "ADVERTENCIA: Para poder incluir un servicio a la lista debe primero asignarle uno o más detalles.";
        }
        else
        {
            List<servicio> listaServicios = capturarListaServiciosDesdeSession();
            List<detalleServicio> listaDetallesServicio= capturarListaDetallesServicioDesdeSession();

            servicio _servicio = new servicio(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());
            Decimal ID_SERVICIO_POR_EMPRESA = 0;
            Decimal ID_SERVICIO = 0;
            String NOMBRE_SERVICIO = Label_NOMBRE_NUEVO_SERVICIO.Text.ToUpper();
            Decimal AIU = Convert.ToDecimal(Label_AIU_NUEVO_SERVICIO.Text);
            Decimal IVA = Convert.ToDecimal(Label_IVA_NUEVO_SERVICIO.Text);
            Decimal VALOR = Convert.ToDecimal(Label_TARIFA_NUEVO_SERVICIO.Text);
            String OBSERVACIONES = Label_OBSERVACIONES.Text.ToUpper();

            _servicio.ACCION = "INSERTAR";
            _servicio.AIU = AIU;
            _servicio.ID_SERVICIO_POR_EMPRESA = ID_SERVICIO_POR_EMPRESA;
            _servicio.ID_SERVICIO = 0;
            _servicio.IVA = IVA;
            _servicio.NOMBRE_SERVICIO = NOMBRE_SERVICIO;
            _servicio.VALOR = VALOR;
            _servicio.DESCRIPCION = OBSERVACIONES;
            listaServicios.Add(_servicio);

            Decimal ID_DETALLE;
            detalleServicio _detalleServicio;

            for (int i = 0; i < GridView_DETALLES_NUEVO_SERVICIO.Rows.Count; i++ )
            {
                ID_DETALLE = Convert.ToDecimal(GridView_DETALLES_NUEVO_SERVICIO.DataKeys[i].Values["ID_SERVICIO_COMPLEMENTARIO"]);

                _detalleServicio = new detalleServicio(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());

                _detalleServicio.ACCION = "INSERTAR";
                _detalleServicio.AIU = 0;
                _detalleServicio.ID_DETALLE_SERVICIO = 0;
                _detalleServicio.ID_SERVICIO = 0;
                _detalleServicio.ID_SERVICIO_COMPLEMENTARIO = ID_DETALLE;
                _detalleServicio.IVA = 0;
                _detalleServicio.NOMBRE_SERVICIO = NOMBRE_SERVICIO;
                _detalleServicio.VALOR = 0;
                listaDetallesServicio.Add(_detalleServicio);
            }

            DataTable tablaServiciosActuales = obtenerDataTableDeGridViewServiciosActules();

            DataRow filaTablaServiciosActuales = tablaServiciosActuales.NewRow();

            filaTablaServiciosActuales["ID_EMPRESA"] = ID_EMPRESA;
            filaTablaServiciosActuales["ID_SERVICIO"] = ID_SERVICIO;
            filaTablaServiciosActuales["ID_SERVICIO_POR_EMPRESA"] = ID_SERVICIO_POR_EMPRESA;
            filaTablaServiciosActuales["NOMBRE_SERVICIO"] = NOMBRE_SERVICIO;
            filaTablaServiciosActuales["AIU"] = AIU;
            filaTablaServiciosActuales["IVA"] = IVA;
            filaTablaServiciosActuales["VALOR"] = VALOR;
            filaTablaServiciosActuales["observaciones"] = OBSERVACIONES;

            tablaServiciosActuales.Rows.Add(filaTablaServiciosActuales);

            DataView DV = new DataView(tablaServiciosActuales, "", "NOMBRE_SERVICIO", DataViewRowState.CurrentRows);
            GridView_SERVICIOS_INCLUIDOS.DataSource = DV;
            GridView_SERVICIOS_INCLUIDOS.DataBind();

            configurarMensajesServiciosActuales(false, System.Drawing.Color.Green);

            Panel_GRID_SERVICIOS_ACTUALES.Visible = true;

            Panel_GRID_DETALLES_SERVICIO_SELECCIONADO.Visible = false;

            configurarSeccionDeNuevoServicio(false, false, false, false, false, false);

            Panel_BOTON_NUEVO_SERVICIO.Visible = true;
        }
    }
    private void activar_o_crear_servicio_en_lista_de_session()
    {
        tools _tools = new tools();
        SecureQueryString QueryStringSeguro;
        QueryStringSeguro = new SecureQueryString(_tools.byteParaQueryStringSeguro(), Request["data"].ToString());

        Decimal ID_EMPRESA = Convert.ToDecimal(QueryStringSeguro["reg"]);
        String ID_CIUDAD = null;
        Decimal ID_CENTRO_C = 0;
        Decimal ID_SUB_C = 0;

        try
        {
            ID_CIUDAD = QueryStringSeguro["codCiudad"].ToString();
        }
        catch
        {
            ID_CIUDAD = null;
        }

        try
        {
            ID_CENTRO_C = Convert.ToDecimal(QueryStringSeguro["codCC"]);
        }
        catch
        {
            ID_CENTRO_C = 0;
        }

        try
        {
            ID_SUB_C = Convert.ToDecimal(QueryStringSeguro["codSUBCC"]);
        }
        catch
        {
            ID_SUB_C = 0;
        }

        String NOMBRE_SERVICIO;

        if (ID_SUB_C != 0)
        {
            NOMBRE_SERVICIO = "EMPRESA_" + ID_EMPRESA.ToString() + "_SUBCC_" + ID_SUB_C.ToString();
        }
        else
        {
            if (ID_CENTRO_C != 0)
            {
                NOMBRE_SERVICIO = "EMPRESA_" + ID_EMPRESA.ToString() + "_CC_" + ID_CENTRO_C.ToString();
            }
            else
            {
                if ((ID_EMPRESA != 0) && (String.IsNullOrEmpty(ID_CIUDAD) == false))
                {
                    NOMBRE_SERVICIO = "EMPRESA_" + ID_EMPRESA.ToString() + "_CIUDAD_" + ID_CIUDAD;
                }
                else
                {
                    NOMBRE_SERVICIO = "EMPRESA_" + ID_EMPRESA.ToString();
                }
            }
        }

        List<servicio> listaServicio = capturarListaServiciosDesdeSession();

        if (listaServicio.Count <= 0)
        {
            servicio _servicio = new servicio(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());
            _servicio.ACCION = "INSERTAR";
            _servicio.AIU = 0;
            _servicio.DESCRIPCION = "Ninguno";
            _servicio.ID_SERVICIO = 0;
            _servicio.ID_SERVICIO_POR_EMPRESA = 0;
            _servicio.IVA = 0;
            _servicio.NOMBRE_SERVICIO = NOMBRE_SERVICIO;
            _servicio.VALOR = 0;

            listaServicio.Add(_servicio);
        }
        else
        {
            listaServicio[0].ACCION = "NINGUNA";
        }

        Session["listaServicios_" + ID_EMPRESA] = listaServicio;
    }
    private void cargarInformacionServiciosComplementariosDeUnaEntidad(DataTable tablaServicios, Boolean modificar, Boolean datosHeredados)
    {
        capturarVariablesGlogales();

        DataTable tablaServiciosCreada = new DataTable();

        tablaServiciosCreada.Columns.Add("ID_EMPRESA");
        tablaServiciosCreada.Columns.Add("ID_SERVICIO");
        tablaServiciosCreada.Columns.Add("ID_SERVICIO_POR_EMPRESA");
        tablaServiciosCreada.Columns.Add("NOMBRE_SERVICIO");
        tablaServiciosCreada.Columns.Add("AIU");
        tablaServiciosCreada.Columns.Add("IVA");
        tablaServiciosCreada.Columns.Add("VALOR");
        tablaServiciosCreada.Columns.Add("observaciones");

        List<servicio> listaServicios = capturarListaServiciosDesdeSession();
        List<detalleServicio> listaDetallesServicio = capturarListaDetallesServicioDesdeSession();
        servicio _servicio;
        detalleServicio _detalleServicio;

        detalleServicio _detalleServicioDelServicioSeleccionado = new detalleServicio(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());
        DataTable tablaDetallesServicioDelServicioSeleccionado;

        DataRow filaTablaServiciosCreada;
        foreach (DataRow servicio in tablaServicios.Rows)
        {
            filaTablaServiciosCreada = tablaServiciosCreada.NewRow();

            filaTablaServiciosCreada["ID_EMPRESA"] = servicio["ID_EMPRESA"];

            if (datosHeredados == true)
            {
                filaTablaServiciosCreada["ID_SERVICIO"] = 0;
                filaTablaServiciosCreada["ID_SERVICIO_POR_EMPRESA"] = 0;
            }
            else
            {
                filaTablaServiciosCreada["ID_SERVICIO"] = servicio["ID_SERVICIO"];
                filaTablaServiciosCreada["ID_SERVICIO_POR_EMPRESA"] = servicio["ID_SERVICIO_POR_EMPRESA"];
            }

            filaTablaServiciosCreada["NOMBRE_SERVICIO"] = servicio["NOMBRE_SERVICIO"];
            filaTablaServiciosCreada["AIU"] = servicio["AIU"];
            filaTablaServiciosCreada["IVA"] = servicio["IVA"];
            filaTablaServiciosCreada["VALOR"] = servicio["VALOR"];
            filaTablaServiciosCreada["observaciones"] = servicio["observaciones"];

            tablaServiciosCreada.Rows.Add(filaTablaServiciosCreada);

            _servicio = new servicio(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());

            if (datosHeredados == true)
            {
                _servicio.ACCION = "INSERTAR";
                _servicio.ID_SERVICIO_POR_EMPRESA = 0;
                _servicio.ID_SERVICIO = 0;
            }
            else
            {
                _servicio.ACCION = "NINGUNO";
                _servicio.ID_SERVICIO_POR_EMPRESA = Convert.ToDecimal(servicio["ID_SERVICIO_POR_EMPRESA"]);
                _servicio.ID_SERVICIO = Convert.ToDecimal(servicio["ID_SERVICIO"]);
            }

            _servicio.AIU = Convert.ToDecimal(servicio["AIU"]);
            _servicio.IVA = Convert.ToDecimal(servicio["IVA"]);
            _servicio.NOMBRE_SERVICIO = servicio["NOMBRE_SERVICIO"].ToString();
            _servicio.VALOR = Convert.ToDecimal(servicio["VALOR"]);
            _servicio.DESCRIPCION = servicio["observaciones"].ToString();

            listaServicios.Add(_servicio);

            tablaDetallesServicioDelServicioSeleccionado = _detalleServicioDelServicioSeleccionado.ObtenerDetalleServicioPorIdServicioActivos(Convert.ToDecimal(servicio["ID_SERVICIO"]));

            foreach (DataRow filaTablaDetallesServicio in tablaDetallesServicioDelServicioSeleccionado.Rows)
            {
                _detalleServicio = new detalleServicio(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());

                if (datosHeredados == true)
                {
                    _detalleServicio.ACCION = "INSERTAR";
                    _detalleServicio.ID_DETALLE_SERVICIO = 0;
                    _detalleServicio.ID_SERVICIO = 0;
                }
                else
                {
                    _detalleServicio.ACCION = "NINGUNO";
                    _detalleServicio.ID_DETALLE_SERVICIO = Convert.ToDecimal(filaTablaDetallesServicio["ID_DETALLE_SERVICIO"]);
                    _detalleServicio.ID_SERVICIO = Convert.ToDecimal(filaTablaDetallesServicio["ID_SERVICIO"]);
                }

                _detalleServicio.ID_SERVICIO_POR_EMPRESA = _servicio.ID_SERVICIO_POR_EMPRESA;
                _detalleServicio.AIU = Convert.ToDecimal(filaTablaDetallesServicio["AIU"]);
                _detalleServicio.ID_SERVICIO_COMPLEMENTARIO = Convert.ToDecimal(filaTablaDetallesServicio["ID_SERVICIO_COMPLEMENTARIO"]);
                _detalleServicio.IVA = Convert.ToDecimal(filaTablaDetallesServicio["IVA"]);
                _detalleServicio.NOMBRE_SERVICIO = filaTablaDetallesServicio["NOMBRE_SERVICIO"].ToString();
                _detalleServicio.VALOR = Convert.ToDecimal(filaTablaDetallesServicio["VALOR"]);

                listaDetallesServicio.Add(_detalleServicio);
            }
        }

        Session.Remove("listaServicios_" + ID_EMPRESA.ToString());
        Session.Add("listaServicios_" + ID_EMPRESA.ToString(),listaServicios);
        Session.Remove("listaDetallesServicio_" + ID_EMPRESA);
        Session.Add("listaDetallesServicio_" + ID_EMPRESA.ToString(), listaDetallesServicio);

        if (modificar == false)
        {
            GridView_SERVICIOS_INCLUIDOS.Columns[0].Visible = false;
        }

        GridView_SERVICIOS_INCLUIDOS.DataSource = tablaServiciosCreada;
        GridView_SERVICIOS_INCLUIDOS.DataBind();

        Panel_SECCION_SERVICIOS.Visible = true;
        Panel_SERVICIOS_ACTUALES_GENERAL.Visible = true;
        configurarMensajesServiciosActuales(false, System.Drawing.Color.Red);
        Panel_GRID_SERVICIOS_ACTUALES.Visible = true;
        Panel_GRID_DETALLES_SERVICIO_SELECCIONADO.Visible = false;

        if (modificar == false)
        {
            Panel_BOTON_NUEVO_SERVICIO.Visible = false;
        }
        else
        {
            Panel_BOTON_NUEVO_SERVICIO.Visible = true;
        }

        configurarSeccionDeNuevoServicio(false, false, false, false, false, false);
    }
    protected void Button_EMPEZAR_CONFIGURACION_Click(object sender, EventArgs e)
    {
        Decimal ID_EMPRESA = Convert.ToDecimal(HiddenField_ID_EMPRESA.Value);
        Decimal ID_PERFIL = Convert.ToDecimal(HiddenField_ID_PERFIL.Value);

        Boolean verificador = true;
        verificador = determinarIDsSubCCentrosCCiudad();

        if (verificador == true)
        {
            servicio _servicio = new servicio(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());
            DataTable tablaServiciosComplementariosAsociados;

            condicionesContratacion _condicionesContratacion = new condicionesContratacion(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());
            DataTable tablaCondicionContratacion;

            condicionComercial _condicionComercial = new condicionComercial(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());
            DataTable tablaCondicionComercial;

            tablaCondicionContratacion = _condicionesContratacion.ObtenerCondicionContratacionPorUbicacion(ID_PERFIL, GLO_ID_CIUDAD, GLO_ID_CENTRO_C, GLO_ID_SUB_C, GLO_ID_SERVICIO);
            tablaServiciosComplementariosAsociados = _servicio.ObtenerServiciosComplementariosPorUbicacion(GLO_ID_CIUDAD, GLO_ID_CENTRO_C, GLO_ID_SUB_C, GLO_ID_SERVICIO);

            if (tablaCondicionContratacion.Rows.Count > 0)
            {
                Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP, Panel_MENSAJES, Label_MENSAJE, "La UBICACIÓN, PERFIL Y/Ó SERVICIO seleccionado YA POSEE CONDICIONES DE CONTRATACIÓN configuradas.", Proceso.Advertencia);
            }
            else
            {
                tablaCondicionComercial = _condicionComercial.ObtenerCondicionesEconomicasPorId(ID_EMPRESA, GLO_ID_CIUDAD, GLO_ID_CENTRO_C, GLO_ID_SUB_C);

                if (tablaCondicionComercial.Rows.Count <= 0)
                {
                    EnviarCorreoAComercial();
                }

                Ocultar(Acciones.Inicio);
                Desactivar(Acciones.Inicio);
                Mostrar(Acciones.NuevaCondicionSegundaParte);
                Activar(Acciones.NuevaCondicionSegundaParte);

                CargarInterfazNuevaCondicionSegundaParte(tablaServiciosComplementariosAsociados);
            }
        }
        else
        {
            Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP, Panel_MENSAJES, Label_MENSAJE, "Debe seleccionar por lo mínimo una ciudad, para aplicar nuevas condiciones.", Proceso.Advertencia);
        }
    }
    private void cargarInformacionServiciosComplementariosEspecificos(DataTable tablaServicios, Boolean datosHeredados)
    {
        tools _tools = new tools();
        SecureQueryString QueryStringSeguro;
        QueryStringSeguro = new SecureQueryString(_tools.byteParaQueryStringSeguro(), Request["data"]);

        Decimal ID_EMPRESA = Convert.ToDecimal(QueryStringSeguro["reg"]);
        String ID_CIUDAD = null;
        Decimal ID_CENTRO_C = 0;
        Decimal ID_SUB_C = 0;

        try
        {
            ID_CIUDAD = QueryStringSeguro["codCiudad"].ToString();
        }
        catch
        {
            ID_CIUDAD = null;
        }

        try
        {
            ID_CENTRO_C = Convert.ToDecimal(QueryStringSeguro["codCC"]);
        }
        catch
        {
            ID_CENTRO_C = 0;
        }

        try
        {
            ID_SUB_C = Convert.ToDecimal(QueryStringSeguro["codSUBCC"]);
        }
        catch
        {
            ID_SUB_C = 0;
        }

        cargar_DropDownList_SERVICIOS_COMPLEMENTARIOS();
        cargar_DropDownList_CONFIGURACION();
        limpiarTextBoxServicioAdicionar();

        List<servicio> listaServicios = new List<servicio>();
        List<detalleServicio> listaDetallesServicio = new List<detalleServicio>();
        servicio _servicioParaLista;
        detalleServicio _detalleServicioParaLista;

        Decimal ID_SERVICIO = 0;
        Decimal ID_SERVICIO_POR_EMPRESA = 0;

        String NOMBRE_SERVICIO;

        if (ID_SUB_C != 0)
        {
            NOMBRE_SERVICIO = "EMPRESA_" + ID_EMPRESA.ToString() + "_SUBCC_" + ID_SUB_C.ToString();
        }
        else
        {
            if (ID_CENTRO_C != 0)
            {
                NOMBRE_SERVICIO = "EMPRESA_" + ID_EMPRESA.ToString() + "_CC_" + ID_CENTRO_C.ToString();
            }
            else
            {
                if ((ID_EMPRESA != 0) && (String.IsNullOrEmpty(ID_CIUDAD) == false))
                {
                    NOMBRE_SERVICIO = "EMPRESA_" + ID_EMPRESA.ToString() + "_CIUDAD_" + ID_CIUDAD;
                }
                else
                {
                    NOMBRE_SERVICIO = "EMPRESA_" + ID_EMPRESA.ToString();
                }
            }
        }

        if (tablaServicios.Rows.Count > 0)
        {
            DataRow servicioDefault = tablaServicios.Rows[0];

            _servicioParaLista = new servicio(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());

            if (datosHeredados == true)
            {
                _servicioParaLista.ACCION = "INSERTAR";
                _servicioParaLista.AIU = 0;
                _servicioParaLista.DESCRIPCION = "Ninguno";
                _servicioParaLista.ID_SERVICIO = 0;
                _servicioParaLista.ID_SERVICIO_POR_EMPRESA = 0;
                _servicioParaLista.IVA = 0;
                _servicioParaLista.NOMBRE_SERVICIO = NOMBRE_SERVICIO;
                _servicioParaLista.VALOR = 0;

                ID_SERVICIO = 0;
                ID_SERVICIO_POR_EMPRESA = 0;
            }
            else
            {
                _servicioParaLista.ACCION = "NINGUNA";
                _servicioParaLista.AIU = Convert.ToDecimal(servicioDefault["AIU"]);
                _servicioParaLista.DESCRIPCION = servicioDefault["observaciones"].ToString().Trim();
                _servicioParaLista.ID_SERVICIO = Convert.ToDecimal(servicioDefault["ID_SERVICIO"]);
                _servicioParaLista.ID_SERVICIO_POR_EMPRESA = Convert.ToDecimal(servicioDefault["ID_SERVICIO_POR_EMPRESA"]);
                _servicioParaLista.IVA = Convert.ToDecimal(servicioDefault["IVA"]);
                _servicioParaLista.NOMBRE_SERVICIO = servicioDefault["NOMBRE_SERVICIO"].ToString().Trim();
                _servicioParaLista.VALOR = Convert.ToDecimal(servicioDefault["VALOR"]);

                ID_SERVICIO = Convert.ToDecimal(servicioDefault["ID_SERVICIO"]);
                ID_SERVICIO_POR_EMPRESA = Convert.ToDecimal(servicioDefault["ID_SERVICIO_POR_EMPRESA"]);
                NOMBRE_SERVICIO = servicioDefault["NOMBRE_SERVICIO"].ToString().Trim();
            }

            listaServicios.Add(_servicioParaLista);

            detalleServicio _detalleServicio = new detalleServicio(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());
            DataTable tablaDetallesServicioOriginal = _detalleServicio.ObtenerDetalleServicioPorIdServicioActivos(Convert.ToDecimal(servicioDefault["ID_SERVICIO"]));

            DataTable tablaDetallesServicioCreada = new DataTable();
            tablaDetallesServicioCreada.Columns.Add("ID_DETALLE_SERVICIO");
            tablaDetallesServicioCreada.Columns.Add("ID_SERVICIO");
            tablaDetallesServicioCreada.Columns.Add("NOMBRE_SERVICIO");
            tablaDetallesServicioCreada.Columns.Add("ID_SERVICIO_COMPLEMENTARIO");
            tablaDetallesServicioCreada.Columns.Add("NOMBRE_SERVICIO_COMPLEMENTARIO");
            tablaDetallesServicioCreada.Columns.Add("AIU");
            tablaDetallesServicioCreada.Columns.Add("IVA");
            tablaDetallesServicioCreada.Columns.Add("VALOR");

            DataRow filaDetalleServicioCreado;
            foreach (DataRow filaDetalleServicioOriginal in tablaDetallesServicioOriginal.Rows)
            {
                filaDetalleServicioCreado = tablaDetallesServicioCreada.NewRow();
                _detalleServicioParaLista = new detalleServicio(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());

                if (datosHeredados == true)
                {
                    _detalleServicioParaLista.ACCION = "INSERTAR";
                    _detalleServicioParaLista.ID_DETALLE_SERVICIO = 0;
                    filaDetalleServicioCreado["ID_DETALLE_SERVICIO"] = 0;
                }
                else
                {
                    _detalleServicioParaLista.ACCION = "NINGUNA";
                    _detalleServicioParaLista.ID_DETALLE_SERVICIO = Convert.ToDecimal(filaDetalleServicioOriginal["ID_DETALLE_SERVICIO"]);
                    filaDetalleServicioCreado["ID_DETALLE_SERVICIO"] = filaDetalleServicioOriginal["ID_DETALLE_SERVICIO"];
                }
                _detalleServicioParaLista.AIU = Convert.ToDecimal(filaDetalleServicioOriginal["AIU"]);
                _detalleServicioParaLista.ID_SERVICIO = ID_SERVICIO;
                _detalleServicioParaLista.ID_SERVICIO_COMPLEMENTARIO = Convert.ToDecimal(filaDetalleServicioOriginal["ID_SERVICIO_COMPLEMENTARIO"]);
                _detalleServicioParaLista.ID_SERVICIO_POR_EMPRESA = ID_SERVICIO_POR_EMPRESA;
                _detalleServicioParaLista.IVA = Convert.ToDecimal(filaDetalleServicioOriginal["IVA"]);
                _detalleServicioParaLista.NOMBRE_SERVICIO = NOMBRE_SERVICIO;
                _detalleServicioParaLista.VALOR = Convert.ToDecimal(filaDetalleServicioOriginal["VALOR"]);

                filaDetalleServicioCreado["ID_SERVICIO"] = ID_SERVICIO;
                filaDetalleServicioCreado["NOMBRE_SERVICIO"] = NOMBRE_SERVICIO;
                filaDetalleServicioCreado["ID_SERVICIO_COMPLEMENTARIO"] = filaDetalleServicioOriginal["ID_SERVICIO_COMPLEMENTARIO"];
                filaDetalleServicioCreado["NOMBRE_SERVICIO_COMPLEMENTARIO"] = filaDetalleServicioOriginal["NOMBRE_SERVICIO_COMPLEMENTARIO"];
                filaDetalleServicioCreado["AIU"] = filaDetalleServicioOriginal["AIU"];
                filaDetalleServicioCreado["IVA"] = filaDetalleServicioOriginal["IVA"];
                filaDetalleServicioCreado["VALOR"] = filaDetalleServicioOriginal["VALOR"];

                tablaDetallesServicioCreada.Rows.Add(filaDetalleServicioCreado);
                listaDetallesServicio.Add(_detalleServicioParaLista);
            }

            GridView_SERVICIOS_INCLUIDOS.DataSource = tablaDetallesServicioCreada;
            GridView_SERVICIOS_INCLUIDOS.DataBind();

            Session.Remove("listaServicios_" + ID_EMPRESA.ToString());
            Session.Add("listaServicios_" + ID_EMPRESA.ToString(), listaServicios);
            Session.Remove("listaDetallesServicio_" + ID_EMPRESA.ToString());
            Session.Add("listaDetallesServicio_" + ID_EMPRESA.ToString(), listaDetallesServicio);
        }
    }
    private void Cargar(Decimal REGISTRO_VEN_P_CONTRATACION)
    {
        HiddenField_REGISTRO_VEN_P_CONTRATACION.Value = REGISTRO_VEN_P_CONTRATACION.ToString();

        Decimal ID_EMPRESA = Convert.ToDecimal(HiddenField_ID_EMPRESA.Value);
        Decimal ID_PERFIL = Convert.ToDecimal(HiddenField_ID_PERFIL.Value);

        condicionesContratacion _condicionesContratacion = new condicionesContratacion(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());

        DataTable TablaInfoCondicionContratacion = _condicionesContratacion.ObtenerCondicionContratacionPorRegistro(REGISTRO_VEN_P_CONTRATACION);
        DataRow filaInfoCondicionContratacion = TablaInfoCondicionContratacion.Rows[0];

        DeterminarIDsSubCCentrosCCiudadDesdeDataRow(filaInfoCondicionContratacion);

        CargarInformacionPerfilSeleccionado(ID_PERFIL);

        CargarDropsCiudadCCSubCYServico(filaInfoCondicionContratacion);

        CargarDatosControlRegistro(filaInfoCondicionContratacion);

        CargarRiesgoDocumentosyRequerimientos(filaInfoCondicionContratacion);

        servicio _servicio = new servicio(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());
        DataTable tablaServiciosComplementariosAsociados = _servicio.ObtenerServiciosComplementariosPorUbicacion(GLO_ID_CIUDAD, GLO_ID_CENTRO_C, GLO_ID_SUB_C, GLO_ID_SERVICIO);

        if (ExisteServicioExameneszMedicos(tablaServiciosComplementariosAsociados) > 0)
        {
            HiddenField_ServicioExamenesMedicos.Value = "SI";
            HiddenField_ID_PARA_SABER_ID_DE_EXAMENES_MEDICOS.Value = ExisteServicioExameneszMedicos(tablaServiciosComplementariosAsociados).ToString();
        }
        else
        {
            HiddenField_ServicioExamenesMedicos.Value = "NO";
            HiddenField_ID_PARA_SABER_ID_DE_EXAMENES_MEDICOS.Value = "";
        }

        DataTable tablaInfoImplementosParametrizados = _condicionesContratacion.obtenerImplementosOExamenesActivosPorRegistroVenPContratacionYTipo(REGISTRO_VEN_P_CONTRATACION, TiposServicioComplementarios.IMPLEMENTOS.ToString());
        DataTable tablaInfoExamenesParametrizados = _condicionesContratacion.obtenerImplementosOExamenesActivosPorRegistroVenPContratacionYTipo(REGISTRO_VEN_P_CONTRATACION, TiposServicioComplementarios.EXAMENES_MEDICOS.ToString());

        DataTable tablaParaGrillaImplementos = GetTablaParaGrillaImplementosDesdeTabla(tablaInfoImplementosParametrizados);
        CargarGridView_ImplementosDesdeTabla(tablaParaGrillaImplementos);
        inhabilitarFilasGrilla(GridView_ImplementosParametrizados, 2);
        AjustarEstadoValidadoresGrillaImplementos(GridView_ImplementosParametrizados);
        if (tablaParaGrillaImplementos.Rows.Count <= 0)
        {
            Panel_LISTA_IMPLEMENTOS_SELECCIONADOS.Visible = false;
        }

        DataTable tablaExamenesConfigurada = GetTablaParaGrillaExamenesMedicosDesdetabla(tablaInfoExamenesParametrizados);
        Cargar_GridView_ExamenesMedicosDesdeTabla(tablaExamenesConfigurada);
        inhabilitarFilasGrilla(GridView_ExamenesParametrizados, 2);
        if (tablaExamenesConfigurada.Rows.Count <= 0)
        {
            Panel_EXAMENES_SELECCIONADOS.Visible = false;
        }
    }
    private void Cargar_DropDownList_Implementos(DropDownList drop)
    {
        Decimal ID_EMPRESA = Convert.ToDecimal(HiddenField_ID_EMPRESA.Value);

        DeterminarIDsSubCCentrosCCiudadDesdeDrops();

        servicio _servicio = new servicio(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());
        DataTable tablaServiciosComplementariosAsociados;

        tablaServiciosComplementariosAsociados = _servicio.ObtenerServiciosComplementariosPorUbicacion(GLO_ID_CIUDAD, GLO_ID_CENTRO_C, GLO_ID_SUB_C, GLO_ID_SERVICIO);

        drop.Items.Clear();

        System.Web.UI.WebControls.ListItem item = new System.Web.UI.WebControls.ListItem("Seleccione...", "");
        drop.Items.Add(item);

        foreach (DataRow fila in tablaServiciosComplementariosAsociados.Rows)
        {
            Boolean excluir = false;

            foreach (String nombre in listaExclusionImplementos)
            {
                excluir = false;

                if (fila["NOMBRE_SERVICIO_COMPLEMENTARIO"].ToString().Trim() == nombre)
                {
                    excluir = true;
                    break;
                }
            }

            if (excluir == false)
            {
                item = new System.Web.UI.WebControls.ListItem(fila["NOMBRE_SERVICIO_COMPLEMENTARIO"].ToString(), fila["ID_SERVICIO_COMPLEMENTARIO"].ToString());
                drop.Items.Add(item);
            }
        }
        drop.DataBind();
    }
    private void Cargar(Acciones accion)
    {
        switch (accion)
        {
            case Acciones.Inicio:
                Page.Header.Title = "CONDICIONES DE CONTRATACIÓN";

                CargarInformacionEmpresa();

                configurarCaracteresAceptadosBusqueda(true, true);

                iniciar_seccion_de_busqueda();

                HiddenField_ID_PERFIL.Value = "";
                HiddenField_REGISTRO_VEN_P_CONTRATACION.Value = "";
                HiddenField_TIPO_BUSQUEDA_ACTUAL.Value = "SIN_FILTRO";
                HiddenField_FILTRO_DROP.Value = String.Empty;
                HiddenField_FILTRO_DATO.Value = String.Empty;
                HiddenField_ACCION_GRILLA_IMPLEMENTOS.Value = AccionesGrilla.Ninguna.ToString();
                HiddenField_ACCION_GRILLA_EXAMENES.Value = AccionesGrilla.Ninguna.ToString();

                HiddenField_GridPagina.Value = "0";

                Cargar_GridViewPerfiles();

                break;
            case Acciones.NuevaCondicion:
                Cargar_DropDownList_CIUDAD(Convert.ToDecimal(HiddenField_ID_EMPRESA.Value));
                Cargar_DropDownListVacio(DropDownList_CENTRO_COSTO);
                Cargar_DropDownListVacio(DropDownList_SUB_CENTRO);
                Cargar_DropDownListVacio(DropDownList_SERVICIO);
                break;
            case Acciones.ModificarCondicion:

                DeterminarIDsSubCCentrosCCiudadDesdeDrops();

                servicio _servicio = new servicio(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());
                DataTable tablaServiciosComplementariosAsociados = _servicio.ObtenerServiciosComplementariosPorUbicacion(GLO_ID_CIUDAD, GLO_ID_CENTRO_C, GLO_ID_SUB_C, GLO_ID_SERVICIO);

                if (ExisteServicioExameneszMedicos(tablaServiciosComplementariosAsociados) > 0)
                {
                    HiddenField_ServicioExamenesMedicos.Value = "SI";
                    HiddenField_ID_PARA_SABER_ID_DE_EXAMENES_MEDICOS.Value = ExisteServicioExameneszMedicos(tablaServiciosComplementariosAsociados).ToString();

                    Panel_SERVICIOS_COMPLEMENTARIOS.Visible = true;

                    PanelInfoNoConfExamenesMedicos.Visible = false;

                    Panel_EXAMENES_SELECCIONADOS.Visible = true;
                    Panel_BotonesExamenesMedicos.Visible = true;
                    Button_NuevoExamen.Visible = true;
                }
                else
                {
                    HiddenField_ServicioExamenesMedicos.Value = "NO";
                    HiddenField_ID_PARA_SABER_ID_DE_EXAMENES_MEDICOS.Value = "";

                    PanelInfoNoConfExamenesMedicos.Visible = true;

                    Panel_EXAMENES_SELECCIONADOS.Visible = false;
                }

                if (TotalServiciosComplementariosAptosParaImplementos(tablaServiciosComplementariosAsociados) <= 0)
                {
                    Panel_InfoNoConfImplementos.Visible = true;

                    Panel_LISTA_IMPLEMENTOS_SELECCIONADOS.Visible = false;
                    Panel_BotonesImplementos.Visible = false;
                    Button_NuevoImplemento.Visible = false;
                    Button_GuardarImplemento.Visible = false;
                    Button_CancelarImplemento.Visible = false;

                    GridView_ImplementosParametrizados.DataSource = null;
                    GridView_ImplementosParametrizados.DataBind();
                }
                else
                {
                    Panel_InfoNoConfImplementos.Visible = false;

                    Panel_LISTA_IMPLEMENTOS_SELECCIONADOS.Visible = true;
                    Panel_BotonesImplementos.Visible = true;
                    Button_NuevoImplemento.Visible = true;
                }
                break;
        }
    }
    private void adicionar_servicio_a_lista_session(DataRow infoServicio)
    {
        tools _tools = new tools();
        SecureQueryString QueryStringSeguro;
        QueryStringSeguro = new SecureQueryString(_tools.byteParaQueryStringSeguro(), Request["data"].ToString());

        Decimal ID_EMPRESA = Convert.ToDecimal(QueryStringSeguro["reg"]);

        List<servicio> listaServicios = capturarListaServiciosDesdeSession();

        servicio _servicio = new servicio(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());

        _servicio.ACCION = "NINGUNA";
        _servicio.AIU = Convert.ToDecimal(infoServicio["AIU"]);
        _servicio.DESCRIPCION = infoServicio["observaciones"].ToString().Trim();
        _servicio.ID_SERVICIO = Convert.ToDecimal(infoServicio["ID_SERVICIO"]);
        _servicio.ID_SERVICIO_POR_EMPRESA = Convert.ToDecimal(infoServicio["ID_SERVICIO_POR_EMPRESA"]);
        _servicio.IVA = Convert.ToDecimal(infoServicio["IVA"]);
        _servicio.NOMBRE_SERVICIO = infoServicio["NOMBRE_SERVICIO"].ToString().Trim();
        _servicio.VALOR = Convert.ToDecimal(infoServicio["VALOR"]);

        listaServicios.Add(_servicio);

        Session["listaServicios_" + ID_EMPRESA.ToString()] = listaServicios;
    }
    private void activar_o_crear_servicio_en_lista_de_session()
    {
        tools _tools = new tools();
        SecureQueryString QueryStringSeguro;
        QueryStringSeguro = new SecureQueryString(_tools.byteParaQueryStringSeguro(), Request["data"].ToString());

        Decimal ID_EMPRESA = Convert.ToDecimal(QueryStringSeguro["reg"]);

        List<servicio> listaServicio = capturarListaServiciosDesdeSession();

        if (listaServicio.Count <= 0)
        {
            servicio _servicio = new servicio(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());
            _servicio.ACCION = "INSERTAR";
            _servicio.AIU = 0;
            _servicio.DESCRIPCION = "Ninguno";
            _servicio.ID_SERVICIO = 0;
            _servicio.ID_SERVICIO_POR_EMPRESA = 0;
            _servicio.IVA = 0;
            _servicio.NOMBRE_SERVICIO = ID_EMPRESA.ToString();
            _servicio.VALOR = 0;

            listaServicio.Add(_servicio);
        }
        else
        {
            listaServicio[0].ACCION = "NINGUNA";
        }

        Session["listaServicios_" + ID_EMPRESA] = listaServicio;
    }
    private void cargarInformacionServiciosComplementariosDeUnaEmpresa(DataTable tablaServicios, Boolean modificar)
    {
        tools _tools = new tools();
        SecureQueryString QueryStringSeguro;
        QueryStringSeguro = new SecureQueryString(_tools.byteParaQueryStringSeguro(), Request["data"].ToString());

        Decimal ID_EMPRESA = Convert.ToDecimal(QueryStringSeguro["reg"]);

        cargar_DropDownList_SERVICIOS_COMPLEMENTARIOS();
        cargar_DropDownList_CONFIGURACION();
        limpiarTextBoxServicioAdicionar();

        List<servicio> listaServicios = new List<servicio>();
        List<detalleServicio> listaDetallesServicio = new List<detalleServicio>();
        servicio _servicioParaLista;
        detalleServicio _detalleServicioParaLista;

        if (tablaServicios.Rows.Count > 0)
        {
            DataRow servicioDefault = tablaServicios.Rows[0];
            _servicioParaLista = new servicio(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());

            Decimal ID_SERVICIO_POR_EMPRESA = Convert.ToDecimal(servicioDefault["ID_SERVICIO_POR_EMPRESA"]);

            _servicioParaLista.ACCION = "NINGUNA";
            _servicioParaLista.AIU = Convert.ToDecimal(servicioDefault["AIU"]);
            _servicioParaLista.DESCRIPCION = servicioDefault["observaciones"].ToString().Trim();
            _servicioParaLista.ID_SERVICIO = Convert.ToDecimal(servicioDefault["ID_SERVICIO"]);
            _servicioParaLista.ID_SERVICIO_POR_EMPRESA = Convert.ToDecimal(servicioDefault["ID_SERVICIO_POR_EMPRESA"]);
            _servicioParaLista.IVA = Convert.ToDecimal(servicioDefault["IVA"]);
            _servicioParaLista.NOMBRE_SERVICIO = servicioDefault["NOMBRE_SERVICIO"].ToString().Trim();
            _servicioParaLista.VALOR = Convert.ToDecimal(servicioDefault["VALOR"]);

            listaServicios.Add(_servicioParaLista);

            detalleServicio _detalleServicio = new detalleServicio(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());
            DataTable tablaDetallesServicioOriginal = _detalleServicio.ObtenerDetalleServicioPorIdServicioActivos(Convert.ToDecimal(servicioDefault["ID_SERVICIO"]));

            DataTable tablaDetallesServicioCreada = new DataTable();
            tablaDetallesServicioCreada.Columns.Add("ID_DETALLE_SERVICIO");
            tablaDetallesServicioCreada.Columns.Add("ID_SERVICIO");
            tablaDetallesServicioCreada.Columns.Add("NOMBRE_SERVICIO");
            tablaDetallesServicioCreada.Columns.Add("ID_SERVICIO_COMPLEMENTARIO");
            tablaDetallesServicioCreada.Columns.Add("NOMBRE_SERVICIO_COMPLEMENTARIO");
            tablaDetallesServicioCreada.Columns.Add("AIU");
            tablaDetallesServicioCreada.Columns.Add("IVA");
            tablaDetallesServicioCreada.Columns.Add("VALOR");

            DataRow filaDetalleServicioCreado;
            foreach (DataRow filaDetalleServicioOriginal in tablaDetallesServicioOriginal.Rows)
            {
                _detalleServicioParaLista = new detalleServicio(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());

                filaDetalleServicioCreado = tablaDetallesServicioCreada.NewRow();

                _detalleServicioParaLista.ACCION = "NINGUNA";
                _detalleServicioParaLista.AIU = Convert.ToDecimal(filaDetalleServicioOriginal["AIU"]);
                _detalleServicioParaLista.ID_DETALLE_SERVICIO = Convert.ToDecimal(filaDetalleServicioOriginal["ID_DETALLE_SERVICIO"]);
                _detalleServicioParaLista.ID_SERVICIO = Convert.ToDecimal(filaDetalleServicioOriginal["ID_SERVICIO"]);
                _detalleServicioParaLista.ID_SERVICIO_COMPLEMENTARIO = Convert.ToDecimal(filaDetalleServicioOriginal["ID_SERVICIO_COMPLEMENTARIO"]);
                _detalleServicioParaLista.ID_SERVICIO_POR_EMPRESA = ID_SERVICIO_POR_EMPRESA;
                _detalleServicioParaLista.IVA = Convert.ToDecimal(filaDetalleServicioOriginal["IVA"]);
                _detalleServicioParaLista.NOMBRE_SERVICIO = filaDetalleServicioOriginal["NOMBRE_SERVICIO"].ToString().Trim();
                _detalleServicioParaLista.VALOR = Convert.ToDecimal(filaDetalleServicioOriginal["VALOR"]);

                filaDetalleServicioCreado["ID_DETALLE_SERVICIO"] = filaDetalleServicioOriginal["ID_DETALLE_SERVICIO"];
                filaDetalleServicioCreado["ID_SERVICIO"] = filaDetalleServicioOriginal["ID_SERVICIO"];
                filaDetalleServicioCreado["NOMBRE_SERVICIO"] = filaDetalleServicioOriginal["NOMBRE_SERVICIO"];
                filaDetalleServicioCreado["ID_SERVICIO_COMPLEMENTARIO"] = filaDetalleServicioOriginal["ID_SERVICIO_COMPLEMENTARIO"];
                filaDetalleServicioCreado["NOMBRE_SERVICIO_COMPLEMENTARIO"] = filaDetalleServicioOriginal["NOMBRE_SERVICIO_COMPLEMENTARIO"];
                filaDetalleServicioCreado["AIU"] = filaDetalleServicioOriginal["AIU"];
                filaDetalleServicioCreado["IVA"] = filaDetalleServicioOriginal["IVA"];
                filaDetalleServicioCreado["VALOR"] = filaDetalleServicioOriginal["VALOR"];

                tablaDetallesServicioCreada.Rows.Add(filaDetalleServicioCreado);
                listaDetallesServicio.Add(_detalleServicioParaLista);
            }

            GridView_SERVICIOS_INCLUIDOS.DataSource = tablaDetallesServicioCreada;
            GridView_SERVICIOS_INCLUIDOS.DataBind();

            if (modificar == false)
            {
                GridView_SERVICIOS_INCLUIDOS.Columns[0].Visible = false;
            }
        }

        if (modificar == true)
        {
            Panel_SERVICIOS_COMPLEMENTARIOS_ADICIONAR.Visible = true;
        }
        else
        {
            Panel_SERVICIOS_COMPLEMENTARIOS_ADICIONAR.Visible = false;
        }

        Session.Remove("listaServicios_" + ID_EMPRESA.ToString());
        Session.Add("listaServicios_" + ID_EMPRESA.ToString(), listaServicios);
        Session.Remove("listaDetallesServicio_" + ID_EMPRESA.ToString());
        Session.Add("listaDetallesServicio_" + ID_EMPRESA.ToString(), listaDetallesServicio);
    }
コード例 #12
0
        public void validarLista(List<servicio> servicios, List<detalleServicio> detalleServicios, Decimal ID_EMPRESA, String ID_CIUDAD, Decimal ID_CENTRO_C, Decimal ID_SUB_C, Conexion datos)
        {
            Decimal idServicio = 0;
            Decimal idServicioPorEmpresa = 0;
            Decimal idDetalleServicio = 0;
            servicio servicio = new servicio(Empresa, Usuario);
            detalleServicio detalleservicio = new detalleServicio(Empresa, Usuario);

            foreach (servicio ser in servicios)
            {
                if (ser.ACCION.Equals("INSERTAR"))
                {
                    idServicio = ser.AdicionarServicio(ser.NOMBRE_SERVICIO, ser.AIU, ser.IVA, ser.VALOR, ser.DESCRIPCION, datos);

                    for (int i = 0; i < detalleServicios.Count; i++)
                    {
                        if (detalleServicios[i].NOMBRE_SERVICIO.Equals(ser.NOMBRE_SERVICIO))
                        {
                            detalleServicios[i].ID_SERVICIO = idServicio;
                        }
                    }
                    idServicioPorEmpresa = AdicionarServiciosPorEmpresa(idServicio, ID_EMPRESA, ID_CIUDAD, ID_CENTRO_C, ID_SUB_C, "S", datos);
                }
                if (ser.ACCION.Equals("NINGUNA"))
                {
                    servicio.ActualizarServicio(ser.ID_SERVICIO, ser.NOMBRE_SERVICIO, ser.AIU, ser.IVA, ser.VALOR, ser.DESCRIPCION, datos);
                }
                if (ser.ACCION.Equals("DESACTIVAR"))
                {
                    idServicioPorEmpresa = ObtenerServiciosPorEmpresaPorIdEmpresaIdServicio(ID_EMPRESA, ser.ID_SERVICIO, datos);
                    ActualizarServiciosPorEmpresa(idServicioPorEmpresa, ser.ID_SERVICIO, ID_EMPRESA, ID_CIUDAD, ID_CENTRO_C, ID_SUB_C, "N", datos);
                }
            }
            foreach (detalleServicio dSer in detalleServicios)
            {
                if (dSer.ACCION.Equals("INSERTAR"))
                {
                    detalleservicio.AdicionarDetalleServicio(dSer.ID_SERVICIO, dSer.ID_SERVICIO_COMPLEMENTARIO, dSer.AIU, dSer.IVA, dSer.VALOR, datos);
                }
                if (dSer.ACCION.Equals("DESACTIVAR"))
                {
                    idDetalleServicio = dSer.ObtenerDetalleServicioPorIdServicioIdServicioComplementario(dSer.ID_SERVICIO, dSer.ID_SERVICIO_COMPLEMENTARIO, datos);
                    detalleservicio.ActualizarDetalleServicio(idDetalleServicio, dSer.ID_SERVICIO, dSer.ID_SERVICIO_COMPLEMENTARIO, dSer.AIU, dSer.IVA, dSer.VALOR, "N", datos);
                }
            }
        }