예제 #1
0
        //Guarda o Actualiza un usuario
        public int IngresarUsuario(ClsUsuarios pvo_Usuario)
        {
            //Variables
            int vln_Correcto = 0;

            //Inicio
            AccesoDatosUsuario vlo_ADUsuario = new AccesoDatosUsuario();

            try
            {
                vln_Correcto = vlo_ADUsuario.InsertarUsuario(pvo_Usuario);
            }
            catch (Exception)
            {
                throw;
            }

            return(vln_Correcto);
        }
예제 #2
0
 public ActionResult Vencimiento(int NumeroDeUsuario = 0)
 {
     if (NumeroDeUsuario != 0)
     {
         List <ClsUsuarios> lstUsuario = (from q in ClsUsuarios.getList() where q.NumeroDeUsuario == NumeroDeUsuario select q).ToList();
         if (lstUsuario.Count() != 0)
         {
             ViewData["NombreDeUsuario"] = (lstUsuario.FirstOrDefault().NombreDePersona + " " + lstUsuario.FirstOrDefault().ApellidoPaterno + " " + lstUsuario.FirstOrDefault().ApellidoMaterno).Trim();
         }
         else
         {
             ViewData["NombreDeUsuario"] = String.Empty;
         }
     }
     else
     {
         ViewData["NombreDeUsuario"] = String.Empty;
     }
     return(View());
 }
예제 #3
0
        private void CargarFiltroUsuarios()
        {
            string InformacionDelError = string.Empty;

            ClsUsuarios Usuarios = new ClsUsuarios();

            List <Usuario> CargarComboBoxUsuarios = Usuarios.LeerListado(ClsUsuarios.ETipoListado.TodosLosUsuarios, ref InformacionDelError);

            if (CargarComboBoxUsuarios != null)
            {
                // Creo el item para listar todo
                CargarComboBoxUsuarios.Add(new Usuario {
                    ID_Usuario = 0, Nombre = "Todos los usuarios"
                });

                foreach (Usuario Elemento in CargarComboBoxUsuarios)
                {
                    Elemento.Nombre += $" {Elemento.Apellido}";
                }

                // Nombre de la columna que contiene el nombre
                cmbUsuarios.DisplayMember = "Nombre";
                // Nombre de la columna que contiene el ID
                cmbUsuarios.ValueMember = "ID_Usuario";

                // Llenar el combo
                cmbUsuarios.DataSource = CargarComboBoxUsuarios;

                cmbUsuarios.SelectedValue = 0;
            }
            else if (InformacionDelError == string.Empty)
            {
                FrmPrincipal.ObtenerInstancia().MensajeAdvertencia("Ocurrio un fallo al cargar el filtro de estados");
            }
            else
            {
                FrmPrincipal.ObtenerInstancia().MensajeAdvertencia("Ocurrio un fallo al cargar el filtro de estados");
                MessageBox.Show($"{InformacionDelError}", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
        }
예제 #4
0
        public void CargaDatosEditarUsuario()
        {
            btnAceptar.Visible        = false;
            btnGuardarCambios.Visible = true;

            Perfil PerfilSeleccionado = (Perfil)cmbPerfil.SelectedItem;

            string InformacionDelError = string.Empty;

            ClsUsuarios Usuarios       = new ClsUsuarios();
            Usuario     UsuarioAEditar = new Usuario();

            UsuarioAEditar = Usuarios.LeerPorNumero(ID_Usuario, ClsUsuarios.EUsuarioABuscar.PorID, ref InformacionDelError);

            if (UsuarioAEditar != null)
            {
                txtNick.Text            = UsuarioAEditar.Nick;
                txtNombre.Text          = UsuarioAEditar.Nombre;
                txtApellido.Text        = UsuarioAEditar.Apellido;
                txtContraseña.Text      = UsuarioAEditar.Contraseña;
                cmbPerfil.SelectedValue = UsuarioAEditar.ID_Perfil;

                if (UsuarioAEditar.ID_Perfil == (int)ClsPerfiles.EPerfiles.Gerente)
                {
                    cmbPerfil.Enabled = false;
                }
            }
            else if (InformacionDelError == string.Empty)
            {
                MessageBox.Show($"Error al intentar cargar el usuario a editar", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                Close();
            }
            else
            {
                MessageBox.Show($"{InformacionDelError}", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                Close();
            }
        }
        /// <summary>Carga el DGV.</summary>
        private void CargarDGVUsuarios(ClsUsuarios.ETipoListado _TipoDeEstado)
        {
            dgvDatosUsuarios.Rows.Clear();

            string InformacionDelError = string.Empty;

            ClsUsuarios Usuarios = new ClsUsuarios();

            List <Usuario> ListaUsuarios = Usuarios.LeerListado(_TipoDeEstado, ref InformacionDelError);

            if (ListaUsuarios != null)
            {
                foreach (Usuario Elemento in ListaUsuarios)
                {
                    int NumeroDeFila = dgvDatosUsuarios.Rows.Add();

                    dgvDatosUsuarios.Rows[NumeroDeFila].Cells[(int)ENumColDGVUsuarios.ID_Usuario].Value  = Elemento.ID_Usuario;
                    dgvDatosUsuarios.Rows[NumeroDeFila].Cells[(int)ENumColDGVUsuarios.Nick].Value        = Elemento.Nick;
                    dgvDatosUsuarios.Rows[NumeroDeFila].Cells[(int)ENumColDGVUsuarios.Nombre].Value      = Elemento.Nombre;
                    dgvDatosUsuarios.Rows[NumeroDeFila].Cells[(int)ENumColDGVUsuarios.Apellido].Value    = Elemento.Apellido;
                    dgvDatosUsuarios.Rows[NumeroDeFila].Cells[(int)ENumColDGVUsuarios.Perfil].Value      = Elemento.Perfil.Nombre;
                    dgvDatosUsuarios.Rows[NumeroDeFila].Cells[(int)ENumColDGVUsuarios.Seleccionar].Value = false;
                }

                UltimaFilaSeleccionada = -1;

                dgvDatosUsuarios.Sort(dgvDatosUsuarios.Columns[(int)ENumColDGVUsuarios.Perfil], ListSortDirection.Descending);
            }
            else if (InformacionDelError == string.Empty)
            {
                MessageBox.Show("Fallo al cargar los usuarios", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
            else
            {
                MessageBox.Show($"{InformacionDelError}", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
        }
예제 #6
0
        public int InsertarLogin(int pvn_ID, ClsUsuarios pvo_Usuarios, string pvc_Password)
        {
            //Variables
            int             vln_Correct = 0;
            MySqlConnection ConexionLogin;
            MySqlCommand    CommandLogin;
            string          vlc_SentenciaLogin = string.Empty;

            //Inicio
            try
            {
                ConexionLogin = new MySqlConnection
                {
                    ConnectionString = ClsConfiguracion.GetLoginString()
                };
                CommandLogin = new MySqlCommand
                {
                    Connection = ConexionLogin
                };

                vlc_SentenciaLogin = "******" + pvo_Usuarios.Correo + "',AES_ENCRYPT('" + pvc_Password + "','Directorio2019'),'" + pvn_ID + "');";
                ConexionLogin.Open();
                CommandLogin.CommandText = vlc_SentenciaLogin;
                vln_Correct = CommandLogin.ExecuteNonQuery();

                ConexionLogin.Close();
                CommandLogin.Dispose();

                EnviarContrasenia(pvo_Usuarios.Correo);
            }
            catch (Exception)
            {
                throw;
            }

            return(vln_Correct);
        }
예제 #7
0
        private void BtnGuardarCambios_Click(object sender, EventArgs e)
        {
            // Comprobar datos correctos
            bool   DatosValidos         = true;
            string RegistroDeErrores    = string.Empty;
            int    AnchoFormInformacion = 100;

            Perfil PerfilSeleccionado = (Perfil)cmbPerfil.SelectedItem;

            txtNick.Text     = txtNick.Text.Trim();
            txtNombre.Text   = txtNombre.Text.Trim();
            txtApellido.Text = txtApellido.Text.Trim();

            if (txtNick.Text.Length < 2)
            {
                DatosValidos          = false;
                RegistroDeErrores    += "El campo 'Nick' debe tener como minimo 2 caracteres.\r\n\r\n";
                AnchoFormInformacion += 50;
            }

            if (txtNombre.Text.Length < 3)
            {
                DatosValidos          = false;
                RegistroDeErrores    += "El campo 'Nombre' debe tener un minimo de 3 caracteres'.\r\n\r\n";
                AnchoFormInformacion += 50;
            }

            if (txtApellido.Text.Length < 3)
            {
                DatosValidos          = false;
                RegistroDeErrores    += "El campo 'Apellido' debe tener un minimo de 3 caracteres'.\r\n\r\n";
                AnchoFormInformacion += 50;
            }

            if (txtContraseña.Text.Length < 4)
            {
                DatosValidos          = false;
                RegistroDeErrores    += "El campo 'Contraseña' debe tener un minimo de 4 caracteres'.\r\n\r\n";
                AnchoFormInformacion += 50;
            }

            if (VerificarUsuarioRepetido(txtNombre.Text, txtContraseña.Text, ID_Usuario, txtApellido.Text))
            {
                DatosValidos       = false;
                RegistroDeErrores += "Verifique que no exista otro usuario con el mismo nombre y apellido, si no " +
                                     "esta repetido, intente con una contraseña diferente.\r\n\r\n";
                AnchoFormInformacion += 70;
            }

            if (DatosValidos)
            {
                // Si va a ser gerente el nuevo usuario, validarlo
                bool AutorizarEdicion = true;

                //Si el combo esta desalibilitado, significa que el perfil ya era gerente, por lo que no pide confirmacion
                if (PerfilSeleccionado.ID_Perfil == (int)ClsPerfiles.EPerfiles.Gerente && cmbPerfil.Enabled == true)
                {
                    AutorizarEdicion = false;

                    FrmRespuesta RespuestaFormulario = new FrmRespuesta($"¿Esta seguro que desea asignarle el perfil ´Gerente'? Una vez confirmado, no se puede editar el tipo de perfil ni eliminar el usuario (por seguridad, el sistema " +
                                                                        "no permite que personas con este tipo sean eliminadas del sistema).", FrmRespuesta.ETamaño.Pequeño, FrmRespuesta.ETipo.Si_No);

                    if (RespuestaFormulario.DialogResult == DialogResult.Yes)
                    {
                        using (FrmValidarUsuario FormValidarUsuario = new FrmValidarUsuario(FrmValidarUsuario.EFiltroUsuariosAutorizados.Gerentes))
                        {
                            FormValidarUsuario.ShowDialog();

                            if (FormValidarUsuario.DialogResult == DialogResult.OK)
                            {
                                AutorizarEdicion = true;
                            }
                        }
                    }
                }

                if (AutorizarEdicion)
                {
                    txtNick.Text     = txtNick.Text.ToUpper();
                    txtNombre.Text   = txtNombre.Text.Substring(0, 1).ToUpper() + txtNombre.Text.Remove(0, 1).ToLower();
                    txtApellido.Text = txtApellido.Text.Substring(0, 1).ToUpper() + txtApellido.Text.Remove(0, 1).ToLower();

                    // Actualizar
                    string InformacionDelError = string.Empty;

                    ClsUsuarios Usuarios          = new ClsUsuarios();
                    Usuario     ActualizarUsuario = new Usuario();

                    ActualizarUsuario.ID_Usuario = ID_Usuario;
                    ActualizarUsuario.Nick       = txtNick.Text;
                    ActualizarUsuario.Nombre     = txtNombre.Text;
                    ActualizarUsuario.Apellido   = txtApellido.Text;
                    ActualizarUsuario.Contraseña = txtContraseña.Text;
                    ActualizarUsuario.ID_Perfil  = PerfilSeleccionado.ID_Perfil;

                    //Mantener el estado del usuario (ya que sin esto, se podria habilitar usuarios sin indicarlo
                    //necesariamente, se activarian al editar uno inactivo y guardar cambios).
                    if (EstadoDelUsuario)
                    {
                        ActualizarUsuario.ID_EstadoUsuario = (int)ClsEstadosUsuarios.EEstadosUsuarios.Activo;
                    }
                    else
                    {
                        ActualizarUsuario.ID_EstadoUsuario = (int)ClsEstadosUsuarios.EEstadosUsuarios.Inactivo;
                    }

                    // Impedir dar categoria gerente a un usuario eliminado
                    if (ActualizarUsuario.ID_EstadoUsuario == (int)ClsEstadosUsuarios.EEstadosUsuarios.Inactivo && PerfilSeleccionado.ID_Perfil == (int)ClsPerfiles.EPerfiles.Gerente)
                    {
                        using (FrmInformacion FormInformacion = new FrmInformacion($"No le puede dar el perfil 'gerente' a un usuario eliminado " +
                                                                                   $"(ya que un gerente no puede estar eliminado).", ClsColores.Blanco, 150, 300))
                        {
                            FormInformacion.ShowDialog();
                        }
                    }
                    else
                    {
                        if (Usuarios.Actualizar(ActualizarUsuario, ref InformacionDelError) != 0)
                        {
                            DialogResult = DialogResult.OK;
                            Close();
                        }
                        else if (InformacionDelError != string.Empty)
                        {
                            MessageBox.Show($"{InformacionDelError}", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                        }
                    }
                }
            }
            else
            {
                using (FrmInformacion FormInformacion = new FrmInformacion(RegistroDeErrores, ClsColores.Blanco, AnchoFormInformacion, 350))
                {
                    FormInformacion.ShowDialog();
                }
            }
        }
예제 #8
0
        private void BtnAceptar_Click(object sender, EventArgs e)
        {
            // Validar los datos.
            bool   DatosValidos         = true;
            string RegistroDeErrores    = string.Empty;
            int    AnchoFormInformacion = 100;

            Perfil PerfilSeleccionado = (Perfil)cmbPerfil.SelectedItem;

            txtNick.Text     = txtNick.Text.Trim();
            txtNombre.Text   = txtNombre.Text.Trim();
            txtApellido.Text = txtApellido.Text.Trim();

            if (txtNick.Text.Length < 2)
            {
                DatosValidos          = false;
                RegistroDeErrores    += "El campo 'Nick' debe tener como minimo 2 caracteres.\r\n\r\n";
                AnchoFormInformacion += 50;
            }

            if (txtNombre.Text.Length < 3)
            {
                DatosValidos          = false;
                RegistroDeErrores    += "El campo 'Nombre' debe tener un minimo de 3 caracteres'.\r\n\r\n";
                AnchoFormInformacion += 50;
            }

            if (txtApellido.Text.Length < 3)
            {
                DatosValidos          = false;
                RegistroDeErrores    += "El campo 'Apellido' debe tener un minimo de 3 caracteres'.\r\n\r\n";
                AnchoFormInformacion += 50;
            }

            if (txtContraseña.Text.Length < 4)
            {
                DatosValidos          = false;
                RegistroDeErrores    += "El campo 'Contraseña' debe tener un minimo de 4 caracteres'.\r\n\r\n";
                AnchoFormInformacion += 50;
            }

            if (VerificarUsuarioRepetido(txtNombre.Text, txtContraseña.Text, ID_Usuario, txtApellido.Text))
            {
                DatosValidos       = false;
                RegistroDeErrores += "Verifique que no exista otro usuario con el mismo nombre y apellido, si no " +
                                     "esta repetido, intente con una contraseña diferente.\r\n\r\n";
                AnchoFormInformacion += 70;
            }

            if (DatosValidos)
            {
                // Si va a ser gerente el nuevo usuario, validarlo
                bool AutorizarEdicion = true;

                if (PerfilSeleccionado.ID_Perfil == (int)ClsPerfiles.EPerfiles.Gerente)
                {
                    AutorizarEdicion = false;

                    FrmRespuesta RespuestaFormulario = new FrmRespuesta($"¿Esta seguro que desea asignarle el perfil ´Gerente'? Una vez confirmado, no se puede editar el tipo de perfil ni eliminar el usuario (por seguridad, el sistema " +
                                                                        "no permite que personas con este tipo sean eliminadas del sistema).", FrmRespuesta.ETamaño.Pequeño, FrmRespuesta.ETipo.Si_No);

                    if (RespuestaFormulario.DialogResult == DialogResult.Yes)
                    {
                        using (FrmValidarUsuario FormValidarUsuario = new FrmValidarUsuario(FrmValidarUsuario.EFiltroUsuariosAutorizados.Gerentes))
                        {
                            FormValidarUsuario.ShowDialog();

                            if (FormValidarUsuario.DialogResult == DialogResult.OK)
                            {
                                AutorizarEdicion = true;
                            }
                        }
                    }
                }

                if (AutorizarEdicion)
                {
                    // Crear usuario
                    txtNick.Text     = txtNick.Text.ToUpper();
                    txtNombre.Text   = txtNombre.Text.Substring(0, 1).ToUpper() + txtNombre.Text.Remove(0, 1).ToLower();
                    txtApellido.Text = txtApellido.Text.Substring(0, 1).ToUpper() + txtApellido.Text.Remove(0, 1).ToLower();

                    string InformacionDelError = string.Empty;

                    ClsUsuarios Usuarios     = new ClsUsuarios();
                    Usuario     CrearUsuario = new Usuario();

                    CrearUsuario.Nick             = txtNick.Text;
                    CrearUsuario.Nombre           = txtNombre.Text;
                    CrearUsuario.Apellido         = txtApellido.Text;
                    CrearUsuario.Contraseña       = txtContraseña.Text;
                    CrearUsuario.ID_EstadoUsuario = (int)ClsEstadosUsuarios.EEstadosUsuarios.Activo;
                    CrearUsuario.ID_Perfil        = PerfilSeleccionado.ID_Perfil;

                    if (Usuarios.Crear(CrearUsuario, ref InformacionDelError) != 0)
                    {
                        DialogResult = DialogResult.OK;
                        Close();
                    }
                    else if (InformacionDelError == string.Empty)
                    {
                        MessageBox.Show("Fallo al crear el usuario", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    }
                    else
                    {
                        MessageBox.Show($"{InformacionDelError}", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    }
                }
            }
            else
            {
                using (FrmInformacion FormInformacion = new FrmInformacion(RegistroDeErrores, ClsColores.Blanco, AnchoFormInformacion, 350))
                {
                    FormInformacion.ShowDialog();
                }
            }
        }
        /// <summary>Actualiza el estado del usuario a activo/inactivo.</summary>
        /// <param name="_EstadoUsuario">Enum que contrendra el numero del tipo de estado.</param>
        private void ActualizarEstadoUsuario(ClsEstadosUsuarios.EEstadosUsuarios _EstadoUsuario)
        {
            ClsUsuarios Usuarios          = new ClsUsuarios();
            Usuario     ActualizarUsuario = new Usuario();

            int TotalDeFilas = dgvDatosUsuarios.Rows.Count;

            for (int Indice = 0; Indice < TotalDeFilas; Indice++)
            {
                //Pregunto si la celda es diferente a null
                if (dgvDatosUsuarios.Rows[Indice].Cells[(int)ENumColDGVUsuarios.Seleccionar].Value != null)
                {
                    //Casteo el check del objeto a booleano y pregunto si es true
                    if ((bool)dgvDatosUsuarios.Rows[Indice].Cells[(int)ENumColDGVUsuarios.Seleccionar].Value)
                    {
                        string InformacionDelError = string.Empty;

                        // Verificacion de que el usuario no este asignado a una mesa actualmente
                        bool UsuarioConMesaAsignada = false;

                        if (_EstadoUsuario == ClsEstadosUsuarios.EEstadosUsuarios.Inactivo)
                        {
                            UsuarioConMesaAsignada = BuscarUsuariosAtendiendoMesa(Indice);
                        }

                        ActualizarUsuario = Usuarios.LeerPorNumero((int)dgvDatosUsuarios.Rows[Indice].Cells[(int)ENumColDGVUsuarios.ID_Usuario].Value, ClsUsuarios.EUsuarioABuscar.PorID, ref InformacionDelError);
                        ActualizarUsuario.ID_EstadoUsuario = (int)_EstadoUsuario;

                        if (!UsuarioConMesaAsignada)
                        {
                            //impedir eliminar perfiles gerentes
                            if (ActualizarUsuario.ID_Perfil != (int)ClsPerfiles.EPerfiles.Gerente)
                            {
                                if (Usuarios.Actualizar(ActualizarUsuario, ref InformacionDelError) != 0)
                                {
                                    dgvDatosUsuarios.Rows.Remove(dgvDatosUsuarios.Rows[Indice]);
                                    Indice       -= 1;
                                    TotalDeFilas -= 1;
                                }
                                else if (InformacionDelError == string.Empty)
                                {
                                    MessageBox.Show($"Error al intentar eliminar el usuario", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                                }
                                else
                                {
                                    MessageBox.Show($"{InformacionDelError}", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                                }
                            }
                            else
                            {
                                using (FrmInformacion FormInformacion = new FrmInformacion($"El usuario '{ActualizarUsuario.Nombre}' no se puede eliminar ya que es un gerente.", ClsColores.Blanco, 150, 300))
                                {
                                    FormInformacion.ShowDialog();
                                }
                            }
                        }
                        else
                        {
                            using (FrmInformacion FormInformacion = new FrmInformacion($"El usuario '{ActualizarUsuario.Nombre} {ActualizarUsuario.Apellido}' no se puede eliminar ya que " +
                                                                                       $"se detecto que esta asignado a una mesa, cambie el usuario que desea eliminar por otro mozo en la " +
                                                                                       $"pantalla de mesas e intente nuevamente.", ClsColores.Blanco, 200, 350))
                            {
                                FormInformacion.ShowDialog();
                            }
                        }
                    }
                }
            }
        }
예제 #10
0
 public ActionResult Login(AccountModel Account)
 {
     try
     {
         if (ModelState.IsValid)
         {
             if (MvcApplication.ObjVersion.NumeroDeVersion.Contains("Demo"))
             {
                 MoSesion.Demo = true;
             }
             else
             {
                 MoSesion.Demo = false;
             }
             Account.IP              = ClsAdicional.ClsGetHostNameAndIP.GetIPv4Address(Request.UserHostAddress);
             Account.Terminal        = ClsAdicional.ClsGetHostNameAndIP.GetHostName(Request.UserHostAddress);
             ViewData["Informacion"] = String.Empty;
             List <ClsUsuarios> lstUsuario = (from q in ClsUsuarios.getList() where q.NombreDeUsuario == Account.NombreDeUsuario && MoCifrado.Descifrado(q.PasswordUsuario) == Account.Password && q.CveDeEstatus == 1 select q).ToList();
             if (lstUsuario.Count == 1)
             {
                 if (!MoSesion.Demo)
                 {
                     List <ClsParametros> ParametroV = (from q in ClsParametros.getList() where q.NombreDeParametro == "FechaVencimientoKuup" select q).ToList();
                     if (ParametroV.Count() != 0)
                     {
                         if (DateTime.Now.ToString("yyyy-MM-dd") == ParametroV.FirstOrDefault().ValorDeParametro)
                         {
                             return(RedirectToAction("Vencimiento", "Account", new { lstUsuario.FirstOrDefault().NumeroDeUsuario }));
                         }
                     }
                 }
                 List <ClsParametros> Parametro = (from q in ClsParametros.getList() where q.NombreDeParametro == "ValidaIP" select q).ToList();
                 if (Parametro.Count() == 1)
                 {
                     List <ClsIPRegistradas> lstIPRegistrada = (from q in ClsIPRegistradas.getList() where q.NumeroDeUsuario == lstUsuario.FirstOrDefault().NumeroDeUsuario&& q.Terminal.ToUpper() == Account.Terminal.ToUpper() && q.IP == Account.IP select q).ToList();
                     if (Parametro.FirstOrDefault().ValorDeParametro == "SI")
                     {
                         if (lstIPRegistrada.Count == 1)
                         {
                             List <ClsUsuariosPerfil> lstUsuarioPerfil = (from q in ClsUsuariosPerfil.getList() where q.NumeroDeUsuario == lstUsuario.FirstOrDefault().NumeroDeUsuario select q).ToList();
                             if (lstUsuarioPerfil.Count == 1)
                             {
                                 MoSesion.NumeroDeUsuario   = lstUsuario.FirstOrDefault().NumeroDeUsuario;
                                 MoSesion.NombreDeUsuario   = lstUsuario.FirstOrDefault().NombreDeUsuario;
                                 MoSesion.NombreDePersona   = lstUsuario.FirstOrDefault().NombreDePersona;
                                 MoSesion.ApellidoPaterno   = lstUsuario.FirstOrDefault().ApellidoPaterno;
                                 MoSesion.ApellidoMaterno   = lstUsuario.FirstOrDefault().ApellidoMaterno;
                                 MoSesion.IPDeUsuario       = lstIPRegistrada.FirstOrDefault().IP;
                                 MoSesion.TerminalDeUsuario = lstIPRegistrada.FirstOrDefault().Terminal;
                                 MoSesion.CveTipoDeAcceso   = lstIPRegistrada.FirstOrDefault().CveTipoDeAcceso;
                                 MoSesion.TextoTipoDeAccedo = lstIPRegistrada.FirstOrDefault().TextoTipoDeAccedo;
                                 MoSesion.NumeroDePerfil    = lstUsuarioPerfil.FirstOrDefault().NumeroDePerfil;
                                 MoSesion.NombreDePerfil    = lstUsuarioPerfil.FirstOrDefault().NombreDePerfil;
                                 MoSesion.Browser           = Request.Browser.Browser + " " + Request.Browser.Version;
                                 if (!MvcApplication.ListaDeSesionesActivas.ContainsKey(MoSesion.IDSesion))
                                 {
                                     MvcApplication.ListaDeSesionesActivas.Add(MoSesion.IDSesion, new SesionActiva()
                                     {
                                         NumeroDeUsuario = MoSesion.NumeroDeUsuario, NumeroDePerfil = MoSesion.NumeroDePerfil, Deslogueado = false
                                     });
                                 }
                                 return(RedirectToAction("Index", "Home"));
                             }
                             else
                             {
                                 ViewData["Informacion"] = Recursos.Textos.Account_ValidaPerfil;
                             }
                         }
                         else
                         {
                             ViewData["Informacion"] = String.Format(Recursos.Textos.Account_ValidaEquipo, Account.Terminal, Account.IP);
                         }
                     }
                     else
                     {
                         lstIPRegistrada = new List <ClsIPRegistradas>();
                         ClsIPRegistradas Ips = new ClsIPRegistradas
                         {
                             IP              = Account.IP,
                             Terminal        = Account.Terminal,
                             CveTipoDeAcceso = 1
                         };
                         List <ClsUsuariosPerfil> lstUsuarioPerfil = (from q in ClsUsuariosPerfil.getList() where q.NumeroDeUsuario == lstUsuario.FirstOrDefault().NumeroDeUsuario select q).ToList();
                         if (lstUsuarioPerfil.Count == 1)
                         {
                             MoSesion.NumeroDeUsuario = lstUsuario.FirstOrDefault().NumeroDeUsuario;
                             Ips.NumeroDeUsuario      = MoSesion.NumeroDeUsuario;
                             lstIPRegistrada.Add(Ips);
                             MoSesion.NombreDeUsuario   = lstUsuario.FirstOrDefault().NombreDeUsuario;
                             MoSesion.NombreDePersona   = lstUsuario.FirstOrDefault().NombreDePersona;
                             MoSesion.ApellidoPaterno   = lstUsuario.FirstOrDefault().ApellidoPaterno;
                             MoSesion.ApellidoMaterno   = lstUsuario.FirstOrDefault().ApellidoMaterno;
                             MoSesion.IPDeUsuario       = lstIPRegistrada.FirstOrDefault().IP;
                             MoSesion.TerminalDeUsuario = lstIPRegistrada.FirstOrDefault().Terminal;
                             MoSesion.CveTipoDeAcceso   = lstIPRegistrada.FirstOrDefault().CveTipoDeAcceso;
                             MoSesion.TextoTipoDeAccedo = lstIPRegistrada.FirstOrDefault().TextoTipoDeAccedo;
                             MoSesion.NumeroDePerfil    = lstUsuarioPerfil.FirstOrDefault().NumeroDePerfil;
                             MoSesion.NombreDePerfil    = lstUsuarioPerfil.FirstOrDefault().NombreDePerfil;
                             MoSesion.Browser           = Request.Browser.Browser + " " + Request.Browser.Version;
                             if (!MvcApplication.ListaDeSesionesActivas.ContainsKey(MoSesion.IDSesion))
                             {
                                 MvcApplication.ListaDeSesionesActivas.Add(MoSesion.IDSesion, new SesionActiva()
                                 {
                                     NumeroDeUsuario = MoSesion.NumeroDeUsuario, NumeroDePerfil = MoSesion.NumeroDePerfil, Deslogueado = false
                                 });
                             }
                             return(RedirectToAction("Index", "Home"));
                         }
                         else
                         {
                             ViewData["Informacion"] = Recursos.Textos.Account_ValidaPerfil;
                         }
                     }
                 }
             }
             else
             {
                 ViewData["Informacion"] = Recursos.Textos.Account_ValidaUsuarioContraseña;
             }
         }
     }
     catch (Exception e)
     {
         ViewData["Informacion"] = Recursos.Textos.Bitacora_TextoTryCatchGenerico;
         ClsBitacora.GeneraBitacora(NumeroDePantalla, 1, "Login", String.Format(Recursos.Textos.Bitacora_TextoDeError, e.GetType().ToString(), e.Message.Trim(), e.GetHashCode().ToString()));
         MoSesion.LimpiaSesion();
     }
     return(View());
 }
예제 #11
0
 public ActionResult Contacto(Contacto Registro)
 {
     if (ModelState.IsValid)
     {
         ClsAdicional.ClsResultado   Resultado = new ClsAdicional.ClsResultado(true, String.Empty);
         List <ClsParametros>        Parametro = (from q in ClsParametros.getList() where q.CveTipo == 3 select q).ToList();
         ClsAdicional.EnvioDeCorreos envio     = new ClsAdicional.EnvioDeCorreos(Parametro.Where(x => x.NombreDeParametro == "CorreosContacto").Select(y => y.ValorDeParametro).FirstOrDefault(), Registro.Asunto, Registro.Mensaje);
         String ContenidoPlantilla             = envio.PlantillaHtml("EnvioKuup.html");
         if (!String.IsNullOrEmpty(ContenidoPlantilla))
         {
             ContenidoPlantilla = ContenidoPlantilla.Replace("#Contenido#", Registro.Mensaje);
             ContenidoPlantilla = ContenidoPlantilla.Replace("#DeclaratoriaFooter#", Parametro.Where(x => x.NombreDeParametro == "DeclaratoriaFooter").Select(y => y.Descripcion).FirstOrDefault());
             ContenidoPlantilla = ContenidoPlantilla.Replace("#DireccionWebEmpresa#", Parametro.Where(x => x.NombreDeParametro == "DireccionWebEmpresa").Select(y => y.ValorDeParametro).FirstOrDefault());
             ContenidoPlantilla = ContenidoPlantilla.Replace("#NombreDeLaEmpresa#", Parametro.Where(x => x.NombreDeParametro == "NombreDeLaEmpresa").Select(y => y.ValorDeParametro).FirstOrDefault());
             ContenidoPlantilla = ContenidoPlantilla.Replace("#RutaDeLogoParaReportes#", Parametro.Where(x => x.NombreDeParametro == "RutaDeLogoParaReportes").Select(y => y.ValorDeParametro).FirstOrDefault());
             envio.Mensaje      = ContenidoPlantilla;
         }
         Dictionary <String, String> imagen = new Dictionary <string, string>();
         imagen.Add("RutaDeLogoParaReportes", Server.MapPath("~/Content/Imagenes/Kuup/Firma correo.png"));
         Resultado = envio.EnviarCorreo(imagen);
         if (Resultado.Resultado)
         {
             ClsUsuarios usuario = new ClsUsuarios();
             usuario.NombreDeUsuario = usuario.UsuarioParaDemo();//Registro.ApellidoPaterno.ToCharArray()[0].ToString().ToUpper() + Registro.Nombre.Split(' ')[0].ToUpper();
             usuario.NombreDePersona = Registro.Nombre.Trim();
             usuario.ApellidoPaterno = Registro.ApellidoPaterno.Trim();
             usuario.ApellidoMaterno = Registro.ApellidoMaterno.Trim();
             usuario.CorreoDeUsuario = Registro.Correo.Trim();
             usuario.FechaDeRegistro = DateTime.Now;
             usuario.PasswordUsuario = MoCifrado.Cifrado(Registro.Nombre.Trim().ToCharArray()[0].ToString().ToUpper() + Registro.ApellidoPaterno.Trim().ToCharArray()[0].ToString().ToUpper() + Registro.ApellidoPaterno.Trim().Substring(1, Registro.ApellidoPaterno.Trim().Length - 1) + "001");
             usuario.CveDeEstatus    = 1;
             if (usuario.Insert())
             {
                 byte PerfilDemo = (from q in ClsPerfiles.getList() where q.NombreDePerfil.ToUpper() == "DEMO" select q.NumeroDePerfil).FirstOrDefault();
                 ClsUsuariosPerfil AsignaPerfil = new ClsUsuariosPerfil()
                 {
                     NumeroDePerfil  = PerfilDemo,
                     NumeroDeUsuario = usuario.NumeroDeUsuario,
                     CveDeEstatus    = 1
                 };
                 if (AsignaPerfil.Insert())
                 {
                     envio = new ClsAdicional.EnvioDeCorreos(Registro.Correo, Registro.Asunto, Registro.Mensaje);
                     ContenidoPlantilla = envio.PlantillaHtml("EnvioKuup.html");
                     if (!String.IsNullOrEmpty(ContenidoPlantilla))
                     {
                         ContenidoPlantilla = ContenidoPlantilla.Replace("#Contenido#", String.Format(Parametro.Where(x => x.NombreDeParametro == "MensajeParaUsuario").Select(y => y.Descripcion).FirstOrDefault(), usuario.NombreDeUsuario, MoCifrado.Descifrado(usuario.PasswordUsuario)));
                         ContenidoPlantilla = ContenidoPlantilla.Replace("#DeclaratoriaFooter#", Parametro.Where(x => x.NombreDeParametro == "DeclaratoriaFooter").Select(y => y.Descripcion).FirstOrDefault());
                         ContenidoPlantilla = ContenidoPlantilla.Replace("#DireccionWebEmpresa#", Parametro.Where(x => x.NombreDeParametro == "DireccionWebEmpresa").Select(y => y.ValorDeParametro).FirstOrDefault());
                         ContenidoPlantilla = ContenidoPlantilla.Replace("#NombreDeLaEmpresa#", Parametro.Where(x => x.NombreDeParametro == "NombreDeLaEmpresa").Select(y => y.ValorDeParametro).FirstOrDefault());
                         ContenidoPlantilla = ContenidoPlantilla.Replace("#RutaDeLogoParaReportes#", Parametro.Where(x => x.NombreDeParametro == "RutaDeLogoParaReportes").Select(y => y.ValorDeParametro).FirstOrDefault());
                         envio.Mensaje      = ContenidoPlantilla;
                     }
                     imagen = new Dictionary <string, string>();
                     imagen.Add("RutaDeLogoParaReportes", Server.MapPath("~/Content/Imagenes/Kuup/Firma correo.png"));
                     Resultado = envio.EnviarCorreo(imagen);
                     if (Resultado.Resultado)
                     {
                         ViewData["Informacion"] = "Se le ha enviado usuario y contraseña para el acceso a la Demo";
                         return(View("EnvioDeSolicitud"));
                     }
                     else
                     {
                         ViewData["Informacion"] = "No fue posible realizar el envió de usuario y contraseña para su acceso a la Demo";
                     }
                 }
             }
         }
         if (!Resultado.Resultado)
         {
             ClsBitacora.GeneraBitacora(NumeroDePantalla, 1, "EnviorCorreo", Resultado.Mensaje);
         }
     }
     else
     {
         ViewData["Informacion"] = "Los registros no son válidos para la solicitud";
     }
     return(View(Registro));
 }
예제 #12
0
        private int IngresarUsuario(ClsUsuarios pvo_Usuario)
        {
            int             vln_IDUsuario = 0;
            MySqlConnection ConexionOagina;
            MySqlCommand    CommandPagina;
            int             vln_Correcto = 0;

            try
            {
                ConexionOagina = new MySqlConnection
                {
                    ConnectionString = ClsConfiguracion.getConnectionString()
                };
                CommandPagina = new MySqlCommand
                {
                    Connection = ConexionOagina
                };
                string vlc_SentenciaPagina = string.Empty;

                vlc_SentenciaPagina = "SP_REGISTRAR_Y_ACTUALIZAR_USUARIO";

                CommandPagina.CommandType = CommandType.StoredProcedure;
                CommandPagina.Parameters.AddWithValue("@_ID_USUARIO", pvo_Usuario.ID_Usuario);
                CommandPagina.Parameters["@_ID_USUARIO"].Direction = ParameterDirection.InputOutput;
                CommandPagina.Parameters.AddWithValue("@_NOMBRE", pvo_Usuario.Nombre_Profesional);
                CommandPagina.Parameters.AddWithValue("@_APELLIDO1", pvo_Usuario.Apellido1_Profesional);
                CommandPagina.Parameters.AddWithValue("@_APELLIDO2", pvo_Usuario.Apellido2_Profesional);
                CommandPagina.Parameters.AddWithValue("@_CORREO", pvo_Usuario.Correo);
                CommandPagina.Parameters.AddWithValue("@_TELEFONO", pvo_Usuario.Telefono_Profesional);
                CommandPagina.Parameters.AddWithValue("@_DESCRIPCION", pvo_Usuario.Descripcion);
                CommandPagina.Parameters.AddWithValue("@_USUARIO_PREMIUM", pvo_Usuario.Usuario_Premium);
                CommandPagina.Parameters.AddWithValue("@_ES_PROFESIONAL", pvo_Usuario.Perfil_Profesional);
                CommandPagina.Parameters.Add("@_MSJ", MySqlDbType.VarChar, 100);
                CommandPagina.Parameters["@_MSJ"].Direction = ParameterDirection.Output;
                CommandPagina.CommandText = vlc_SentenciaPagina;

                ConexionOagina.Open();
                vln_Correcto  = CommandPagina.ExecuteNonQuery();
                vln_IDUsuario = Convert.ToInt32(CommandPagina.Parameters["@_ID_USUARIO"].Value);
                //if (vln_Correcto>0)
                //{
                //    vlc_SentenciaPagina = "SELECT ID_USUARIO FROM PAGINA_WEB.USUARIOS ORDER by ID_USUARIO DESC LIMIT 1";
                //    CommandPagina.CommandText = vlc_SentenciaPagina;
                //    ReaderPagina = CommandPagina.ExecuteReader();

                //    ReaderPagina.Read();
                //    vln_IDUsuario = ReaderPagina.GetInt32(0);
                //    ReaderPagina.Close();
                //    ReaderPagina.Dispose();
                //}


                ConexionOagina.Close();
                ConexionOagina.Dispose();
                CommandPagina.Dispose();
            }
            catch (Exception)
            {
                throw;
            }

            if (vln_Correcto == 0)
            {
                vln_IDUsuario = -3;
            }

            return(vln_IDUsuario);
        }
예제 #13
0
        public int Registrar(string pvc_Password, ClsUsuarios pvo_Usuario)
        {
            //Variables
            int             vln_ID       = 0;
            int             vln_Correcto = 0;
            int             Filas        = 0;
            MySqlConnection ConexionLogin;
            MySqlCommand    CommandLogin;
            MySqlDataReader ReaderLogin;
            string          vlc_SentenciaLogin = string.Empty;

            //Inicio
            try
            {
                ConexionLogin = new MySqlConnection
                {
                    ConnectionString = ClsConfiguracion.GetLoginString()
                };
                CommandLogin = new MySqlCommand
                {
                    Connection = ConexionLogin
                };

                vlc_SentenciaLogin       = "******" + pvo_Usuario.Correo + "';";
                CommandLogin.CommandText = vlc_SentenciaLogin;

                ConexionLogin.Open();
                ReaderLogin = CommandLogin.ExecuteReader();
                ReaderLogin.Read();
                if (ReaderLogin.HasRows)
                {
                    Filas = ReaderLogin.GetInt32(2);
                    ConexionLogin.Close();
                }
                CommandLogin.Dispose();
                ConexionLogin.Dispose();
                if (Filas == 0)
                {
                    try
                    {
                        vln_ID = IngresarUsuario(pvo_Usuario);

                        if (vln_ID > 0)
                        {
                            vln_Correcto = InsertarLogin(vln_ID, pvo_Usuario, pvc_Password);

                            if (vln_Correcto == 0)
                            {
                                vln_ID = -4;
                            }
                        }
                    }
                    catch (Exception)
                    {
                        throw;
                    }
                    try
                    {
                    }
                    catch (Exception)
                    {
                        throw;
                    }
                }
                else
                {
                    vln_ID = -2;
                }
                ReaderLogin.Close();
                ReaderLogin.Dispose();
            }
            catch (Exception)
            {
                throw;
            }
            finally
            {
            }
            return(vln_ID);
        }