예제 #1
0
        private void botonIniciar_Click(object sender, EventArgs e)
        {
            byte[] hash = Utilidades.SHA256Encrypt(boxContraseña.Text);

            var     context = new GD2C2018Entities();
            Usuario usuario = (from u in context.Usuario
                               where u.Usuario_Username == boxUsuario.Text
                               select u).FirstOrDefault();

            if (ValidarUsuario(usuario, hash, context))
            {
                usuario.Usuario_Inicios++;
                usuario.Usuario_Intentos_Fallidos = 0;
                context.SaveChanges();
                if (usuario.Usuario_Autogenerado ?? false)
                {
                    if (usuario.Usuario_Inicios > 1)
                    {
                        Inhabilitar(usuario, context);
                        MessageBox.Show("Debía cambiar su contraseña ya que su usuario era autogenerado. Su usuario se encuentra bloqueado.");
                    }
                    else
                    {
                        MessageBox.Show("Su usuario fue autogenerado, debe cambiar la contraseña EN ESTA SESIÓN");
                        var rol = usuario.Rol.First();
                        Sesion.LogIn(usuario, rol);
                        MenuForm.ObtenerInstancia(rol); //cargo menu
                        new CuentaForm().Show();
                    }
                }
                else
                {
                    var roles = usuario.Rol.ToList();
                    if (roles.Count() == 0)
                    {
                        MessageBox.Show("No tiene roles asignados!\nPuede deberse a la inhabilitación de ese rol. Contacte a un admin.");
                    }
                    else if (roles.Count() == 1)
                    {
                        var rol = roles.First();
                        Sesion.LogIn(usuario, rol);
                        var menu = MenuForm.ObtenerInstancia(rol);
                        Owner.Hide();
                        this.Close();
                        menu.Show();
                    }
                    else
                    {
                        this.Hide();
                        new SeleccionRolForm(roles, usuario).Show(this);
                    }
                }
            }
        }
예제 #2
0
        private void botonContinuar_Click(object sender, EventArgs e)
        {
            var rol = Roles.Single(r => r.Rol_Nombre == boxRol.Text);

            Sesion.LogIn(Usuario, rol);
            var menu = MenuForm.ObtenerInstancia(rol);

            Owner.Owner.Hide();
            Owner.Close();
            this.Close();
            menu.Show();
        }
예제 #3
0
        private void botonRegistrarse_Click(object sender, EventArgs e)
        {
            bool existeUsuario = ValidacionesInput.ExisteUsuario(boxUsuario.Text);
            bool existeEmpresa = ValidacionesInput.ExisteEmpresa(boxRazon.Text, boxCUIT.Text);
            bool cuitValido    = ValidacionesInput.CUILValido(boxCUIT.Text);

            if (existeUsuario)
            {
                MessageBox.Show("Ese nombre de usuario ya se encuentra en uso", "Error de Usuario");
            }
            if (existeEmpresa)
            {
                MessageBox.Show("Ya existe una empresa con esa razón social o CUIT", "Error de Empresa");
            }
            if (!cuitValido)
            {
                MessageBox.Show("El CUIL ingresado no tiene el formado correcto\nEjemplo: ##-########-#", "Error de CUIL");
            }

            if (!existeUsuario && !existeEmpresa && cuitValido)
            {
                var context = new GD2C2018Entities();

                Usuario usuario = new Usuario
                {
                    Usuario_Username          = boxUsuario.Text,
                    Usuario_Password          = Utilidades.SHA256Encrypt(boxContraseña.Text),
                    Usuario_Intentos_Fallidos = 0,
                    Usuario_Autogenerado      = false
                };

                var piso     = boxPiso.Text.Length > 0 ? decimal.Parse(boxPiso.Text) : 0;
                var nroCalle = boxNumero.Text.Length > 0 ? decimal.Parse(boxNumero.Text) : 0;

                Espec_Empresa empresa = new Espec_Empresa
                {
                    Espec_Empresa_Fecha_Creacion = DateTime.Now,
                    Espec_Empresa_Razon_Social   = boxRazon.Text,
                    Espec_Empresa_Cuit           = boxCUIT.Text,
                    Espec_Empresa_Mail           = boxMail.Text,
                    Espec_Empresa_Dom_Calle      = boxCalle.Text,
                    Espec_Empresa_Nro_Calle      = piso,
                    Espec_Empresa_Telefono       = boxTelefono.Text,
                    Espec_Empresa_Localidad      = boxLocalidad.Text,
                    Espec_Empresa_Cod_Postal     = boxCodigoPostal.Text,
                    Espec_Empresa_Depto          = boxDepartamento.Text,
                    Espec_Empresa_Ciudad         = boxCiudad.Text,
                    Espec_Empresa_Piso           = nroCalle,
                    Espec_Empresa_Usuario        = boxUsuario.Text,
                    Espec_Empresa_Habilitado     = true
                };

                context.Entry(usuario).State = System.Data.Entity.EntityState.Added;
                context.Entry(empresa).State = System.Data.Entity.EntityState.Added;

                var rol = context.Rol.Single(r => r.Rol_ID == "EMP");
                usuario.Rol.Add(rol);
                context.SaveChanges();

                MessageBox.Show("Usuario creado con éxito!", "Registro de usuario");
                Sesion.LogIn(usuario, rol);
                var menu = MenuForm.ObtenerInstancia(rol);
                FormsEstaticos.Principal.Hide();
                this.Close();
                menu.Show();
            }
        }
예제 #4
0
        private void botonRegistrarse_Click(object sender, EventArgs e)
        {
            bool existeUsuario = ValidacionesInput.ExisteUsuario(boxUsuario.Text);
            bool existeCliente = ValidacionesInput.ExisteCliente(boxTipoDoc.Text, decimal.Parse(boxNroDoc.Text), boxCUIL.Text);

            if (existeUsuario)
            {
                MessageBox.Show("Ese nombre de usuario ya se encuentra en uso", "Error de Usuario");
            }
            if (existeCliente)
            {
                MessageBox.Show("Ya existe un cliente con ese Tipo y Nro de documento, o bien ese CUIL ya está en uso", "Error de Cliente");
            }

            if (!existeUsuario && !existeCliente)
            {
                var context = new GD2C2018Entities();

                Usuario usuario = new Usuario
                {
                    Usuario_Username          = boxUsuario.Text,
                    Usuario_Password          = Utilidades.SHA256Encrypt(boxContraseña.Text),
                    Usuario_Intentos_Fallidos = 0,
                    Usuario_Autogenerado      = false
                };

                var piso     = boxPiso.Text.Length > 0 ? decimal.Parse(boxPiso.Text) : 0;
                var nroCalle = boxNumero.Text.Length > 0 ? decimal.Parse(boxNumero.Text) : 0;
                var doc      = boxNroDoc.Text.Length > 0 ? decimal.Parse(boxNroDoc.Text) : 0;

                Cliente cliente = new Cliente
                {
                    Cli_Tipo_Doc     = boxTipoDoc.Text,
                    Cli_Nro_Doc      = doc,
                    Cli_CUIL         = boxCUIL.Text,
                    Cli_Nombre       = boxNombre.Text,
                    Cli_Apellido     = boxApellido.Text,
                    Cli_Mail         = boxMail.Text,
                    Cli_Telefono     = boxTelefono.Text,
                    Cli_Dom_Calle    = boxCalle.Text,
                    Cli_Nro_Calle    = nroCalle,
                    Cli_Cod_Postal   = boxCodigoPostal.Text,
                    Cli_Fecha_Alta   = Configuracion.FechaActual,
                    Cli_Fecha_Nac    = boxFecha.Value,
                    Cli_Depto        = boxDepartamento.Text,
                    Cli_Localidad    = boxLocalidad.Text,
                    Cli_Piso         = piso,
                    Cli_Tarjeta_Tipo = boxTipoTarjeta.Text,
                    Cli_Tarjeta_Num  = boxNroTarjeta.Text,
                    Cli_Usuario      = boxUsuario.Text,
                    Cli_Habilitado   = true
                };

                context.Entry(usuario).State = System.Data.Entity.EntityState.Added;
                context.Entry(cliente).State = System.Data.Entity.EntityState.Added;


                var rol = context.Rol.Single(r => r.Rol_ID == "CLI");
                usuario.Rol.Add(rol);
                context.SaveChanges();

                MessageBox.Show("Usuario creado con éxito!", "Registro de usuario");
                Sesion.LogIn(usuario, rol);
                var menu = MenuForm.ObtenerInstancia(Sesion.Rol);
                this.Close();
                FormsEstaticos.Principal.Hide();
                menu.Show();
            }
        }