public void BtnGenerarCopiaDeSeguridad_Click(object sender, EventArgs e) { using (FrmValidarUsuario FormValidarUsuario = new FrmValidarUsuario(FrmValidarUsuario.EFiltroUsuariosAutorizados.Gerentes)) { FormValidarUsuario.ShowDialog(); if (FormValidarUsuario.DialogResult == DialogResult.OK) { using (FrmRutaBackUp FormRutaBackUp = new FrmRutaBackUp()) { string InformacionDelError = string.Empty; bool CreacionCancelada = false; string Ruta = ClsGenerarBackUps.GenerarBackUp(ref CreacionCancelada, ref InformacionDelError); if (Ruta != string.Empty && InformacionDelError == string.Empty && !CreacionCancelada) { FormRutaBackUp.S_Ruta = Ruta; FormRutaBackUp.ShowDialog(); } else if (InformacionDelError != string.Empty) { FrmPrincipal.ObtenerInstancia().MensajeAdvertencia("Ocurrio un error al intentar generar la copia de seguridad"); MessageBox.Show($"{InformacionDelError}", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning); } else if (!CreacionCancelada) { FrmPrincipal.ObtenerInstancia().MensajeAdvertencia("Ocurrio un error al intentar generar la copia de seguridad"); MessageBox.Show($"Ocurrio un error al intentar generar la copia de seguridad", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning); } } } } }
private void DgvDatosUsuarios_CellMouseDoubleClick(object sender, DataGridViewCellMouseEventArgs e) { DataGridView DetectarTipoCasilla = (DataGridView)sender; if (e.RowIndex != -1 && !(DetectarTipoCasilla.Columns[e.ColumnIndex] is DataGridViewCheckBoxColumn)) { using (FrmValidarUsuario VerificarDueñoUsuario = new FrmValidarUsuario((int)dgvDatosUsuarios.Rows[e.RowIndex].Cells[(int)ENumColDGVUsuarios.ID_Usuario].Value)) { if (FrmInicioSesion.ObtenerInstancia().G_ID_UsuarioInicioSesion != (int)ClsPerfiles.EPerfiles.Administrador) { VerificarDueñoUsuario.ShowDialog(); } else { VerificarDueñoUsuario.DialogResult = DialogResult.OK; } if (VerificarDueñoUsuario.DialogResult == DialogResult.OK) { using (FrmUsuario FormCargarUsuario = new FrmUsuario((int)dgvDatosUsuarios.Rows[e.RowIndex].Cells[(int)ENumColDGVUsuarios.ID_Usuario].Value, rbnUsuariosActivos.Checked)) { FormCargarUsuario.ShowDialog(); if (FormCargarUsuario.DialogResult == DialogResult.OK) { string InformacionDelError = string.Empty; ClsUsuarios Usuarios = new ClsUsuarios(); Usuario ActualizarEdicion = new Usuario(); ActualizarEdicion = Usuarios.LeerPorNumero((int)dgvDatosUsuarios.Rows[e.RowIndex].Cells[(int)ENumColDGVUsuarios.ID_Usuario].Value, ClsUsuarios.EUsuarioABuscar.PorID, ref InformacionDelError); if (ActualizarEdicion != null) { dgvDatosUsuarios.Rows[e.RowIndex].Cells[(int)ENumColDGVUsuarios.ID_Usuario].Value = ActualizarEdicion.ID_Usuario; dgvDatosUsuarios.Rows[e.RowIndex].Cells[(int)ENumColDGVUsuarios.Nick].Value = ActualizarEdicion.Nick; dgvDatosUsuarios.Rows[e.RowIndex].Cells[(int)ENumColDGVUsuarios.Nombre].Value = ActualizarEdicion.Nombre; dgvDatosUsuarios.Rows[e.RowIndex].Cells[(int)ENumColDGVUsuarios.Apellido].Value = ActualizarEdicion.Apellido; dgvDatosUsuarios.Rows[e.RowIndex].Cells[(int)ENumColDGVUsuarios.Perfil].Value = ActualizarEdicion.Perfil.Nombre; dgvDatosUsuarios.Sort(dgvDatosUsuarios.Columns[(int)ENumColDGVUsuarios.Perfil], ListSortDirection.Descending); } else { MessageBox.Show($"{InformacionDelError}", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning); } UltimaFilaSeleccionada = -1; } } } } } }
private void InformacionDelRestaurantetoolStripMenuItem_Click(object sender, EventArgs e) { using (FrmValidarUsuario FormValidarUsuario = new FrmValidarUsuario(FrmValidarUsuario.EFiltroUsuariosAutorizados.GerentesSubGerentes)) { FormValidarUsuario.ShowDialog(); if (FormValidarUsuario.DialogResult == DialogResult.OK) { FrmConfiguracion.ObtenerInstancia().BtnEditarInformacionRestaurante_Click(sender, e); } } }
private void CrearArticuloToolStripMenuItem_Click(object sender, EventArgs e) { using (FrmValidarUsuario FormValidarUsuario = new FrmValidarUsuario(FrmValidarUsuario.EFiltroUsuariosAutorizados.GerentesSubGerentes)) { FormValidarUsuario.ShowDialog(); if (FormValidarUsuario.DialogResult == DialogResult.OK) { FrmCarta.ObtenerInstancia().BtnCrearArticulo_Click(sender, e); } } }
private void CrearCategoriaToolStripMenuItem_Click(object sender, EventArgs e) { using (FrmValidarUsuario FormValidarUsuario = new FrmValidarUsuario(FrmValidarUsuario.EFiltroUsuariosAutorizados.GerentesSubGerentes)) { FormValidarUsuario.ShowDialog(); if (FormValidarUsuario.DialogResult == DialogResult.OK) { FrmVerEditarCategorias FormCrearEditarVerCategorias = new FrmVerEditarCategorias(); FormCrearEditarVerCategorias.ShowDialog(); } } }
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(); } } }
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(); } } }
private void BtnAgregarRegistro_Click(object sender, EventArgs e) { txtDetalle.Text = txtDetalle.Text.Trim(); if (ID_Registro != -1 && txtMonto.Text != string.Empty && txtMonto.Text.Substring(0, 1) != "," && txtMonto.Text.Substring(txtMonto.Text.Length - 1, 1) != ",") { using (FrmValidarUsuario FormValidarUsuario = new FrmValidarUsuario(FrmValidarUsuario.EFiltroUsuariosAutorizados.GerentesSubGerentes)) { FormValidarUsuario.ShowDialog(); if (FormValidarUsuario.DialogResult == DialogResult.OK) { if (txtDetalle.Text != string.Empty) { txtDetalle.Text = txtDetalle.Text.Substring(0, 1).ToUpper() + txtDetalle.Text.Remove(0, 1).ToLower(); } string InformacionDelError = string.Empty; ClsCajas Cajas = new ClsCajas(); Caja CrearRegistro = new Caja(); CrearRegistro.Fecha = DateTime.Today.Date; CrearRegistro.Hora = TimeSpan.Parse(DateTime.Now.ToString(@"HH\:mm\:ss")); CrearRegistro.Monto = Convert.ToDouble(txtMonto.Text); CrearRegistro.Detalle = txtDetalle.Text; CrearRegistro.ID_TipoDeMonto = ID_Registro; CrearRegistro.ID_Pedido = null; if (ID_Registro == (int)ClsTiposDeMontos.ETiposDeMontos.AperturaCaja) { CrearRegistro.ID_EstadoCaja = (int)ClsEstadosCajas.EEstadosCajas.CajaAbierta; } else { CrearRegistro.ID_EstadoCaja = (int)ClsEstadosCajas.EEstadosCajas.Activo; } CrearRegistro.ID_Usuario = FormValidarUsuario.G_ID_UsuarioQueValido; if (Cajas.Crear(CrearRegistro, ref InformacionDelError) != 0) { if (CrearRegistro.ID_TipoDeMonto == (int)ClsTiposDeMontos.ETiposDeMontos.CierreCaja) { List <Caja> BuscarRegistroCajaAbierta = Cajas.LeerListado(ClsCajas.ETipoListado.CajaAbierta, ref InformacionDelError); if (BuscarRegistroCajaAbierta != null) { foreach (Caja Elemento in BuscarRegistroCajaAbierta) { Elemento.ID_EstadoCaja = (int)ClsEstadosCajas.EEstadosCajas.Activo; Cajas.Actualizar(Elemento, ref InformacionDelError); } } else if (InformacionDelError == string.Empty) { MessageBox.Show("Fallo al listar los montos", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning); } else { MessageBox.Show($"{InformacionDelError}", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning); } } DialogResult = DialogResult.OK; Close(); } else if (InformacionDelError == string.Empty) { MessageBox.Show($"Fallo al crear el registro en caja", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning); } else { MessageBox.Show($"{InformacionDelError}", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning); } } } } else { using (FrmInformacion FormInformacion = new FrmInformacion($"Debe cargar un registro con su monto correspondiente (verifique también que no tenga la " + "coma del centavo al principio o al final).", ClsColores.Blanco, 250, 300)) { FormInformacion.ShowDialog(); } } }
/// <summary> /// Prepara el objeto de tipo formulario para mostrarlo al usuario (validadndo tambien su autorizacion) /// </summary> /// <param name="_FormMostrar">Formulario que se mostrara.</param> /// <param name="_Boton">Propiedades del evento que llamó al metodo.</param> /// <param name="_SubBoton">Obtiene el boton del submenu que llamo al evento.</param> private void PreparaFormParaMostrar(Form _FormMostrar, object _Boton, object _SubBoton = null) { // 'AccesoAutorizado' determinara si el usuario ingreso una contraseña valida, si intento abrir un Form critico. bool AccesoAutorizado = true; // 'FormAccesoEspecialAbierto = true' le indicara al reloj, que debe incrementar la variable 'MinutosInactivos', para ocultar // el Form si este se mantuvo en pantalla por mas del tiempo indicado por el usuario, por defecto esta indicado que no se aumente, hasta // que detecte que se intenta abrir un Form critico FormAccesoEspecialAbierto = false; // Preguntar si el formulario que quiere abrir es critico. if (_FormMostrar == FrmCaja.ObtenerInstancia() || _FormMostrar == FrmConfiguracion.ObtenerInstancia() || _FormMostrar == FrmCarta.ObtenerInstancia() || _FormMostrar == FrmStock.ObtenerInstancia() || _FormMostrar == FrmEstadisticasCaja.ObtenerInstancia()) { // En caso afirmativo, se pregunta si ya esta abierta para no volver a pedir contraseña (se resetea si cambia el // formulario o supera el limite de uno de estos activos). if (_FormMostrar != UltimoFormAbierto) { using (FrmValidarUsuario FormValidarUsuario = new FrmValidarUsuario(FrmValidarUsuario.EFiltroUsuariosAutorizados.GerentesSubGerentes)) { // Le doy foco a otro control para evitar el borde blanco en el boton. pnlContDeFrmsSecundarios.Select(); FormValidarUsuario.ShowDialog(); if (FormValidarUsuario.DialogResult == DialogResult.OK) { FormAccesoEspecialAbierto = true; MinutosTranscurridos = 0; } else { AccesoAutorizado = false; } } } } // If para evitar ejecutar repetidamente la carga de un formulario, si el que quiere abrir, ya esta en pantalla, // e impedir abrir los formularios especiales si no ingreso los datos de seguridad en forma correcta. if (_FormMostrar != UltimoFormAbierto && AccesoAutorizado) { SeleccionarBotonFormCritico((Button)_Boton); if (_SubBoton != null && BotonSubmenuPresionado != null || ((Button)_Boton).Name == btnEstadisticas.Name) { SeleccionarBotonFormCritico((Button)_SubBoton); } // Ocultar form viejo. if (UltimoFormAbierto != null) { UltimoFormAbierto.Hide(); pnlContDeFrmsSecundarios.Controls.Remove(UltimoFormAbierto); } if (BotonPresionado != null && BotonPresionado != (Button)_Boton) { BotonEnEstadoOriginal(BotonPresionado); } // Deseleccionar boton viejo. if (BotonSubmenuPresionado != null) { BotonEnEstadoOriginal(BotonSubmenuPresionado); } MinutosTranscurridos = 0; BotonPresionado = (Button)_Boton; //Esto evitara que los eventos move y leave le cambien el estilo al boton en el codigo de estilo. if (_SubBoton != null) { BotonSubmenuPresionado = (Button)_SubBoton; } else { BotonSubmenuPresionado = null; } _FormMostrar.TopLevel = false; _FormMostrar.Dock = DockStyle.Fill; _FormMostrar.FormBorderStyle = FormBorderStyle.None; pnlContDeFrmsSecundarios.Controls.Add(_FormMostrar); _FormMostrar.Show(); UltimoFormAbierto = _FormMostrar; if (BotonPresionado.Name != btnEstadisticas.Name && pnlContBotonesEstadisticas.Height == MEDIDA_ESTADISTICA_MENU_EXPANDIDO) { // El cambio de la propiedad visible evita un bug visual de la scrollbar pnlContBotonesMenu.Visible = false; pnlContBotonesEstadisticas.Height = MEDIDA_ESTADISTICA_MENU_CONTRAIDO; pnlSeparadorEstadisticas.Visible = false; pnlContBotonesMenu.Visible = true; } } }