Пример #1
0
        /// <summary>
        /// Método que genera Tokens para el usuario especificado
        /// </summary>
        private void generaToken()
        {
            RetornoOperacion resultado = new RetornoOperacion();
            int    IdContacto          = Convert.ToInt32(Session["id_registro"]);
            string Token;

            using (SAT_CL.Global.Contacto C = new SAT_CL.Global.Contacto(IdContacto))
            {
                //Validando que exista el contacto
                if (C.id_contacto > 0)
                {
                    resultado = SAT_CL.Seguridad.UsuarioToken.GeneraNuevoTokenUUID(C.id_usuario_sistema, C.id_compania_emisor, ((SAT_CL.Seguridad.Usuario)Session["usuario"]).id_usuario, 1, out Token);
                    if (resultado.OperacionExitosa)
                    {
                        resultado = new RetornoOperacion("Generación existosa. Nuevo Token generado: " + Token, true);
                        //Mostrando Mensaje de Operación
                        ScriptServer.MuestraNotificacion(this, resultado, ScriptServer.PosicionNotificacion.AbajoDerecha);
                        CargaGestorTokens(C.id_contacto);
                    }
                    else
                    {
                        //Mostrando Mensaje de Operación
                        ScriptServer.MuestraNotificacion(this, resultado, ScriptServer.PosicionNotificacion.AbajoDerecha);
                    }
                }
            }
        }
Пример #2
0
        private void cargaContenidoControles()
        {
            //Determinando el estatus de la página
            switch ((TSDK.ASP.Pagina.Estatus)Session["estatus"])
            {
            case TSDK.ASP.Pagina.Estatus.Nuevo:
                //Borrando el contenido
                lblId.Text            = "Por Asignar";
                txtNombre.Text        =
                    txtTelefono.Text  =
                        txtEmail.Text = "";
                break;

            case TSDK.ASP.Pagina.Estatus.Lectura:
            case TSDK.ASP.Pagina.Estatus.Edicion:
                //Instanciando registro de contacto
                using (SAT_CL.Global.Contacto c = new SAT_CL.Global.Contacto(Convert.ToInt32(Session["id_registro"])))
                {
                    //Si el registro existe
                    if (c.habilitar)
                    {
                        //Borrando el contenido
                        lblId.Text       = c.id_contacto.ToString();
                        txtNombre.Text   = c.nombre;
                        txtTelefono.Text = c.telefono.ToString();
                        txtEmail.Text    = c.email;
                        using (SAT_CL.Global.CompaniaEmisorReceptor er = new SAT_CL.Global.CompaniaEmisorReceptor(c.id_cliente_proveedor))
                        {
                            //Si el registro existe
                            if (er.habilitar)
                            {
                                //txtUsuarioSistema.Text = u.nombre.ToString() + " ID:" + c.id_usuario_sistema.ToString();
                                txtClienteProveedor.Text = String.Format("{0} ID:{1}", er.nombre, c.id_cliente_proveedor);
                            }
                        }
                        using (PerfilSeguridadUsuario psu = PerfilSeguridadUsuario.ObtienePerfilActivo(c.id_usuario_sistema))
                        {
                            if (psu.id_usuario > 0)
                            {
                                ddlPerfil.SelectedValue = psu.id_perfil.ToString();
                            }
                        }
                    }
                }
                break;
            }

            //Limpiando errores
            lblError.Text = "";
        }
Пример #3
0
        /// <summary>
        /// Método que genera Tokens con una fecha de vigencia personalizada
        /// </summary>
        private void generaTokenVigencia()
        {
            RetornoOperacion resultado = new RetornoOperacion();
            int      IdContacto        = Convert.ToInt32(Session["id_registro"]);
            DateTime FechaInicial      = Fecha.ObtieneFechaEstandarMexicoCentro();
            DateTime FechaFinal        = Convert.ToDateTime(txtFechaVigenciaToken.Text);
            TimeSpan Dias = FechaFinal - FechaInicial;
            int      Vigencia;
            string   Token;

            Vigencia = Dias.Days;

            if (Vigencia >= 1)
            {
                using (SAT_CL.Global.Contacto C = new SAT_CL.Global.Contacto(IdContacto))
                {
                    //Validando que exista el contacto
                    if (C.id_contacto > 0)
                    {
                        resultado = SAT_CL.Seguridad.UsuarioToken.GeneraNuevoTokenUUID(C.id_usuario_sistema, C.id_compania_emisor, ((SAT_CL.Seguridad.Usuario)Session["usuario"]).id_usuario, Vigencia, out Token);
                        if (resultado.OperacionExitosa)
                        {
                            resultado = new RetornoOperacion("Generación existosa. Nuevo Token generado: " + Token, true);
                            //Mostrando Mensaje de Operación
                            ScriptServer.MuestraNotificacion(this, resultado, ScriptServer.PosicionNotificacion.AbajoDerecha);
                            CargaGestorTokens(C.id_contacto);
                        }
                        else
                        {
                            //Mostrando Mensaje de Operación
                            ScriptServer.MuestraNotificacion(this, resultado, ScriptServer.PosicionNotificacion.AbajoDerecha);
                        }
                    }
                }

                //Alternando Ventana
                ScriptServer.AlternarVentana(this.Page, "ElegirFechaVigencia", "contenedorFechaVigenciaToken", "ventanaFechaVigenciaToken");
                //Recargando Grid
                Controles.InicializaIndices(gvGestionTokens);
            }
            else
            {
                resultado = new RetornoOperacion("La fecha de vigencia del Token debe ser mayor a la fecha de hoy.", false);
                //Mostrando Mensaje de Operación
                ScriptServer.MuestraNotificacion(this, resultado, ScriptServer.PosicionNotificacion.AbajoDerecha);
            }
        }
Пример #4
0
        private void bajaContacto()
        {
            //Creación del objeto retorno
            RetornoOperacion retorno = new RetornoOperacion();

            //Inicializando Bloque Transaccional
            using (TransactionScope trans = TSDK.Datos.Transaccion.InicializaBloqueTransaccional(System.Transactions.IsolationLevel.ReadCommitted))
            {
                //Invoca al constructor de la clase y asigna el valor de la variable de session id_registro.
                using (SAT_CL.Global.Contacto c = new SAT_CL.Global.Contacto((int)Session["id_registro"]))
                {
                    //Valida si el registro existe.
                    if (c.id_contacto > 0)
                    {
                        //Asigna al objeto retorno los datos del usuario que realizo el cambio de estado del registro (Deshabilitó)
                        retorno = c.DeshabilitaContacto(((SAT_CL.Seguridad.Usuario)Session["usuario"]).id_usuario);

                        //Validando Operación Exitosa
                        if (retorno.OperacionExitosa)
                        {
                            //Invoca al constructor de la clase y asigna el valor de la variable de session id_registro.
                            using (SAT_CL.Seguridad.Usuario us = new SAT_CL.Seguridad.Usuario(c.id_usuario_sistema))
                            {
                                //Valida si el registro existe.
                                if (us.id_usuario > 0)
                                {
                                    //Asigna al objeto retorno los datos del usuario que realizo el cambio de estado del registro(Deshabilito)
                                    retorno = us.DeshabilitaUsuario(((SAT_CL.Seguridad.Usuario)Session["usuario"]).id_usuario);

                                    //Validando Operación Exitosa
                                    if (retorno.OperacionExitosa)
                                    {
                                        //Instanciando registro de Usuario - Compania
                                        using (SAT_CL.Seguridad.UsuarioCompania uc = new SAT_CL.Seguridad.UsuarioCompania(us.id_usuario, c.id_compania_emisor))
                                        {
                                            //Validando que Existe el Registro
                                            if (uc.id_usuario_compania > 0)
                                            {
                                                //Deshabilitando
                                                retorno = uc.DeshabilitaUsuarioCompania(((SAT_CL.Seguridad.Usuario)Session["usuario"]).id_usuario);

                                                if (retorno.OperacionExitosa)
                                                {
                                                    SAT_CL.Seguridad.PerfilSeguridadUsuario IdPSU = SAT_CL.Seguridad.PerfilSeguridadUsuario.ObtienePerfilActivo(c.id_usuario_sistema);
                                                    //Instanciando Perfil Activo de Perfil Seguridad Usuario
                                                    using (SAT_CL.Seguridad.PerfilSeguridadUsuario psu = new SAT_CL.Seguridad.PerfilSeguridadUsuario(IdPSU.id_perfil_usuario))
                                                    {
                                                        if (psu.id_perfil_usuario > 0)
                                                        {
                                                            retorno = psu.DeshabilitaPerfilSeguridadUsuario(((SAT_CL.Seguridad.Usuario)Session["usuario"]).id_usuario);
                                                            if (retorno.OperacionExitosa)
                                                            {
                                                                using (UsuarioToken activo = UsuarioToken.ObtieneTokenActivo(c.id_usuario_sistema, c.id_compania_emisor))
                                                                {
                                                                    retorno = activo.TerminaUsuarioToken(((SAT_CL.Seguridad.Usuario)Session["usuario"]).id_usuario);
                                                                }
                                                            }
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }

                //Valida que la operacion de inserción se realizo correctamente
                if (retorno.OperacionExitosa)
                {
                    //Mostrando Mensaje de Operación
                    ScriptServer.MuestraNotificacion(this, retorno, ScriptServer.PosicionNotificacion.AbajoDerecha);

                    //Completando Transacción
                    trans.Complete();
                }
                else
                {
                    //Mostrando Mensaje de Operación
                    ScriptServer.MuestraNotificacion(this, retorno, ScriptServer.PosicionNotificacion.AbajoDerecha);
                }
            }

            //Valida si la operación se realizo correctamente.
            if (retorno.OperacionExitosa)
            {
                //Asigna el valor de estado lectura a la variable de session estatus
                Session["estatus"] = Pagina.Estatus.Nuevo;
                //Asigna el valor 0 a la variable de session id_registro
                Session["id_registro"] = 0;
                //invoca al método inicializaForma().
                inicializaForma();
            }
        }
Пример #5
0
        /// <summary>
        /// Inserta o actualiza los valores del registro
        /// </summary>
        private void guardaContacto()
        {
            //Declarando Variables Auxiliares
            int    id_usuario   = 0;
            string pwdAleatoria = TSDK.Base.Cadena.CadenaAleatoria(20);
            string QtnAwr       = TSDK.Base.Cadena.CadenaAleatoria(20);
            //Declarando objeto de resultado
            RetornoOperacion resultado  = new RetornoOperacion();
            RetornoOperacion resultadoP = new RetornoOperacion();

            //Inicializando Bloque Transaccional
            using (TransactionScope trans = TSDK.Datos.Transaccion.InicializaBloqueTransaccional(System.Transactions.IsolationLevel.ReadCommitted))
            {
                //En base al estatus
                switch ((TSDK.ASP.Pagina.Estatus)Session["estatus"])
                {
                case TSDK.ASP.Pagina.Estatus.Nuevo:
                    //Validando que se halla seleccionado un Perfil
                    if (ddlPerfil.SelectedValue != "0" && ddlClienteProveedor.SelectedValue != "0")
                    {
                        //Asigna al objeto retorno los valores obtenidos del formulario Contacto, invocando al método de insercion de la clase usuario.
                        resultado = SAT_CL.Seguridad.Usuario.InsertaUsuario(txtNombre.Text, txtEmail.Text, pwdAleatoria, DateTime.Today,
                                                                            0, 0, "NA", QtnAwr, 0, ((SAT_CL.Seguridad.Usuario)Session["usuario"]).id_usuario);

                        //Validando que la Operación fuese Exitosa
                        if (resultado.OperacionExitosa)
                        {
                            //Obteniendo Registro de Usuario
                            id_usuario = resultado.IdRegistro;

                            //Insertando Usuario - Compania
                            resultado = SAT_CL.Seguridad.UsuarioCompania.InsertaUsuarioCompania(id_usuario, ((SAT_CL.Seguridad.UsuarioSesion)Session["usuario_sesion"]).id_compania_emisor_receptor,
                                                                                                1, ((SAT_CL.Seguridad.Usuario)Session["usuario"]).id_usuario);
                            if (resultado.OperacionExitosa)
                            {
                                //Insertando Perfil
                                resultado = SAT_CL.Seguridad.PerfilSeguridadUsuario.InsertaPerfilSeguridadUsuario(Convert.ToInt32(ddlPerfil.SelectedValue), id_usuario,
                                                                                                                  ((SAT_CL.Seguridad.Usuario)Session["usuario"]).id_usuario);

                                if (resultado.OperacionExitosa)
                                {
                                    //Registrando el Contacto con el ID de Usuario del sistema generado
                                    resultado = SAT_CL.Global.Contacto.InsertaContacto(
                                        ((SAT_CL.Seguridad.UsuarioSesion)Session["usuario_sesion"]).id_compania_emisor_receptor,
                                        Convert.ToInt32(Cadena.RegresaCadenaSeparada(txtClienteProveedor.Text, "ID:", 1)),
                                        txtNombre.Text.ToUpper(),
                                        txtTelefono.Text,
                                        txtEmail.Text,
                                        id_usuario,
                                        ((SAT_CL.Seguridad.Usuario)Session["usuario"]).id_usuario
                                        );
                                }
                            }
                        }
                    }
                    else
                    {
                        //Instanciando Excepción
                        resultado = new RetornoOperacion("* Seleccione un Perfil y un Tipo de Contacto de la Lista");
                    }
                    break;

                case TSDK.ASP.Pagina.Estatus.Edicion:
                    //Validando que se halla seleccionado un Perfil
                    if (ddlClienteProveedor.SelectedValue != "0")
                    {
                        //Instanciando contacto actual
                        using (SAT_CL.Global.Contacto c = new SAT_CL.Global.Contacto(Convert.ToInt32(Session["id_registro"])))
                        {
                            //Si el Contacto existe
                            if (c.habilitar)
                            {
                                //Insertando Nuevo Perfil Asignado (Si es que lo hay)

                                /*resultadoP = SAT_CL.Seguridad.PerfilSeguridadUsuario.InsertaPerfilSeguridadUsuario(Convert.ToInt32(ddlPerfil.SelectedValue), c.id_usuario_sistema,
                                 *                             ((SAT_CL.Seguridad.Usuario)Session["usuario"]).id_usuario);*/

                                resultado = c.EditaContacto(
                                    Convert.ToInt32(Cadena.RegresaCadenaSeparada(txtClienteProveedor.Text, "ID:", 1)),
                                    txtNombre.Text.ToUpper(),
                                    txtTelefono.Text,
                                    txtEmail.Text,
                                    ((SAT_CL.Seguridad.Usuario)Session["usuario"]).id_usuario
                                    );

                                if (resultado.OperacionExitosa)
                                {
                                    using (SAT_CL.Seguridad.Usuario u = new SAT_CL.Seguridad.Usuario(c.id_usuario_sistema))
                                    {
                                        if (u.id_usuario > 0)
                                        {
                                            Usuario OldU = u;
                                            resultado = u.EditaInformacionGeneral(
                                                txtNombre.Text.ToUpper(),
                                                txtEmail.Text,
                                                OldU.sesiones_disponibles,
                                                ((SAT_CL.Seguridad.Usuario)Session["usuario"]).id_usuario
                                                );
                                        }
                                    }
                                }
                            }
                        }
                    }
                    else
                    {
                        //Instanciando Excepción
                        resultado = new RetornoOperacion("* Seleccione un tipo de Contacto de la Lista.");
                    }
                    break;
                }

                //Valida que la operacion de inserción se realizo correctamente
                if (resultado.OperacionExitosa)
                {
                    //Mostrando Mensaje de Operación
                    ScriptServer.MuestraNotificacion(this, resultado, ScriptServer.PosicionNotificacion.AbajoDerecha);

                    //Completando Transacción
                    trans.Complete();
                }
                else
                {
                    //Mostrando Mensaje de Operación
                    ScriptServer.MuestraNotificacion(this, resultado, ScriptServer.PosicionNotificacion.AbajoDerecha);
                }
            }

            //Si no hay errores de guardado
            if (resultado.OperacionExitosa)
            {
                //Guardando datos de registro para carga de estatus de lectura
                Session["id_registro"] = resultado.IdRegistro;
                Session["estatus"]     = Pagina.Estatus.Lectura;
                inicializaForma();
            }
        }
Пример #6
0
        /// <summary>
        /// Método que almacen los detalles de calificacion de una entidad
        /// </summary>
        public void GuardaDetallesCalificacion()
        {
            //Creación del objeto retorno
            RetornoOperacion retorno = new RetornoOperacion(0);

            //Inserta una calificación (bloque transaccional)
            using (TransactionScope trans = TSDK.Datos.Transaccion.InicializaBloqueTransaccional(System.Transactions.IsolationLevel.ReadCommitted))
            {
                //Valida si existe un rgistro de calificación
                if (this._id_calificacion == 0)
                {
                    //En caso de ser un usuario (id_contacto es igual a cero)
                    if (this._id_contacto == 0)
                    {
                        //Instancia a la clase seguridad y obtienen los datos del usuario
                        using (SAT_CL.Seguridad.Usuario us = new SAT_CL.Seguridad.Usuario(this._id_usuario))
                        {
                            //Inserta una Calificación con los datos del usuario
                            retorno = SAT_CL.Calificacion.Calificacion.InsertarCalificacion(this._id_tabla, this._id_registro, 0, "", us.email, 0, this._id_usuario);
                        }
                    }
                    //En caso Contrario (id_usuario es igual a cero)
                    else
                    {
                        //Instancia a la clase Contacto y obtiene los datos necesarios del contacto
                        using (SAT_CL.Global.Contacto con = new SAT_CL.Global.Contacto(this._id_contacto))
                        {
                            //Inserta una calificación con los datos del contacto
                            retorno = SAT_CL.Calificacion.Calificacion.InsertarCalificacion(this._id_tabla, this._id_registro, 0, "", con.email, this._id_contacto, 0);
                        }
                    }
                    //Asigna al atributo calificación el idRegistro de BD
                    this._id_calificacion = retorno.IdRegistro;
                }
                //Valida que se realizara correctamente la primera inserció o en su defecto que deje insertar conceptos de la misma entidad
                if (retorno.OperacionExitosa)
                {
                    //Declara la variable estrellas
                    byte estrellas = 0;
                    //ASigna a la variable lo el valor que el usuario elija por concepto
                    estrellas = Convert.ToByte(Request.Form["estrellas"]);
                    //Si la estrella es mayor a cero
                    if (estrellas > 0)
                    {
                        //Instancia a la clase Califición
                        using (SAT_CL.Calificacion.Calificacion cal = new SAT_CL.Calificacion.Calificacion(this._id_calificacion))
                        {
                            //Valida que exista una calificación
                            if (cal.id_calificacion != 0)
                            {
                                //Inserta un detalle de calificación con los datos del contacto
                                retorno = SAT_CL.Calificacion.CalificacionDetalle.InsertarCalificacionDetalle(this._id_calificacion, Convert.ToInt32(ddlConcepto.SelectedValue), estrellas, this._id_contacto, this._id_usuario);
                            }
                        }
                    }
                    //En caso contrario
                    else
                    {
                        //ASigna mensaje de que no puede agregar una calificación en cero
                        retorno = new RetornoOperacion("La calificacion mínima es una estrella");
                        this._id_calificacion = 0;
                    }
                }
                //TErmina el bloque transaccional
                if (retorno.OperacionExitosa)
                {
                    //termina la transacción
                    trans.Complete();
                }
            }
            //Valida que la operación
            if (retorno.OperacionExitosa)
            {
                //Inicializa el UC
                this.inicializaValores(this._id_tabla, this._id_registro, this._id_contacto, this._id_usuario, this._id_calificacion, true);
            }
            //Muestra el mensaje de error
            TSDK.ASP.ScriptServer.MuestraNotificacion(this.imgbtnAgregarConcepto, retorno, ScriptServer.PosicionNotificacion.AbajoDerecha);
        }