Пример #1
0
        private bool Validaciones()
        {
            this.cntError.LimpiarErrores();
            try
            {
                var item = Datos.GetEntity <Usuario>(m => m.NombreUsuario.Equals(txtNombreUsuario.Text));
                if (EsNuevo.Equals(true) && item != null)
                {
                    Util.MensajeError("Ya existe un Usuario con ese nombre, intente con otro.", GlobalClass.NombreApp);
                    return(false);
                }
                else if ((EsNuevo.Equals(false) && item != null) && item.UsuarioID != Usuario.UsuarioID)
                {
                    Util.MensajeError("Ya existe un Usuario con ese nombre, intente con otro.", GlobalClass.NombreApp);
                    return(false);
                }

                // Se valida que la contraseña no se repita
                string sContraseniaEnc = UtilLocal.Encriptar(txtContrasenia.Text);
                item = Datos.GetEntity <Usuario>(m => m.Contrasenia.Equals(sContraseniaEnc));
                if (EsNuevo.Equals(true) && item != null)
                {
                    this.cntError.PonerError(this.txtContrasenia, "Error al validar la contraseña. Intenta agregando o modificando algún caracter.");
                }
                else if ((EsNuevo.Equals(false) && item != null) && item.UsuarioID != Usuario.UsuarioID)
                {
                    this.cntError.PonerError(this.txtContrasenia, "Error al validar la contraseña. Intenta agregando o modificando algún caracter.");
                }
            }
            catch (Exception ex)
            {
                Util.MensajeError(ex.Message, GlobalClass.NombreApp);
            }

            if (this.txtNombrePersona.Text == "")
            {
                this.cntError.PonerError(this.txtNombrePersona, "El campo es necesario.", ErrorIconAlignment.MiddleRight);
            }
            if (this.txtNombreUsuario.Text == "")
            {
                this.cntError.PonerError(this.txtNombreUsuario, "El campo es necesario.", ErrorIconAlignment.MiddleRight);
            }
            if (this.txtContrasenia.Text == "")
            {
                this.cntError.PonerError(this.txtContrasenia, "El campo es necesario.", ErrorIconAlignment.MiddleRight);
            }
            if (this.clbPerfiles.CheckedItems.Count < 1)
            {
                this.cntError.PonerError(this.clbPerfiles, "Debe seleccionar al menos un Perfil.", ErrorIconAlignment.MiddleRight);
            }
            return(this.cntError.NumeroDeErrores == 0);
        }
Пример #2
0
        protected override void btnGuardar_Click(object sender, EventArgs e)
        {
            if (!Validaciones())
            {
                return;
            }

            try
            {
                var lista = new List <int>();
                foreach (object itemChecked in clbPerfiles.CheckedItems)
                {
                    Perfil castedItem = itemChecked as Perfil;
                    lista.Add(castedItem.PerfilID);
                }
                if (EsNuevo)
                {
                    var usr = new Usuario()
                    {
                        NombrePersona              = txtNombrePersona.Text,
                        NombreUsuario              = txtNombreUsuario.Text,
                        Contrasenia                = UtilLocal.Encriptar(txtContrasenia.Text),
                        FechaRegistro              = DateTime.Now,
                        Activo                     = cboEstatus.SelectedValue.Equals(1),
                        TipoUsuarioID              = (int?)this.cmbTipoDeUsuario.SelectedValue,
                        Estatus                    = true,
                        Actualizar                 = true,
                        AlertaCalendarioClientes   = this.clbAlertas.GetItemChecked(0),
                        AlertaPedidos              = this.clbAlertas.GetItemChecked(1),
                        Alerta9500                 = this.clbAlertas.GetItemChecked(2),
                        AlertaTraspasos            = this.clbAlertas.GetItemChecked(3),
                        AlertaDevFacturaCreditoAnt = this.clbAlertas.GetItemChecked(4)
                    };
                    Datos.SaveOrUpdate <Usuario>(usr);
                    UpdateUsuarioPerfiles(usr.UsuarioID, lista);

                    // Se crean las cuentas auxiliares indispensables
                    ContaProc.CrearCuentaAuxiliar(usr.NombrePersona, Cat.ContaCuentasDeMayor.Salarios, usr.UsuarioID);
                    ContaProc.CrearCuentaAuxiliar(usr.NombrePersona, Cat.ContaCuentasDeMayor.TiempoExtra, usr.UsuarioID);
                    ContaProc.CrearCuentaAuxiliar(usr.NombrePersona, Cat.ContaCuentasDeMayor.PremioDeAsistencia, usr.UsuarioID);
                    ContaProc.CrearCuentaAuxiliar(usr.NombrePersona, Cat.ContaCuentasDeMayor.PremioDePuntualidad, usr.UsuarioID);
                    ContaProc.CrearCuentaAuxiliar(usr.NombrePersona, Cat.ContaCuentasDeMayor.Vacaciones, usr.UsuarioID);
                    ContaProc.CrearCuentaAuxiliar(usr.NombrePersona, Cat.ContaCuentasDeMayor.PrimaVacacional, usr.UsuarioID);
                    ContaProc.CrearCuentaAuxiliar(usr.NombrePersona, Cat.ContaCuentasDeMayor.Aguinaldo, usr.UsuarioID);
                    ContaProc.CrearCuentaAuxiliar(usr.NombrePersona, Cat.ContaCuentasDeMayor.Ptu, usr.UsuarioID);
                    ContaProc.CrearCuentaAuxiliar(usr.NombrePersona, Cat.ContaCuentasDeMayor.Imss, usr.UsuarioID);
                    ContaProc.CrearCuentaAuxiliar(usr.NombrePersona, Cat.ContaCuentasDeMayor.Ispt, usr.UsuarioID);
                    ContaProc.CrearCuentaAuxiliar(usr.NombrePersona, Cat.ContaCuentasDeMayor.Infonavit, usr.UsuarioID);
                    ContaProc.CrearCuentaAuxiliar(usr.NombrePersona, Cat.ContaCuentasDeMayor.RetencionImss, usr.UsuarioID);
                    ContaProc.CrearCuentaAuxiliar(usr.NombrePersona, Cat.ContaCuentasDeMayor.SubsidioAlEmpleo, usr.UsuarioID);
                    ContaProc.CrearCuentaAuxiliar(usr.NombrePersona, Cat.ContaCuentasDeMayor.RetencionInfonavit, usr.UsuarioID);

                    ContaProc.CrearCuentaAuxiliar(usr.NombrePersona, Cat.ContaCuentasDeMayor.DeudoresDiversos, usr.UsuarioID);
                    ContaProc.CrearCuentaAuxiliar(usr.NombrePersona, Cat.ContaCuentasDeMayor.Nomina2Por, usr.UsuarioID);
                }
                else
                {
                    Usuario.NombrePersona     = txtNombrePersona.Text;
                    Usuario.NombreUsuario     = txtNombreUsuario.Text;
                    Usuario.Contrasenia       = UtilLocal.Encriptar(txtContrasenia.Text);
                    Usuario.FechaModificacion = DateTime.Now;
                    Usuario.Activo            = cboEstatus.SelectedValue.Equals(1);
                    Usuario.TipoUsuarioID     = (int?)this.cmbTipoDeUsuario.SelectedValue;
                    //alertas
                    Usuario.AlertaCalendarioClientes = this.clbAlertas.GetItemChecked(0);
                    Usuario.AlertaPedidos            = this.clbAlertas.GetItemChecked(1);
                    Usuario.Alerta9500                 = this.clbAlertas.GetItemChecked(2);
                    Usuario.AlertaTraspasos            = this.clbAlertas.GetItemChecked(3);
                    Usuario.AlertaDevFacturaCreditoAnt = this.clbAlertas.GetItemChecked(4);

                    Datos.SaveOrUpdate <Usuario>(Usuario);
                    UpdateUsuarioPerfiles(Usuario.UsuarioID, lista);
                }
                new Notificacion("Usuario Guardado exitosamente", 2 * 1000).Mostrar(Principal.Instance);
                usuarios.Instance.CustomInvoke <usuarios>(m => m.ActualizarListado());
            }
            catch (Exception ex)
            {
                Util.MensajeError(ex.Message, GlobalClass.NombreApp);
            }
            this.Close();
        }