Esempio n. 1
0
        /// <summary>
        /// Envia correo de usuario nuevo.
        /// </summary>
        /// <param name="USR_USERNAME"></param>
        /// <param name="USR_PASSWORD"></param>
        /// <param name="Configuracion"></param>
        public static void EnviarCorreoUsuarioNuevo(string USR_USERNAME, string USR_PASSWORD, XmlDocument Configuracion)
        {
            try
            {
                UsuarioLogic usuariologica = new UsuarioLogic();
                usuario user = usuariologica.GetUsuario(USR_USERNAME);

                string mailto = user.USR_CORREO;
                string nombre = user.USR_NOMBRE + " " + user.USR_APELLIDO;

                string subject = "";
                string message = "";

                using (var db = new colinasEntities())
                {
                    EntityKey k = new EntityKey("colinasEntities.plantillas_notificaciones", "PLANTILLAS_LLAVE", "USUARIONUEVO");
                    var pl = db.GetObjectByKey(k);
                    plantilla_notificacion plantilla = (plantilla_notificacion)pl;

                    subject = plantilla.PLANTILLAS_ASUNTO;
                    message = plantilla.PLANTILLAS_MENSAJE;
                }

                message = message.Replace("{NOMBRE}", nombre);
                message = message.Replace("{USUARIO}", USR_USERNAME);
                message = message.Replace("{CONTRASEÑA}", USR_PASSWORD);

                EnviarCorreo(mailto, subject, message, Configuracion);
            }
            catch (Exception ex)
            {
                log.Fatal("Error fatal al enviar correo de usuario nuevo.", ex);
                throw;
            }
        }
Esempio n. 2
0
        /// <summary>
        /// Obtiene todas las notificaciones de usuario.
        /// </summary>
        /// <param name="USR_USERNAME"></param>
        /// <returns>Lista de notificaciones.</returns>
        public List<notificacion> GetNotificacionesDeUsuario(string USR_USERNAME)
        {
            try
            {
                using (var db = new colinasEntities())
                {
                    EntityKey k = new EntityKey("colinasEntities.usuarios", "USR_USERNAME", USR_USERNAME);

                    var u = db.GetObjectByKey(k);

                    usuario user = (usuario)u;

                    return user.notificaciones.OrderByDescending(nt => nt.NOTIFICACION_FECHA).ToList<notificacion>();
                }
            }
            catch (Exception ex)
            {
                log.Fatal("Error fatal al obtener notificaciones de usuario.", ex);
                throw;
            }
        }
Esempio n. 3
0
        /// <summary>
        /// Obtiene los detalles de nota de peso específica.
        /// </summary>
        /// <param name="NOTAS_ID"></param>
        /// <returns>Lista de detalles de nota de peso específica.</returns>
        public List<nota_detalle> GetDetalleNotaDePeso(int NOTAS_ID)
        {
            try
            {
                using (var db = new colinasEntities())
                {
                    EntityKey k = new EntityKey("colinasEntities.notas_de_peso", "NOTAS_ID", NOTAS_ID);

                    var n = db.GetObjectByKey(k);

                    nota_de_peso note = (nota_de_peso)n;

                    return note.notas_detalles.OrderByDescending(nd => nd.DETALLES_PESO).ToList<nota_detalle>();
                }
            }
            catch (Exception ex)
            {
                log.Fatal("Error fatal al obtener detalles de notas de peso.", ex);
                throw;
            }
        }
Esempio n. 4
0
        /// <summary>
        /// Elimina estados de nota de peso con su detalle. Elimina el privilegio y notificacion si existen.
        /// </summary>
        /// <param name="ESTADOS_NOTA_ID"></param>
        public void EliminarEstadoNotaDePeso(int ESTADOS_NOTA_ID)
        {
            try
            {
                using (var db = new colinasEntities())
                {

                    using (var scope1 = new System.Transactions.TransactionScope())
                    {
                        EntityKey k = new EntityKey("colinasEntities.estados_nota_de_peso", "ESTADOS_NOTA_ID", ESTADOS_NOTA_ID);

                        var esn = db.GetObjectByKey(k);

                        estado_nota_de_peso noteStatus = (estado_nota_de_peso)esn;

                        db.DeleteObject(noteStatus);

                        /*--------------------Eliminar privilegio--------------------*/
                        string PRIV_LLAVE = EstadoNotaDePesoLogic.PREFIJO_PRIVILEGIO + noteStatus.ESTADOS_NOTA_LLAVE;

                        var queryPrivilegio = from p in db.privilegios
                                    where p.PRIV_LLAVE == PRIV_LLAVE
                                    select p;
                        
                        privilegio priv = (privilegio)queryPrivilegio.FirstOrDefault();

                        if (priv != null)
                            db.DeleteObject(priv);


                        /*--------------------Eliminar plantilla de notificacion--------------------*/
                        string PLANTILLAS_LLAVE = EstadoNotaDePesoLogic.PREFIJO_PLANTILLA + noteStatus.ESTADOS_NOTA_LLAVE;

                        db.plantillas_notificaciones.MergeOption = MergeOption.NoTracking;

                        Object pl = null;
                        EntityKey kpl = new EntityKey("colinasEntities.plantillas_notificaciones", "PLANTILLAS_LLAVE", PLANTILLAS_LLAVE);

                        if (db.TryGetObjectByKey(kpl, out pl))
                        {
                            plantilla_notificacion plNotif = (plantilla_notificacion)pl;

                            db.DeleteObject(plNotif);
                        }

                        db.SaveChanges();

                        scope1.Complete();
                    }
                }
            }
            catch (Exception ex)
            {
                log.Fatal("Error fatal al eliminar estado de nota de peso.", ex);
                throw;
            }
        }
Esempio n. 5
0
        /// <summary>
        /// Obtiene los privilegios de usuario.
        /// </summary>
        /// <param name="USR_USERNAME"></param>
        /// <returns>Lista de privilegios de usuario.</returns>
        public List<privilegio> GetPrivilegiosDeUsuario(string USR_USERNAME)
        {
            try
            {
                using (var db = new colinasEntities())
                {
                    db.privilegios.MergeOption = MergeOption.NoTracking;

                    EntityKey k = new EntityKey("colinasEntities.usuarios", "USR_USERNAME", USR_USERNAME);

                    var u = db.GetObjectByKey(k);

                    usuario user = (usuario)u;

                    var query = from r in user.roles
                                from pr in r.privilegios
                                select pr;

                    return query.ToList<privilegio>();
                }
            }
            catch (Exception ex)
            {
                log.Fatal("Error fatal al obtener privilegios de usuario.", ex);
                throw;
            }
        }
Esempio n. 6
0
        /// <summary>
        /// Envia correos de privilegios nuevos
        /// </summary>
        /// <param name="ROL_ID"></param>
        /// <param name="PRIVS_ID"></param>
        /// <param name="Configuracion"></param>
        public static void EnviarCorreosPrivilegiosNuevos(int ROL_ID, List<string> PRIVS_ID, XmlDocument Configuracion)
        {
            try
            {
                string mailto = "";
                string nombre = "";

                string priv = "";

                string subject = "";
                string message = "";

                using (var db = new colinasEntities())
                {
                    EntityKey k = new EntityKey("colinasEntities.roles", "ROL_ID", ROL_ID);

                    var r = db.GetObjectByKey(k);

                    rol role = (rol)r;

                    foreach (string privRec in PRIVS_ID)
                    {
                        int PRIV_ID = Convert.ToInt32(privRec);

                        EntityKey k2 = new EntityKey("colinasEntities.privilegios", "PRIV_ID", PRIV_ID);

                        var p = db.GetObjectByKey(k2);

                        privilegio priv2 = (privilegio)p;

                        priv += priv2.PRIV_NOMBRE + ", ";
                    }

                    if (priv.Length > 2)
                        priv.Remove(priv.Length - 2);

                    EntityKey k3 = new EntityKey("colinasEntities.plantillas_notificaciones", "PLANTILLAS_LLAVE", "PRIVILEGIONUEVO");
                    var pl = db.GetObjectByKey(k3);
                    plantilla_notificacion plantilla = (plantilla_notificacion)pl;

                    subject = plantilla.PLANTILLAS_ASUNTO;
                    message = plantilla.PLANTILLAS_MENSAJE;

                    foreach (usuario user in role.usuarios)
                    {
                        mailto = user.USR_CORREO;
                        nombre = user.USR_NOMBRE + " " + user.USR_APELLIDO;

                        message = message.Replace("{NOMBRE}", nombre);
                        message = message.Replace("{USUARIO}", user.USR_USERNAME);
                        message = message.Replace("{PRIVILEGIO}", priv);

                        EnviarCorreo(mailto, subject, message, Configuracion);
                    }
                }
            }
            catch (Exception ex)
            {
                log.Fatal("Error fatal al enviar correo de privilegios nuevos.", ex);
                throw;
            }
        }
Esempio n. 7
0
        /// <summary>
        /// Obtiene variable de entorno específica.
        /// </summary>
        /// <param name="VARIABLES_LLAVE"></param>
        /// <param name="db"></param>
        /// <returns>Variable de entorno.</returns>
        public variable_de_entorno GetVariableDeEntorno(string VARIABLES_LLAVE, colinasEntities db)
        {
            try
            {
                //using (var db = new colinasEntities())
                //{
                    db.variables_de_entorno.MergeOption = MergeOption.NoTracking;

                    EntityKey k = new EntityKey("colinasEntities.variables_de_entorno", "VARIABLES_LLAVE", VARIABLES_LLAVE);

                    var env = db.GetObjectByKey(k);

                    variable_de_entorno environmentVariable = (variable_de_entorno)env;

                    return environmentVariable;
                //}
            }
            catch (Exception ex)
            {
                log.Fatal("Error fatal al obtener variable de entorno.", ex);
                throw;
            }
        }
Esempio n. 8
0
        /// <summary>
        /// Eliminar privilegios de rol.
        /// </summary>
        /// <param name="ROL_ID"></param>
        /// <param name="lprivilegios"></param>
        /// <param name="MODIFICADO_POR"></param>
        public void EliminarPrivilegios(int ROL_ID, List<int> lprivilegios, string MODIFICADO_POR)
        {
            try
            {
                using (var db = new colinasEntities())
                {
                    EntityKey k = new EntityKey("colinasEntities.roles", "ROL_ID", ROL_ID);

                    var r = db.GetObjectByKey(k);

                    rol role = (rol)r;

                    foreach (int priv_id in lprivilegios)
                    {
                        var p = db.GetObjectByKey(new EntityKey("colinasEntities.privilegios", "PRIV_ID", priv_id));

                        privilegio privilegioEntity = (privilegio)p;
                        role.privilegios.Remove(privilegioEntity);
                    }

                    role.MODIFICADO_POR = MODIFICADO_POR;
                    role.FECHA_MODIFICACION = DateTime.Today;

                    db.SaveChanges();
                }
            }
            catch (Exception ex)
            {
                log.Fatal("Error fatal al eliminar privilegios.", ex);
                throw;
            }
        }
Esempio n. 9
0
        /// <summary>
        /// Actualiza el rol.
        /// </summary>
        /// <param name="ROL_ID"></param>
        /// <param name="ROL_NOMBRE"></param>
        /// <param name="ROL_DESCRIPCION"></param>
        /// <param name="CREADO_POR"></param>
        /// <param name="FECHA_CREACION"></param>
        /// <param name="MODIFICADO_POR"></param>
        /// <param name="FECHA_MODIFICACION"></param>
        public void ActualizarRol
            (int ROL_ID,
            string ROL_NOMBRE,
            string ROL_DESCRIPCION,
            string CREADO_POR,
            DateTime FECHA_CREACION,
            string MODIFICADO_POR,
            DateTime FECHA_MODIFICACION)
        {
            try
            {
                using (var db = new colinasEntities())
                {

                    EntityKey k = new EntityKey("colinasEntities.roles", "ROL_ID", ROL_ID);

                    var r = db.GetObjectByKey(k);

                    rol role = (rol)r;

                    role.ROL_NOMBRE = ROL_NOMBRE;
                    role.ROL_DESCRIPCION = ROL_DESCRIPCION;
                    role.CREADO_POR = CREADO_POR;
                    role.FECHA_CREACION = FECHA_CREACION;
                    role.MODIFICADO_POR = MODIFICADO_POR;
                    role.FECHA_MODIFICACION = DateTime.Today;

                    db.SaveChanges();
                }
            }
            catch (Exception ex)
            {
                log.Fatal("Error fatal al actualizar rol.", ex);
                throw;
            }
        }
Esempio n. 10
0
        /// <summary>
        /// Obtiene el rol específico.
        /// </summary>
        /// <param name="ROL_ID"></param>
        /// <returns>Rol.</returns>
        public rol GetRol(int ROL_ID)
        {
            try
            {
                using (var db = new colinasEntities())
                {

                    EntityKey k = new EntityKey("colinasEntities.roles", "ROL_ID", ROL_ID);

                    var r = db.GetObjectByKey(k);

                    rol role = (rol)r;

                    return role;
                }
            }
            catch (Exception ex)
            {
                log.Fatal("Error fatal al obtener rol.", ex);
                throw;
            }
        }
Esempio n. 11
0
        /*
         *                  -----Flujo-----
         *  cambiar clasificacion de café a la clasificación actual
         *  verificar si hubo cambio de estado
         *  cambiar estado a nuevo estado
         *  notificar a usuarios
         *
         */

        /// <summary>
        /// Actualiza la nota de peso II. Esta fase guarda la nota de peso y envía las respectivas notificaciones.
        /// </summary>
        /// <param name="NOTAS_ID"></param>
        /// <param name="ESTADOS_NOTA_ID"></param>
        /// <param name="SOCIOS_ID"></param>
        /// <param name="CLASIFICACIONES_CAFE_ID"></param>
        /// <param name="NOTAS_FECHA"></param>
        /// <param name="NOTAS_TRANSPORTE_COOPERATIVA"></param>
        /// <param name="NOTAS_PORCENTAJE_TRANSPORTE_COOPERATIVA"></param>
        /// <param name="NOTAS_PORCENTAJE_DEFECTO"></param>
        /// <param name="NOTAS_PORCENTAJE_HUMEDAD"></param>
        /// <param name="NOTAS_PESO_TRANSPORTE_COOPERATIVA"></param>
        /// <param name="NOTAS_PESO_DEFECTO"></param>
        /// <param name="NOTAS_PESO_HUMEDAD"></param>
        /// <param name="NOTAS_PESO_DESCUENTO"></param>
        /// <param name="NOTAS_PESO_SUMA"></param>
        /// <param name="NOTAS_PESO_TARA"></param>
        /// <param name="NOTAS_PESO_TOTAL_RECIBIDO"></param>
        /// <param name="NOTAS_PESO_TOTAL_RECIBIDO_TEXTO"></param>
        /// <param name="NOTAS_SACOS_RETENIDOS"></param>
        /// <param name="MODIFICADO_POR"></param>
        /// <param name="FECHA_MODIFICACION"></param>
        /// <param name="Detalles"></param>
        private void ActualizarNotaDePeso
            (int NOTAS_ID,
            int ESTADOS_NOTA_ID,
            string SOCIOS_ID,
            int CLASIFICACIONES_CAFE_ID,
            DateTime NOTAS_FECHA,
            Boolean NOTAS_TRANSPORTE_COOPERATIVA,
            decimal NOTAS_PORCENTAJE_TRANSPORTE_COOPERATIVA,
            decimal NOTAS_PORCENTAJE_DEFECTO,
            decimal NOTAS_PORCENTAJE_HUMEDAD,
            decimal NOTAS_PESO_TRANSPORTE_COOPERATIVA,
            decimal NOTAS_PESO_DEFECTO,
            decimal NOTAS_PESO_HUMEDAD,
            decimal NOTAS_PESO_DESCUENTO,
            decimal NOTAS_PESO_SUMA,
            decimal NOTAS_PESO_TARA,
            decimal NOTAS_PESO_TOTAL_RECIBIDO,
            string NOTAS_PESO_TOTAL_RECIBIDO_TEXTO,
            int NOTAS_SACOS_RETENIDOS,
            string MODIFICADO_POR,
            DateTime FECHA_MODIFICACION,
            Dictionary<string, string>[] Detalles)
        {
            try
            {
                using (var db = new colinasEntities())
                {
                    using (var scope1 = new TransactionScope())
                    {
                        EntityKey k = new EntityKey("colinasEntities.notas_de_peso", "NOTAS_ID", NOTAS_ID);

                        var n = db.GetObjectByKey(k);

                        nota_de_peso note = (nota_de_peso)n;

                        note.SOCIOS_ID = SOCIOS_ID;
                        note.NOTAS_FECHA = NOTAS_FECHA;
                        note.NOTAS_TRANSPORTE_COOPERATIVA = NOTAS_TRANSPORTE_COOPERATIVA;
                        note.NOTAS_PORCENTAJE_TRANSPORTE_COOPERATIVA = NOTAS_PORCENTAJE_TRANSPORTE_COOPERATIVA;
                        note.NOTAS_PORCENTAJE_DEFECTO = NOTAS_PORCENTAJE_DEFECTO;
                        note.NOTAS_PORCENTAJE_HUMEDAD = NOTAS_PORCENTAJE_HUMEDAD;
                        note.NOTAS_PESO_TRANSPORTE_COOPERATIVA = NOTAS_PESO_TRANSPORTE_COOPERATIVA;
                        note.NOTAS_PESO_DEFECTO = NOTAS_PESO_DEFECTO;
                        note.NOTAS_PESO_HUMEDAD = NOTAS_PESO_HUMEDAD;
                        note.NOTAS_PESO_DESCUENTO = NOTAS_PESO_DESCUENTO;
                        note.NOTAS_PESO_TARA = NOTAS_PESO_TARA;
                        note.NOTAS_PESO_SUMA = NOTAS_PESO_SUMA;
                        note.NOTAS_PESO_TOTAL_RECIBIDO = NOTAS_PESO_TOTAL_RECIBIDO;
                        note.NOTAS_PESO_TOTAL_RECIBIDO_TEXTO = NOTAS_PESO_TOTAL_RECIBIDO_TEXTO;
                        note.NOTAS_SACOS_RETENIDOS = NOTAS_SACOS_RETENIDOS;
                        note.MODIFICADO_POR = MODIFICADO_POR;
                        note.FECHA_MODIFICACION = FECHA_MODIFICACION;

                        // cambiar clasificacion de café a la clasificación actual
                        note.CLASIFICACIONES_CAFE_ID = CLASIFICACIONES_CAFE_ID;

                        note.notas_detalles.Clear();

                        foreach (Dictionary<string, string> detalle in Detalles)
                            note.notas_detalles.Add(new nota_detalle() { DETALLES_PESO = Convert.ToDecimal(detalle["DETALLES_PESO"]), DETALLES_CANTIDAD_SACOS = Convert.ToInt32(detalle["DETALLES_CANTIDAD_SACOS"]) });

                        db.SaveChanges();

                        // verificar si hubo cambio de estado
                        if (note.ESTADOS_NOTA_ID != ESTADOS_NOTA_ID)
                        {
                            // cambiar estado a nuevo estado
                            note.ESTADOS_NOTA_ID = ESTADOS_NOTA_ID;

                            // notificar a usuarios
                            this.NotificarUsuarios(EstadoNotaDePesoLogic.PREFIJO_PLANTILLA + note.estados_nota_de_peso.ESTADOS_NOTA_LLAVE, EstadoNotaDePesoLogic.PREFIJO_PRIVILEGIO + note.estados_nota_de_peso.ESTADOS_NOTA_LLAVE, note, db);
                        }

                        scope1.Complete();
                    }
                }
            }
            catch (Exception ex)
            {
                log.Fatal("Error fatal al actualizar nota de peso.", ex);
                throw;
            }
        }
Esempio n. 12
0
        /// <summary>
        /// Eliminar el usuario.
        /// </summary>
        /// <param name="USR_USERNAME"></param>
        public void EliminarUsuario(string USR_USERNAME)
        {
            try
            {
                using (var db = new colinasEntities())
                {
                    EntityKey k = new EntityKey("colinasEntities.usuarios", "USR_USERNAME", USR_USERNAME);

                    var u = db.GetObjectByKey(k);

                    usuario user = (usuario)u;

                    db.DeleteObject(user);

                    db.SaveChanges();
                }
            }
            catch (Exception ex)
            {
                log.Fatal("Error fatal al eliminar usuario.", ex);
                throw;
            }
        }
Esempio n. 13
0
        /// <summary>
        /// Eliminar roles de usuario.
        /// </summary>
        /// <param name="USR_USERNAME"></param>
        /// <param name="roles"></param>
        /// <param name="MODIFICADO_POR"></param>
        public void EliminarRoles(string USR_USERNAME, List<int> roles, string MODIFICADO_POR)
        {
            try
            {
                using (var db = new colinasEntities())
                {
                    EntityKey k = new EntityKey("colinasEntities.usuarios", "USR_USERNAME", USR_USERNAME);

                    var u = db.GetObjectByKey(k);

                    usuario user = (usuario)u;

                    foreach(int rol_id in roles)
                    {
                        var r = db.GetObjectByKey(new EntityKey("colinasEntities.roles", "ROL_ID", rol_id));

                        rol rolEntity = (rol)r;
                        user.roles.Remove(rolEntity);
                    }

                    user.MODIFICADO_POR = MODIFICADO_POR;
                    user.FECHA_MODIFICACION = DateTime.Today;

                    db.SaveChanges();
                }
            }
            catch (Exception ex)
            {
                log.Fatal("Error fatal al eliminar roles.", ex);
                throw;
            }
        }
Esempio n. 14
0
        /// <summary>
        /// Actualiza el usuario.
        /// </summary>
        /// <param name="USR_USERNAME"></param>
        /// <param name="USR_NOMBRE"></param>
        /// <param name="USR_SEGUNDO_NOMBRE"></param>
        /// <param name="USR_APELLIDO"></param>
        /// <param name="USR_SEGUNDO_APELLIDO"></param>
        /// <param name="USR_CORREO"></param>
        /// <param name="MODIFICADO_POR"></param>
        public void ActualizarUsuario
            (string USR_USERNAME,
            string USR_NOMBRE,
            string USR_SEGUNDO_NOMBRE,
            string USR_APELLIDO,
            string USR_SEGUNDO_APELLIDO,
            string USR_CORREO,
            string MODIFICADO_POR)
        {
            try
            {
                using (var db = new colinasEntities())
                {
                    EntityKey k = new EntityKey("colinasEntities.usuarios", "USR_USERNAME", USR_USERNAME);

                    var u = db.GetObjectByKey(k);

                    usuario user = (usuario)u;

                    user.USR_NOMBRE = USR_NOMBRE;
                    user.USR_SEGUNDO_NOMBRE = USR_SEGUNDO_NOMBRE;
                    user.USR_APELLIDO = USR_APELLIDO;
                    user.USR_SEGUNDO_APELLIDO = USR_SEGUNDO_APELLIDO;
                    user.USR_CORREO = USR_CORREO;
                    user.MODIFICADO_POR = MODIFICADO_POR;
                    user.FECHA_MODIFICACION = DateTime.Today;

                    db.SaveChanges();
                }
            }
            catch (Exception ex)
            {
                log.Fatal("Error fatal al actualizar usuario (simple).", ex);
                throw;
            }
        }
Esempio n. 15
0
        /// <summary>
        /// Actualiza la clave de usuario.
        /// </summary>
        /// <param name="USR_USERNAME"></param>
        /// <param name="USR_PASSWORD"></param>
        /// <param name="MODIFICADO_POR"></param>
        public void ActualizarClave(string USR_USERNAME, string USR_PASSWORD, string MODIFICADO_POR)
        {
            try
            {
                using (var db = new colinasEntities())
                {
                    EntityKey k = new EntityKey("colinasEntities.usuarios", "USR_USERNAME", USR_USERNAME);

                    var u = db.GetObjectByKey(k);

                    usuario user = (usuario)u;

                    user.USR_PASSWORD = USR_PASSWORD;
                    user.MODIFICADO_POR = MODIFICADO_POR;
                    user.FECHA_MODIFICACION = DateTime.Today;

                    db.SaveChanges();
                }
            }
            catch (Exception ex)
            {
                log.Fatal("Error fatal al actualizar clave.", ex);
                throw;
            }
        }
Esempio n. 16
0
        public List<privilegio> GetPrivilegiosParaNotaDePesoDeUsuario(string USR_USERNAME)
        {
            try
            {
                using (var db = new colinasEntities())
                {
                    db.privilegios.MergeOption = MergeOption.NoTracking;

                    EntityKey k = new EntityKey("colinasEntities.usuarios", "USR_USERNAME", USR_USERNAME);

                    var u = db.GetObjectByKey(k);

                    usuario user = (usuario)u;

                    var query = from r in user.roles
                                from pr in r.privilegios
                                where pr.PRIV_LLAVE.Contains(COCASJOL.LOGIC.Inventario.Ingresos.EstadoNotaDePesoLogic.PREFIJO_PRIVILEGIO)
                                select pr;

                    return query.ToList<privilegio>();
                }
            }
            catch (Exception ex)
            {
                log.Fatal("Error fatal al obtener privilegios de usuario.", ex);
                throw;
            }
        }
Esempio n. 17
0
        /// <summary>
        /// Desactiva el estado de nota de peso.
        /// </summary>
        /// <param name="ESTADOS_NOTA_ID"></param>
        /// <param name="MODIFICADO_POR"></param>
        public void DesactivarEstado(int ESTADOS_NOTA_ID, string MODIFICADO_POR)
        {
            try
            {
                using (var db = new colinasEntities())
                {
                    EntityKey k = new EntityKey("colinasEntities.estados_nota_de_peso", "ESTADOS_NOTA_ID", ESTADOS_NOTA_ID);

                    var esn = db.GetObjectByKey(k);

                    estado_nota_de_peso noteStatus = (estado_nota_de_peso)esn;

                    noteStatus.ESTADOS_NOTA_ESTADO = false;
                    noteStatus.MODIFICADO_POR = MODIFICADO_POR;
                    noteStatus.FECHA_MODIFICACION = DateTime.Today;

                    db.SaveChanges();
                }
            }
            catch (Exception ex)
            {
                log.Fatal("Error fatal al desactivar estado de nota de peso.", ex);
                throw;
            }
        }
Esempio n. 18
0
        /// <summary>
        /// Elimina la nota de peso.
        /// </summary>
        /// <param name="NOTAS_ID"></param>
        public void EliminarNotaDePeso(int NOTAS_ID)
        {
            try
            {
                using (var db = new colinasEntities())
                {
                    EntityKey k = new EntityKey("colinasEntities.notas_de_peso", "NOTAS_ID", NOTAS_ID);

                    var n = db.GetObjectByKey(k);

                    nota_de_peso note = (nota_de_peso)n;

                    db.DeleteObject(note);

                    db.SaveChanges();
                }
            }
            catch (Exception ex)
            {
                log.Fatal("Error fatal al eliminar nota de peso.", ex);
                throw;
            }
        }
Esempio n. 19
0
        /// <summary>
        /// Verifica si el estado de nota de peso esta siendo utilizado en notas de peso. Si hay notas de peso en el estado especificado.
        /// </summary>
        /// <param name="ESTADOS_NOTA_ID"></param>
        /// <returns>True si hay notas de peso en estado. False si no hay notas de peso en estado.</returns>
        public bool EstadoDeNotaDePesoTieneReferencias(int ESTADOS_NOTA_ID)
        {
            try
            {
                using (var db = new colinasEntities())
                {
                    EntityKey k = new EntityKey("colinasEntities.estados_nota_de_peso", "ESTADOS_NOTA_ID", ESTADOS_NOTA_ID);

                    var esn = db.GetObjectByKey(k);

                    estado_nota_de_peso noteStatus = (estado_nota_de_peso)esn;

                    if (noteStatus.notas_de_peso.Count > 0)
                        return true;
                    else
                        return false;
                }
            }
            catch (Exception ex)
            {
                log.Fatal("Error fatal al intentar verificar estado de nota de peso.", ex);
                throw;
            }
        }
Esempio n. 20
0
        /// <summary>
        /// Registra la nota de peso.
        /// </summary>
        /// <param name="NOTAS_ID"></param>
        /// <param name="ESTADO_ID"></param>
        /// <param name="MODIFICADO_POR"></param>
        public int RegistrarNotaDePeso(int NOTAS_ID, int ESTADO_ID, string MODIFICADO_POR)
        {
            try
            {
                int transactionNum = -1;
                using (var db = new colinasEntities())
                {
                    using (var scope1 = new TransactionScope())
                    {
                        EntityKey k = new EntityKey("colinasEntities.notas_de_peso", "NOTAS_ID", NOTAS_ID);
                        var n = db.GetObjectByKey(k);
                        nota_de_peso note = (nota_de_peso)n;

                        note.ESTADOS_NOTA_ID = ESTADO_ID;
                        note.MODIFICADO_POR = MODIFICADO_POR;
                        note.FECHA_MODIFICACION = DateTime.Today;

                        db.SaveChanges();

                        if (note.estados_nota_de_peso.estados_detalles.ESTADOS_DETALLE_ENABLE_REGISTRAR_BTN == true)
                        {
                            InventarioDeCafeLogic inventariodecafelogic = new InventarioDeCafeLogic();
                            note.TRANSACCION_NUMERO = inventariodecafelogic.InsertarTransaccionInventarioDeCafeDeSocio(note, db);
                            db.SaveChanges();
                            transactionNum = note.TRANSACCION_NUMERO == null ? transactionNum : Convert.ToInt32(note.TRANSACCION_NUMERO);
                        }

                        scope1.Complete();
                    }
                }

                return transactionNum;
            }
            catch (Exception ex)
            {
                log.Fatal("Error fatal al registrar nota de peso.", ex);
                throw;
            }
        }
Esempio n. 21
0
        /// <summary>
        /// Obtiene privilegios de rol.
        /// </summary>
        /// <param name="ROL_ID"></param>
        /// <param name="PRIV_ID"></param>
        /// <param name="PRIV_NOMBRE"></param>
        /// <param name="PRIV_LLAVE"></param>
        /// <returns>Lista de privilegios de rol.</returns>
        public List<privilegio> GetPrivilegios(int ROL_ID, int PRIV_ID, string PRIV_NOMBRE, string PRIV_LLAVE)
        {
            try
            {
                using (var db = new colinasEntities())
                {
                    EntityKey k = new EntityKey("colinasEntities.roles", "ROL_ID", ROL_ID);

                    var r = db.GetObjectByKey(k);

                    rol role = (rol)r;

                    var filter = from privs in role.privilegios
                                 where
                                 (PRIV_ID.Equals(0) ? true : privs.PRIV_ID.Equals(PRIV_ID)) &&
                                 (string.IsNullOrEmpty(PRIV_NOMBRE) ? true : privs.PRIV_NOMBRE.Contains(PRIV_NOMBRE)) &&
                                 (string.IsNullOrEmpty(PRIV_LLAVE) ? true : privs.PRIV_LLAVE.Contains(PRIV_LLAVE))
                                 select privs;

                    return filter.OrderBy(p => p.PRIV_LLAVE).ToList<privilegio>();
                }
            }
            catch (Exception ex)
            {
                log.Fatal("Error fatal al obtener privilegios.", ex);
                throw;
            }
        }
Esempio n. 22
0
        public bool NotaDePesoRegistrada(int NOTAS_ID)
        {
            try
            {
                using (var db = new colinasEntities())
                {
                    EntityKey k = new EntityKey("colinasEntities.notas_de_peso", "NOTAS_ID", NOTAS_ID);

                    var n = db.GetObjectByKey(k);

                    nota_de_peso note = (nota_de_peso)n;

                    if (note.TRANSACCION_NUMERO != null)
                        return true;
                    else
                        return false;
                }
            }
            catch (Exception ex)
            {
                log.Fatal("Error fatal al eliminar nota de peso.", ex);
                throw;
            }
        }
Esempio n. 23
0
        /// <summary>
        /// Eliminar el rol.
        /// </summary>
        /// <param name="ROL_ID"></param>
        public void EliminarRol(int ROL_ID)
        {
            try
            {
                using (var db = new colinasEntities())
                {

                    EntityKey k = new EntityKey("colinasEntities.roles", "ROL_ID", ROL_ID);

                    var r = db.GetObjectByKey(k);

                    rol role = (rol)r;

                    db.DeleteObject(role);

                    db.SaveChanges();
                }
            }
            catch (Exception ex)
            {
                log.Fatal("Error fatal al eliminar rol.", ex);
                throw;
            }
        }
Esempio n. 24
0
        /// <summary>
        /// Elimina todas las notificaciones del usuario.
        /// </summary>
        /// <param name="USR_USERNAME"></param>
        public void EliminarNotificacionesDeUsuario(string USR_USERNAME)
        {
            try
            {
                using (var db = new colinasEntities())
                {
                    EntityKey k = new EntityKey("colinasEntities.usuarios", "USR_USERNAME", USR_USERNAME);

                    var u = db.GetObjectByKey(k);

                    usuario user = (usuario)u;

                    var query = from n in user.notificaciones
                                where n.NOTIFICACION_ESTADO == (int)EstadosNotificacion.Leido
                                select n;

                    foreach (notificacion notif in query.ToList<notificacion>())
                        db.notificaciones.DeleteObject(notif);

                    db.SaveChanges();
                }
            }
            catch (Exception ex)
            {
                log.Fatal("Error fatal al eliminar todas las notificaciones de usuario.", ex);
                throw;
            }
        }
Esempio n. 25
0
        /// <summary>
        /// Actualiza todas las variables de entorno.
        /// </summary>
        /// <param name="VariablesDeEntorno"></param>
        /// <param name="MODIFICADO_POR"></param>
        public void ActualizarVariablesDeEntorno(Dictionary<string, string>[] VariablesDeEntorno, string MODIFICADO_POR)
        {
            try
            {
                List<string> variablesActualizadas = new List<string>();
                using (var db = new colinasEntities())
                {
                    DateTime tday = DateTime.Today;

                    foreach (Dictionary<string, string> VariableDeEntorno in VariablesDeEntorno)
                    {
                        EntityKey k = new EntityKey("colinasEntities.variables_de_entorno", "VARIABLES_LLAVE", VariableDeEntorno["VARIABLES_LLAVE"]);

                        var env = db.GetObjectByKey(k);

                        variable_de_entorno environmentVariables = (variable_de_entorno)env;

                        string valor = VariableDeEntorno["VARIABLES_VALOR"];

                        if (environmentVariables.VARIABLES_VALOR != valor)
                        {
                            environmentVariables.VARIABLES_VALOR = valor;
                            environmentVariables.MODIFICADO_POR = MODIFICADO_POR;
                            environmentVariables.FECHA_MODIFICACION = tday;

                            variablesActualizadas.Add(environmentVariables.VARIABLES_LLAVE);
                        }
                    }

                    db.SaveChanges();
                }
                
                Utiles.PlantillaLogic plantillalogic = new Utiles.PlantillaLogic();
                plantilla_notificacion pl = plantillalogic.GetPlantilla("VARIABLESACTUALIZADAS");
                Utiles.NotificacionLogic notificacionlogic = new Utiles.NotificacionLogic();

                foreach (string varKey in variablesActualizadas)
                {
                    notificacionlogic.NotifyUsers("", Utiles.EstadosNotificacion.Creado, pl.PLANTILLAS_ASUNTO, pl.PLANTILLAS_MENSAJE, varKey);
                }
            }
            catch (Exception ex)
            {
                log.Fatal("Error fatal al actualizar variables de entorno.", ex);
                throw;
            }
        }
Esempio n. 26
0
        /// <summary>
        /// Obtiene los roles de usuario.
        /// </summary>
        /// <param name="USR_USERNAME"></param>
        /// <param name="ROL_ID"></param>
        /// <param name="ROL_NOMBRE"></param>
        /// <returns>Roles de usuario.</returns>
        public List<rol> GetRoles(string USR_USERNAME, int ROL_ID, string ROL_NOMBRE)
        {
            try
            {
                using (var db = new colinasEntities())
                {
                    db.roles.MergeOption = MergeOption.NoTracking;//optimizacion

                    EntityKey k = new EntityKey("colinasEntities.usuarios", "USR_USERNAME", USR_USERNAME);

                    var u = db.GetObjectByKey(k);

                    usuario user = (usuario)u;

                    var query = from r in user.roles
                                select r;

                    var filter = from rls in query
                                 where
                                 (ROL_ID.Equals(0) ? true : rls.ROL_ID.Equals(ROL_ID)) &&
                                 (string.IsNullOrEmpty(ROL_NOMBRE) ? true : rls.ROL_NOMBRE.Contains(ROL_NOMBRE))
                                 select rls;

                    return filter.OrderBy(r => r.ROL_NOMBRE).ToList<rol>();
                }
            }
            catch (Exception ex)
            {
                log.Fatal("Error fatal al obtener roles de usuario.", ex);
                throw;
            }
        }
Esempio n. 27
0
        /// <summary>
        /// Envia correo de rol nuevo
        /// </summary>
        /// <param name="USR_USERNAME"></param>
        /// <param name="ROL_ID"></param>
        /// <param name="Configuracion"></param>
        public static void EnviarCorreoRolNuevo(string USR_USERNAME, int ROL_ID, XmlDocument Configuracion)
        {
            try
            {
                UsuarioLogic usuariologica = new UsuarioLogic();
                usuario user = usuariologica.GetUsuario(USR_USERNAME);

                string mailto = user.USR_CORREO;
                string nombre = user.USR_NOMBRE + " " + user.USR_APELLIDO;

                string rol = "";
                string privs = "";

                string subject = "";
                string message = ""; 

                using (var db = new colinasEntities())
                {
                    EntityKey k = new EntityKey("colinasEntities.roles", "ROL_ID", ROL_ID);
                    var r = db.GetObjectByKey(k);
                    rol role = (rol)r;

                    rol = role.ROL_NOMBRE + " - " + role.ROL_DESCRIPCION;

                    foreach (privilegio p in role.privilegios)
                        privs += p.PRIV_NOMBRE + ", ";

                    if (privs.Length > 2)
                        privs.Remove(privs.Length - 2);


                    EntityKey k2 = new EntityKey("colinasEntities.plantillas_notificaciones", "PLANTILLAS_LLAVE", "ROLNUEVO");
                    var pl = db.GetObjectByKey(k2);
                    plantilla_notificacion plantilla = (plantilla_notificacion)pl;

                    subject = plantilla.PLANTILLAS_ASUNTO;
                    message = plantilla.PLANTILLAS_MENSAJE;
                }

                message = message.Replace("{NOMBRE}", nombre);
                message = message.Replace("{USUARIO}", USR_USERNAME);
                message = message.Replace("{ROL}", rol);
                message = message.Replace("{PRIVILEGIOS}", privs);

                EnviarCorreo(mailto, subject, message, Configuracion);
            }
            catch (Exception ex)
            {
                log.Fatal("Error fatal al enviar correo de rol nuevo.", ex);
                throw;
            }
        }
Esempio n. 28
0
        /// <summary>
        /// Actualiza estado de nota de peso con su detalle. Actualiza privilegio y notificacion.
        /// </summary>
        /// <param name="ESTADOS_NOTA_ID"></param>
        /// <param name="ESTADOS_NOTA_SIGUIENTE"></param>
        /// <param name="ESTADOS_NOTA_NOMBRE"></param>
        /// <param name="ESTADOS_NOTA_DESCRIPCION"></param>
        /// <param name="ESTADOS_NOTA_ES_CATACION"></param>
        /// <param name="ESTADOS_NOTA_ESTADO"></param>
        /// <param name="MODIFICADO_POR"></param>
        /// <param name="ESTADOS_DETALLE_ENABLE_FECHA"></param>
        /// <param name="ESTADOS_DETALLE_ENABLE_ESTADO"></param>
        /// <param name="ESTADOS_DETALLE_ENABLE_SOCIO_ID"></param>
        /// <param name="ESTADOS_DETALLE_ENABLE_CLASIFICACION_CAFE"></param>
        /// <param name="ESTADOS_DETALLE_SHOW_INFO_SOCIO"></param>
        /// <param name="ESTADOS_DETALLE_ENABLE_FORMA_ENTREGA"></param>
        /// <param name="ESTADOS_DETALLE_ENABLE_DETALLE"></param>
        /// <param name="ESTADOS_DETALLE_ENABLE_SACOS_RETENIDOS"></param>
        /// <param name="ESTADOS_DETALLE_ENABLE_TARA"></param>
        /// <param name="ESTADOS_DETALLE_SHOW_DESCUENTOS"></param>
        /// <param name="ESTADOS_DETALLE_SHOW_TOTAL"></param>
        /// <param name="ESTADOS_DETALLE_ENABLE_REGISTRAR_BTN"></param>
        /// <param name="ESTADOS_DETALLE_ENABLE_IMPRIMIR_BTN"></param>
        /// <param name="PLANTILLAS_MENSAJE"></param>
        public void ActualizarEstadoNotaDePeso
            (int ESTADOS_NOTA_ID,
            int? ESTADOS_NOTA_SIGUIENTE,
            string ESTADOS_NOTA_NOMBRE,
            string ESTADOS_NOTA_DESCRIPCION,
            bool ESTADOS_NOTA_ES_CATACION,
            bool ESTADOS_NOTA_ESTADO,
            string MODIFICADO_POR,
            bool ESTADOS_DETALLE_ENABLE_FECHA,
            int ESTADOS_DETALLE_ENABLE_ESTADO,
            int ESTADOS_DETALLE_ENABLE_SOCIO_ID,
            bool ESTADOS_DETALLE_ENABLE_CLASIFICACION_CAFE,
            bool ESTADOS_DETALLE_SHOW_INFO_SOCIO,
            bool ESTADOS_DETALLE_ENABLE_FORMA_ENTREGA,
            bool ESTADOS_DETALLE_ENABLE_DETALLE,
            bool ESTADOS_DETALLE_ENABLE_SACOS_RETENIDOS,
            bool ESTADOS_DETALLE_ENABLE_TARA,
            bool ESTADOS_DETALLE_SHOW_DESCUENTOS,
            bool ESTADOS_DETALLE_SHOW_TOTAL,
            bool ESTADOS_DETALLE_ENABLE_REGISTRAR_BTN,
            bool ESTADOS_DETALLE_ENABLE_IMPRIMIR_BTN,
            string PLANTILLAS_MENSAJE)
        {
            try
            {
                using (var db = new colinasEntities())
                {
                    using (var scope1 = new System.Transactions.TransactionScope())
                    {
                        EntityKey k = new EntityKey("colinasEntities.estados_nota_de_peso", "ESTADOS_NOTA_ID", ESTADOS_NOTA_ID);

                        var esn = db.GetObjectByKey(k);

                        estado_nota_de_peso noteStatus = (estado_nota_de_peso)esn;

                        noteStatus.ESTADOS_NOTA_SIGUIENTE = ESTADOS_NOTA_SIGUIENTE == 0 ? null : ESTADOS_NOTA_SIGUIENTE;
                        noteStatus.ESTADOS_NOTA_NOMBRE = ESTADOS_NOTA_NOMBRE;
                        noteStatus.ESTADOS_NOTA_DESCRIPCION = ESTADOS_NOTA_DESCRIPCION;
                        noteStatus.ESTADOS_NOTA_ES_CATACION = ESTADOS_NOTA_ES_CATACION;
                        noteStatus.ESTADOS_NOTA_ESTADO = ESTADOS_NOTA_ESTADO;
                        noteStatus.MODIFICADO_POR = MODIFICADO_POR;
                        noteStatus.FECHA_MODIFICACION = DateTime.Today;

                        /*--------------------Actualizar detalle--------------------*/
                        estado_detalle detalle = noteStatus.estados_detalles;
                        detalle.ESTADOS_DETALLE_ENABLE_FECHA = ESTADOS_DETALLE_ENABLE_FECHA;
                        detalle.ESTADOS_DETALLE_ENABLE_ESTADO = ESTADOS_DETALLE_ENABLE_ESTADO;
                        detalle.ESTADOS_DETALLE_ENABLE_SOCIO_ID = ESTADOS_DETALLE_ENABLE_SOCIO_ID;
                        detalle.ESTADOS_DETALLE_ENABLE_CLASIFICACION_CAFE = ESTADOS_DETALLE_ENABLE_CLASIFICACION_CAFE;
                        detalle.ESTADOS_DETALLE_SHOW_INFO_SOCIO = ESTADOS_DETALLE_SHOW_INFO_SOCIO;
                        detalle.ESTADOS_DETALLE_ENABLE_FORMA_ENTREGA = ESTADOS_DETALLE_ENABLE_FORMA_ENTREGA;
                        detalle.ESTADOS_DETALLE_ENABLE_DETALLE = ESTADOS_DETALLE_ENABLE_DETALLE;
                        detalle.ESTADOS_DETALLE_ENABLE_SACOS_RETENIDOS = ESTADOS_DETALLE_ENABLE_SACOS_RETENIDOS;
                        detalle.ESTADOS_DETALLE_ENABLE_TARA = ESTADOS_DETALLE_ENABLE_TARA;
                        detalle.ESTADOS_DETALLE_SHOW_DESCUENTOS = ESTADOS_DETALLE_SHOW_DESCUENTOS;
                        detalle.ESTADOS_DETALLE_SHOW_TOTAL = ESTADOS_DETALLE_SHOW_TOTAL;
                        detalle.ESTADOS_DETALLE_ENABLE_REGISTRAR_BTN = ESTADOS_DETALLE_ENABLE_REGISTRAR_BTN;
                        detalle.ESTADOS_DETALLE_ENABLE_IMPRIMIR_BTN = ESTADOS_DETALLE_ENABLE_IMPRIMIR_BTN;


                        /*--------------------Actualizar privilegio--------------------*/
                        string PRIV_LLAVE = EstadoNotaDePesoLogic.PREFIJO_PRIVILEGIO + noteStatus.ESTADOS_NOTA_LLAVE;

                        var queryPrivilegio = from p in db.privilegios
                                              where p.PRIV_LLAVE == PRIV_LLAVE
                                              select p;

                        privilegio notePrivilege = (privilegio)queryPrivilegio.FirstOrDefault();

                        if (notePrivilege != null)
                        {
                            notePrivilege.PRIV_NOMBRE = "Notas de Peso " + ESTADOS_NOTA_NOMBRE;
                            notePrivilege.PRIV_DESCRIPCION = "Acceso a nivel de datos. " + ESTADOS_NOTA_DESCRIPCION;
                            notePrivilege.MODIFICADO_POR = MODIFICADO_POR;
                            notePrivilege.FECHA_MODIFICACION = DateTime.Today;
                        }


                        /*--------------------Actualizar plantilla de notificacion--------------------*/
                        string PLANTILLAS_LLAVE = EstadoNotaDePesoLogic.PREFIJO_PLANTILLA + noteStatus.ESTADOS_NOTA_LLAVE;

                        db.plantillas_notificaciones.MergeOption = MergeOption.NoTracking;

                        Object pl = null;
                        EntityKey kpl = new EntityKey("colinasEntities.plantillas_notificaciones", "PLANTILLAS_LLAVE", PLANTILLAS_LLAVE);

                        if (db.TryGetObjectByKey(kpl, out pl))
                        {

                            plantilla_notificacion noteTemplate = (plantilla_notificacion)pl;

                            noteTemplate.PLANTILLAS_NOMBRE = "Notas de Peso " + ESTADOS_NOTA_NOMBRE;
                            noteTemplate.PLANTILLAS_ASUNTO = "Notas de Peso " + ESTADOS_NOTA_NOMBRE;
                            noteTemplate.PLANTILLAS_MENSAJE = PLANTILLAS_MENSAJE;
                            noteTemplate.MODIFICADO_POR = MODIFICADO_POR;
                            noteTemplate.FECHA_MODIFICACION = DateTime.Today;
                        }

                        db.SaveChanges();

                        scope1.Complete();
                    }
                }
            }
            catch (Exception ex)
            {
                log.Fatal("Error fatal al actualizar estado de nota de peso.", ex);
                throw;
            }
        }
Esempio n. 29
0
        /// <summary>
        /// Desactiva el flag de pago de gastos de ingreso.
        /// </summary>
        /// <param name="SOCIOS_ID"></param>
        /// <param name="db"></param>
        public static void PagarGastoDeIngreso(string SOCIOS_ID, colinasEntities db)
        {
            try
            {
                EntityKey k = new EntityKey("colinasEntities.socios", "SOCIOS_ID", SOCIOS_ID);

                var s = db.GetObjectByKey(k);

                socio soc = (socio)s;

                soc.SOCIOS_ESTATUS = 2;//Ya pago cuota de ingreso anual
                //SOCIOS_ESTATUS == 0 -> Desactivado
                //SOCIOS_ESTATUS == 1 -> Nuevo
                //SOCIOS_ESTATUS == 2 -> Gastos de ingreso pagados

                db.SaveChanges();
            }
            catch (Exception ex)
            {
                log.Fatal("Error fatal al pagar gasto de ingreso.", ex);
                throw;
            }
        }
Esempio n. 30
0
        /// <summary>
        /// Obtiene el usuario específico.
        /// </summary>
        /// <param name="USR_USERNAME"></param>
        /// <returns>Usuario.</returns>
        public usuario GetUsuario(string USR_USERNAME)
        {
            try
            {
                using (var db = new colinasEntities())
                {
                    db.usuarios.MergeOption = MergeOption.NoTracking;

                    EntityKey k = new EntityKey("colinasEntities.usuarios", "USR_USERNAME", USR_USERNAME);

                    var u = db.GetObjectByKey(k);

                    usuario user = (usuario)u;

                    return user;
                }
            }
            catch (Exception ex)
            {
                log.Fatal("Error fatal al obtener usuario.", ex);
                throw;
            }
        }