Beispiel #1
0
        /// <summary>
        /// Método que realiza la inserción de los registros de Calificación Detalle
        /// </summary>
        /// <param name="id_calificacion">Inserta el identificador de una Calificación general de las entdades Cliente,Operador o Transportista</param>
        /// <param name="id_concepto_calificacion">Inserta el concepto que se va a evaluar</param>
        /// <param name="calificacion">Inserta el Número que evalua a un concepto</param>
        /// <param name="id_usuario">Inserta el identificador del usuario que realizo acciones sobre el registro</param>
        /// <returns></returns>
        public static RetornoOperacion InsertarCalificacionDetalle(int id_calificacion, int id_concepto_calificacion, byte calificacion, int id_contacto, int id_usuario)
        {
            //Creación del objeto retorno
            RetornoOperacion retorno = new RetornoOperacion();

            using (TransactionScope trans = TSDK.Datos.Transaccion.InicializaBloqueTransaccional(System.Transactions.IsolationLevel.ReadCommitted))
            {
                //Creación del arreglo que almacena los datos necesarios para insertar un registro de calificación detalle
                object[] param = { 1, 0, id_calificacion, id_concepto_calificacion, calificacion, id_usuario, true, "", "" };
                //Invoca al método que realiza la actualización del registro
                retorno = CapaDatos.m_capaDeDatos.EjecutaProcAlmacenadoObjeto(nom_sp, param);
                //Retorna al método el objeto retorno

                if (retorno.OperacionExitosa)
                {
                    //Creación de la variable que almacena el promedio a asignar a una entidad
                    byte actualizaPormedioGeneral = 0;
                    //Instancia al método que realiza el calculo del promedio por conceptos hasta entonces evaluado
                    actualizaPormedioGeneral = SAT_CL.Calificacion.CalificacionDetalle.CalificacionAsignar(id_calificacion);

                    //Instancia a la clase calificación
                    using (SAT_CL.Calificacion.Calificacion cal = new SAT_CL.Calificacion.Calificacion(id_calificacion))
                    {
                        //Valida si la actualización es realizada por un contacto
                        if (id_contacto != 0)
                        {
                            //Realiza la actualización de la calificación en general con los datos del contacto
                            retorno = cal.ActualizaCalificacion(actualizaPormedioGeneral, id_contacto, 0);
                        }
                        //En caso contrario
                        else
                        {
                            //Realiza la actualización de la calificación en general con los datos del contaacto
                            retorno = cal.ActualizaCalificacion(actualizaPormedioGeneral, 0, id_usuario);
                        }
                    }
                }
                if (retorno.OperacionExitosa)
                {
                    trans.Complete();
                }
            }

            return(retorno);
        }
Beispiel #2
0
        /// <summary>
        /// Método que actualiza el promedio calculado a partir de los conceptos evaluados
        /// </summary>
        public RetornoOperacion GuardarCalificacionGeneral()
        {
            //Creación del objeto retorno
            RetornoOperacion retorno = new RetornoOperacion();

            //Instancia a la clase calificación
            using (SAT_CL.Calificacion.Calificacion cal = new SAT_CL.Calificacion.Calificacion(this._id_calificacion))
            {
                //Realiza la actualización de la calificación en general con los datos del contacto
                retorno = cal.ActualizaComentario(txtComenatrio.Text, this._id_contacto, this._id_usuario);
            }
            //Valida la operación (que se realizo correctamente)
            if (retorno.OperacionExitosa)
            {
                //Inicializa el CU
                inicializaValores(this._id_tabla, this._id_registro, this._id_contacto, this._id_usuario, this._id_calificacion, false);
            }
            //Muestra el mensaje de error
            TSDK.ASP.ScriptServer.MuestraNotificacion(this.btnGuardar, retorno, ScriptServer.PosicionNotificacion.AbajoDerecha);
            return(retorno);
        }
Beispiel #3
0
        /// <summary>
        /// Método que cambia el estado de uso de un registro (Habilitado - Disponible, Deshabilitado - No Disponible)
        /// </summary>
        /// <param name="id_usuario"></param>
        /// <returns></returns>
        public RetornoOperacion DeshabilitarCalificacionDetalle(int id_contacto, int id_usuario)
        {
            //Creación del objeto retorno
            RetornoOperacion retorno = new RetornoOperacion();

            //Inserta una calificación (bloque transaccional)
            using (TransactionScope trans = TSDK.Datos.Transaccion.InicializaBloqueTransaccional(System.Transactions.IsolationLevel.ReadCommitted))
            {
                //Retorna al método el resultado de actualizar los registros
                retorno = this.editarCalificacionDetalle(this._id_calificacion, this._id_concepto_calificacion, this._calificacion, id_usuario, false);
                //Valida que se deshabilito el registro
                if (retorno.OperacionExitosa)
                {
                    //Creación de la variable que almacena el promedio a asignar a una entidad
                    byte actualizaPormedioGeneral = 0;
                    //Instancia al método que realiza el calculo del promedio por conceptos hasta entonces evaluado
                    actualizaPormedioGeneral = SAT_CL.Calificacion.CalificacionDetalle.CalificacionAsignar(this._id_calificacion);
                    //Instancia a la clase Calificación
                    using (SAT_CL.Calificacion.Calificacion cal = new SAT_CL.Calificacion.Calificacion(this._id_calificacion))
                    {
                        //Valida si la actualización es realizada por un contacto
                        if (id_contacto != 0)
                        {
                            //Realiza la actualización de la calificación en general con los datos del contacto
                            retorno = cal.ActualizaCalificacion(actualizaPormedioGeneral, id_contacto, id_usuario);
                        }
                    }
                }
                //Valida que se actualizo el registro
                if (retorno.OperacionExitosa)
                {
                    //Completa la transacción
                    trans.Complete();
                }
            }
            return(retorno);
        }
Beispiel #4
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);
        }