/// <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); }
/// <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); }
/// <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); }
/// <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); }