/// <summary> /// Actualiza un usuario de forma asíncrona. /// </summary> /// <returns></returns> private async Task Editar() { Usuario usuarioPeticion = new Usuario(this.usuario.Id, this.campoNombre.Text.Trim(), this.campoCorreo.Text.Trim(), this.campoPuesto.Text.Trim(), "", "") { Permisos = this.usuario.Permisos }; bool edicion = await usuarioPeticion.EditarUsuario(); VentanaMensaje.Mensaje tipo; string mensaje; if (edicion) { this.usuario = usuarioPeticion; tipo = VentanaMensaje.Mensaje.exito; mensaje = "Usuario actualizado"; this.botonEliminar.Content = "Regresar"; } else { tipo = VentanaMensaje.Mensaje.exito; mensaje = "Lo sentimos, no pudimos actualizar el usuario"; } VentanaMensaje vMensaje = new VentanaMensaje(tipo, "Edicion", mensaje, VentanaMensaje.Botones.ok, this.cargador.Principal); vMensaje.ShowDialog(); }
/// <summary> /// Muestra un mensaje de corrección de la información del usuario. /// </summary> /// <param name="datos">Enumerador como identificador de invalidéz de los datos.</param> private void MostrarMensajeDatos(DatosUsuario datos) { VentanaMensaje ventanaMensaje; string mensaje; switch (datos) { case DatosUsuario.nombre: mensaje = "El campo 'Nombre' debe tener entre 5 y 100 caractéres"; break; case DatosUsuario.correoLongitud: mensaje = "El campo 'Correo' debe tener entre 5 y 100 caractéres"; break; case DatosUsuario.correoIncorrecto: mensaje = "El campo 'Correo' no es correcto"; break; //Puesto: default: mensaje = "El campo 'Puesto' debe tener entre 5 y 100 caractéres"; break; } ventanaMensaje = new VentanaMensaje(VentanaMensaje.Mensaje.info, "Datos no válidos", mensaje, VentanaMensaje.Botones.ok, this.cargador.Principal); ventanaMensaje.ShowDialog(); }
/// <summary> /// Registra un usuario de forma asíncrona. /// </summary> /// <returns></returns> private async Task Registrar() { string correo = this.campoCorreo.Text.Trim(); string correoNoArroba = correo.Replace("@", ""); Usuario usuarioPeticion = new Usuario(0, this.campoNombre.Text.Trim(), correo, this.campoPuesto.Text.Trim(), correoNoArroba, Encriptacion.Sha256(correoNoArroba)) { Permisos = (IList <Permiso>) this.tablaPermisos.ItemsSource }; Usuario usuarioRespuesta = await usuarioPeticion.RegistrarUsuario(); VentanaMensaje.Mensaje tipo; string mensaje; if (usuarioRespuesta.Id == 0) { tipo = VentanaMensaje.Mensaje.error; mensaje = "Lo sentimos, no pudimos registrar el usuario"; } else { tipo = VentanaMensaje.Mensaje.exito; mensaje = "Usuario registrado"; this.usuario = usuarioRespuesta; this.tablaPermisos.ItemsSource = this.usuario.Permisos; this.botonEliminar.Content = "Regresar"; } VentanaMensaje vMensaje = new VentanaMensaje(tipo, "Registro", mensaje, VentanaMensaje.Botones.ok, this.cargador.Principal); vMensaje.ShowDialog(); }
private void BotonQuitarAcabado_Click(object sender, RoutedEventArgs e) { Object elemento = this.listaAcabados.SelectedItem; if (elemento != null) { Acabado acabado = (Acabado)elemento; this.acabados.Remove(acabado); if (this.acabadosEditar.Contains(acabado)) { this.acabadosEditar.Remove(acabado); } else if (this.acabadosAgregar.Contains(acabado)) { this.acabadosAgregar.Remove(acabado); } this.acabadosQuitar.Add(acabado); this.LimpiarFormularioAcabado(); this.listaAcabados.Items.Refresh(); } else { VentanaMensaje ventanaMensaje = new VentanaMensaje(VentanaMensaje.Mensaje.info, "Elemento no seleccionado", "Debes seleccionar un acabado para quitar", VentanaMensaje.Botones.ok, this.cargador.Principal); ventanaMensaje.ShowDialog(); } }
/// <summary> /// Actualiza un material de forma asíncrona. /// </summary> /// <returns></returns> private async Task Editar() { Material materialPeticion = new Material(this.material.Id, this.campoNombre.Text.Trim(), this.campoProveedor.Text.Trim(), this.campoClave.Text.Trim(), Double.Parse(this.campoPrecio.Text.Trim()), this.checkIva.IsChecked.Value) { Ancho = Double.Parse(this.campoAncho.Text.Trim()), Alto = Double.Parse(this.campoAlto.Text.Trim()), Grosor = Double.Parse(this.campoGrosor.Text.Trim()), Moneda = (Moneda)this.comboMonedas.SelectedItem, Acabados = this.acabadosEditar }; Object[] respuesta = await materialPeticion.EditarMaterial(this.acabadosAgregar, this.acabadosQuitar); VentanaMensaje.Mensaje tipo; string mensaje; if ((bool)respuesta[0]) { tipo = VentanaMensaje.Mensaje.exito; mensaje = "Material actualizado"; this.botonEliminar.Content = "Regresar"; this.VaciarListas(); this.ActualizarAcabadosEditados((IList <Acabado>)respuesta[1]); } else { tipo = VentanaMensaje.Mensaje.exito; mensaje = "Lo sentimos, no pudimos actualizar el Material"; } VentanaMensaje vMensaje = new VentanaMensaje(tipo, "Edicion", mensaje, VentanaMensaje.Botones.ok, this.cargador.Principal); vMensaje.ShowDialog(); }
/// <summary> /// Registra un material de forma asíncrona. /// </summary> /// <returns></returns> private async Task Registrar() { Material materialPeticion = new Material(0, this.campoNombre.Text.Trim(), this.campoProveedor.Text.Trim(), this.campoClave.Text.Trim(), Double.Parse(this.campoPrecio.Text.Trim()), this.checkIva.IsChecked.Value) { Ancho = Double.Parse(this.campoAncho.Text.Trim()), Alto = Double.Parse(this.campoAlto.Text.Trim()), Grosor = Double.Parse(this.campoGrosor.Text.Trim()), Moneda = (Moneda)this.comboMonedas.SelectedItem, Acabados = this.acabados }; Material materialRespuesta = await materialPeticion.RegistrarMaterial(this.categoria.Id); VentanaMensaje.Mensaje tipo; string mensaje; if (materialRespuesta.Id == 0) { tipo = VentanaMensaje.Mensaje.error; mensaje = "Lo sentimos, no pudimos registrar el material"; } else { tipo = VentanaMensaje.Mensaje.exito; mensaje = "Material registrado"; this.material = materialRespuesta; this.acabados = this.material.Acabados; this.listaAcabados.ItemsSource = this.acabados; this.botonEliminar.Content = "Regresar"; this.LimpiarFormularioAcabado(); this.VaciarListas(); } VentanaMensaje vMensaje = new VentanaMensaje(tipo, "Registro", mensaje, VentanaMensaje.Botones.ok, this.cargador.Principal); vMensaje.ShowDialog(); }
/// <summary> /// Muestra un mensaje de corrección de la información ingresada. /// </summary> /// <param name="datos">Enumerador con el estado de invalidéz de los datos.</param> private void MostrarMensajeDatos(DatosMaterial datos) { string mensaje; switch (datos) { case DatosMaterial.nombre: mensaje = "El campo 'Nombre' debe tener entre 5 y 100 caractéres"; break; case DatosMaterial.clave: mensaje = "El campo 'Clave' debe tener entre 5 y 100 caractéres"; break; case DatosMaterial.proveedor: mensaje = "El campo 'Proveedor' debe tener entre 5 y 100 caractéres"; break; case DatosMaterial.precio: mensaje = "El campo 'Precio' es requerido"; break; case DatosMaterial.precioIncorrecto: mensaje = "El campo 'Precio' no es correcto"; break; case DatosMaterial.ancho: mensaje = "El campo 'Ancho' es requerido"; break; case DatosMaterial.anchoIncorrecto: mensaje = "El campo 'Ancho' no es correcto"; break; case DatosMaterial.alto: mensaje = "El campo 'Alto' es requerido"; break; case DatosMaterial.altoIncorrecto: mensaje = "El campo 'Alto' no es correcto"; break; case DatosMaterial.grosor: mensaje = "El campo 'Grosor' es requerido"; break; //Grosor incorrecto: default: mensaje = "El campo 'Grosor' no es correcto"; break; } VentanaMensaje ventanaMensaje = new VentanaMensaje(VentanaMensaje.Mensaje.info, "Datos no válidos", mensaje, VentanaMensaje.Botones.ok, this.cargador.Principal); ventanaMensaje.ShowDialog(); }
/// <summary> /// Solicita la confirmación para la baja de un material seleccionado. /// </summary> private void SolicitarConfirmacionBaja() { VentanaMensaje vMensaje = new VentanaMensaje(VentanaMensaje.Mensaje.confirmacion, "Baja", "¿Está seguro de eliminar el material?", VentanaMensaje.Botones.okCancel, this.cargador.Principal); bool? respuesta = vMensaje.ShowDialog(); if (respuesta.Value) { this.botonEliminar.IsEnabled = false; Material material = (Material)this.tabla.SelectedItem; this.EliminarMaterial(material); } }
/// <summary> /// Verifica la selección de un elemento de la tabla. /// </summary> /// <param name="seleccion">Enumerador con el tipo de acción a realizar.</param> /// <returns> /// Un booleano con la confirmación de selección. /// </returns> private bool ValidarSeleccion(Seleccion seleccion) { Object elemento = this.tabla.SelectedItem; bool valida = elemento != null; if (!valida) { string mensaje = seleccion == Seleccion.editar ? "editar" : "eliminar"; VentanaMensaje ventanaMensaje = new VentanaMensaje(VentanaMensaje.Mensaje.info, "Elemento no seleccionado", "Debes seleccionar un elemento para " + mensaje + ".", VentanaMensaje.Botones.ok, this.cargador.Principal); ventanaMensaje.ShowDialog(); } return(valida); }
/// <summary> /// Obtiene los materiales relacionados con una palabra clave de forma asíncrona. /// </summary> /// <param name="clave">Palabra clave para la búsqueda (campo de búsqueda).</param> /// <returns></returns> private async Task BuscarMateriales(string clave) { IList <Material> materialesBusqueda = await Material.ObtenerMateriales(this.categoria.Id, clave); if (materialesBusqueda == null) { VentanaMensaje ventanaMensaje = new VentanaMensaje(VentanaMensaje.Mensaje.info, "Datos no válidos", "Escribe una palabra clave para buscar", VentanaMensaje.Botones.ok, this.cargador.Principal); ventanaMensaje.ShowDialog(); } else { this.materiales = materialesBusqueda; this.CargarMateriales(); } }
/// <summary> /// Obtiene los usuarios relacionados con una palabra clave de forma asíncrona. /// </summary> /// <param name="clave">Palabra clave para la búsqueda.</param> /// <returns></returns> private async Task BuscarUsuarios(string clave) { IList <Usuario> usuariosBusqueda = await Usuario.ObtenerUsuarios(clave); if (usuariosBusqueda == null) { VentanaMensaje ventanaMensaje = new VentanaMensaje(VentanaMensaje.Mensaje.info, "Datos no válidos", "Escribe una palabra clave para buscar", VentanaMensaje.Botones.ok, this.cargador.Principal); ventanaMensaje.ShowDialog(); } else { this.usuarios = usuariosBusqueda; this.CargarUsuarios(); } }
/// <summary> /// Elimina un material de forma asíncrona. /// </summary> /// <param name="material">Material para eliminar.</param> /// <returns></returns> private async Task EliminarMaterial(Material material) { bool baja = await material.EliminarMaterial(); VentanaMensaje.Mensaje tipo; string mensaje; if (baja) { tipo = VentanaMensaje.Mensaje.exito; mensaje = "Material eliminado"; this.BorrarMaterial(material); } else { tipo = VentanaMensaje.Mensaje.error; mensaje = "Lo sentimos, no pudimos eliminar el material"; } VentanaMensaje vMensaje = new VentanaMensaje(tipo, "Baja", mensaje, VentanaMensaje.Botones.ok, this.cargador.Principal); vMensaje.ShowDialog(); this.botonEliminar.IsEnabled = true; }
/// <summary> /// Muestra un mensaja para informar sobre la edición / creación de un acabado. /// </summary> private void MostrarMensajeEdicion() { VentanaMensaje ventanaMensaje = new VentanaMensaje(VentanaMensaje.Mensaje.info, "Acabado", "Aún no guardas el nuevo acabado", VentanaMensaje.Botones.ok, this.cargador.Principal); ventanaMensaje.ShowDialog(); }
/// <summary> /// Muestra un mensaje de error. /// </summary> /// <param name="mensaje">Texto del mensaje.</param> private void MostrarMensajeError(string mensaje) { VentanaMensaje ventanaMensaje = new VentanaMensaje(VentanaMensaje.Mensaje.info, "Datos no válidos", mensaje, VentanaMensaje.Botones.ok, this); ventanaMensaje.ShowDialog(); }