Top Ad unit 728 × 90

Recientes

recent

Diseño Sistema de Ventas C# - Visual Studio 2013 y Sql Server 2014 (25-41) Gestión de Accesos

Buen día amigos de IncanatoIt, en este artículo diseñaremos el formulario Login, para controlar el acceso al sistema de ventas desarrollado en C# utilizando como IDE de desarrollo Visual Studio 2013 y SQL Server 2014 como gestor de base de datos.
Se realizará también la gestión de accesos trabajando con tipos de usuarios: Administrador, Vendedor, Almacenero; los usuarios tendrán restricciones:
  • El usuario administrador no tiene ninguna restricción.
  • El usuario Vendedor tiene restricciones para el módulo Almacén, Mantenimiento, Compras y total acceso al módulo Ventas.
  • El usuario Almacenero tiene restricciones para el módulo Ventas y mantenimiento, pero total acceso al módulo Almacén y Compras.

Utilizaremos el control timer para mostrar la hora y fecha actualizada en C#.

Pueden descargar el paquete del proyecto desarrollado en el curso, la base de datos, los procedimientos almacenados y el sistema completo hasta el Video 41 desde:

Puedes descargar la versión completa del proyecto con todas las funcionalidades terminadas desde:

Pueden seguir el curso completo y aprender a desarrollar un Sistema de Ventas en Csharp.Net utilizando como IDE de desarrollo Visual Studio 2013 y como gestor de Base de datos SQL Server 2014 desde:

No se olviden siempre de Visitar mi canal www.youtube.com/jcarlosad7 para ver los nuevos cursos.

Formulario FrmLogin


Código Fuente del Formulario Login


using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

using CapaNegocio;

namespace CapaPresentacion
{
    public partial class FrmLogin : Form
    {
        public FrmLogin()
        {
            InitializeComponent();
            LblHora.Text = DateTime.Now.ToString();
        }

        private void BtnSalir_Click(object sender, EventArgs e)
        {
            this.Close();
Application.Exit();
        }

        private void TmHora_Tick(object sender, EventArgs e)
        {
            LblHora.Text = DateTime.Now.ToString();
        }

        private void BtnIngresar_Click(object sender, EventArgs e)
        {
            DataTable Datos= NTrabajador.Login(this.TxtUsuario.Text, this.TxtPassword.Text);
            //Evaluamos si no existen los Datos
            if (Datos.Rows.Count==0)
            {
                MessageBox.Show("No Tiene Acceso al Sistema", "Sistema Ventas", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            else
            {
               FrmPrincipal frm = new FrmPrincipal();
                frm.Idtrabajador = Datos.Rows[0][0].ToString();
                frm.Apellidos = Datos.Rows[0][1].ToString();
                frm.Nombre = Datos.Rows[0][2].ToString();
                frm.Acceso = Datos.Rows[0][3].ToString();

                frm.Show();
                this.Hide();

            }
            
        }
    }
}

Código Fuente del FrmPrincipal para gestionar los accesos a los módulos


public string Idtrabajador="";
        public string Apellidos = "";
        public string Nombre = "";
        public string Acceso = "";

private void FrmPrincipal_Load(object sender, EventArgs e)
        {

            GestionUsuarios();
        }

        private void GestionUsuarios()
        {
            //Controlamos los accesos Administrador, Vendedor, Almacenero
            if (Acceso == "Administrador")
            {
                this.MnuAlmacen.Enabled = true;
                this.MnuCompras.Enabled = true;
                this.MnuVentas.Enabled = true;
                this.MnuMantenimiento.Enabled = true;
                this.MnuConsultas.Enabled = true;
                this.MnuHerramientas.Enabled = true;
                this.TsCompras.Enabled = true;
                this.TsVentas.Enabled = true;

            }
            else if (Acceso == "Vendedor")
            {
                this.MnuAlmacen.Enabled = false;
                this.MnuCompras.Enabled = false;
                this.MnuVentas.Enabled = true;
                this.MnuMantenimiento.Enabled = false;
                this.MnuConsultas.Enabled = true;
                this.MnuHerramientas.Enabled = true;
                this.TsCompras.Enabled = false;
                this.TsVentas.Enabled = true;
            }
            else if (Acceso == "Almacenero")
            {
                this.MnuAlmacen.Enabled = true;
                this.MnuCompras.Enabled = true;
                this.MnuVentas.Enabled = false;
                this.MnuMantenimiento.Enabled = false;
                this.MnuConsultas.Enabled =true;
                this.MnuHerramientas.Enabled = true;
                this.TsCompras.Enabled = true;
                this.TsVentas.Enabled = true;
            }
            else
            {
                this.MnuAlmacen.Enabled = false;
                this.MnuCompras.Enabled = false;
                this.MnuVentas.Enabled = false;
                this.MnuMantenimiento.Enabled = false;
                this.MnuConsultas.Enabled = false;
                this.MnuHerramientas.Enabled = false;
                this.TsCompras.Enabled = false;
                this.TsVentas.Enabled = false;
            }

        }


Video 25: Sistema de Ventas C# - Visual Studio 2013 - Sql Server 2014 (25-34) Gestión Accesos

Saludos Imperio, un abrazo a la distancia!
Diseño Sistema de Ventas C# - Visual Studio 2013 y Sql Server 2014 (25-41) Gestión de Accesos Reviewed by IncanatoIt-ad on 17:45 Rating: 5

12 comentarios:

  1. Hola me podrias mandar el Script de la base de datos por favor te lo agradecere mucho
    este es mi correo oscar_italy@hotmail.com mil gracias por tus atributos y apoyo

    ResponderEliminar
  2. Juan Carlos, un interrogante que tengo, al cambiar en sql la columna password por varbinary, como la trabajariamos en C#, tienes algo que me ayude a salir del lio?
    Gracias por tu colaboración ya que hasta ahora estoy tratando de manejar C# y mis recursos son limitados.

    ResponderEliminar
  3. Hola y Muchas Gracias Juan Carlos por esos Videotutoriales
    trato de comunicarte contigo por un error que me sale y no se como solucionarlo.
    al ejecutar el login me sale
    Excepción no controlada del tipo 'System.NullReferenceException' en CapaPresentacion.dll
    en la siguiente linea de codigo
    if (Datos.Rows.Count==0)

    y busco y no se como solucionarlo
    si alguien me pudiera ayudar se lo agradeceria

    ResponderEliminar
    Respuestas
    1. Amigo lograste solucionar el error? tengo el mismo problema , si logras solucionar contactame porfa jhoe608@gmail.com

      Eliminar
    2. en la capa datos SqlCmd.CommandText = "sp_login"; cambiar por "splogin";

      Eliminar
    3. a mi me paso el mismo error, pero me habia equivocado aqui
      public DataTable Login (DTrabajador Trabajador)

      habia repetido el nombre de parametro en los dos argumentos, los cambie y funciono normalmente, ej

      ParUsuario.ParameterName = "@usuario";
      ParPassword.ParameterName = "@password";
      en el parametro @password habia repetido @usuario, cambie e ingrese normalmente

      Eliminar
  4. Me salio el mismo problema alguien tiene la solución
    cuando intento correr la aplicación es cuando sale el error

    ResponderEliminar
  5. jajaja. amigos el codigo funciona perfecto , solo que no es un mp3 para ejecutar y listo... puej le doy una pista para aregle su problema.XD esta en la capa de DATOS! modificando un linea de codigo se soluciona! arriba muchachos ustedes pueden.!! lindo codigo...

    ResponderEliminar
  6. Buenas Tardes. Muy animoso a mis 62 annos con tus excelente videos. Lamentablemente al Logearme (Video 25 - Gestión de Acceso). Con usuario y password existente, no me toma ningún mensaje de error, ni entra al menú principal. me indica el error en a línea 37: if (Datos.Rows.Count==0)
    He intentado de todas maneras sin lograr resultado.

    ResponderEliminar
  7. Buenas, Nuevamente pensionado gomoso 62 annos, todo el error estaba en el procedimiento almacenato al llamarlo tenía equivocado el nombre con el cual lo creé. Gracias. Seguiré con la goma.

    ResponderEliminar
  8. Un genio Juan Carlos.! Gracias por compartir tus conocimientos

    ResponderEliminar

Todos los derechos reservados www.IncanatoIT.com - Desarrollando Software © 2014 - 2019
Desarrollado por Blogger, Designed by Sweetheme
IncanatoIt.com. Con la tecnología de Blogger.
y>