private void DataGridInventario_CellEditEnding(object sender, System.Windows.Controls.DataGridCellEditEndingEventArgs e) { if (e.EditAction == DataGridEditAction.Commit) { var columna = e.Column as DataGridBoundColumn; if (columna != null) { var bindingPath = (columna.Binding as Binding).Path.Path; if (bindingPath == "noExistencias") { var celdaEditada = e.EditingElement as TextBox; if (celdaEditada.Text.Contains(" ")) { FuncionesComunes.MostrarMensajeDeError("No se han guardado los cambios.\n No se aceptan espacios vacios."); } else { Provision provisionEditada = dataGridInventario.SelectedCells[0].Item as Provision; provisionEditada.activado = true; provisionEditada.noExistencias = FuncionesComunes.ParsearAEntero(celdaEditada.Text); contexto = new InstanceContext(this); EditarIngredienteClient serverEditarIngrediente = new EditarIngredienteClient(contexto); serverEditarIngrediente.Editar(provisionEditada); } } } } }
/// <summary> /// Envia al servidor la nueva información del ingtediente para que se edite en la base de datos. /// </summary> private void ActualizarDatosDeIngrediente() { try { if (InformacionEditada()) { InstanceContext context = new InstanceContext(this); EditarIngredienteClient ServicioIngrediente = new EditarIngredienteClient(context); float precio = FuncionesComunes.ParsearAFloat(IngredientePrecio.Text.Trim()); short noExistencias = FuncionesComunes.ParsearAShort(IngredienteExistencias.Text.Trim()); int minimoPermitido = FuncionesComunes.ParsearAEntero(StockMinimo.Text.Trim()); ingrediente.nombre = IngredienteNombre.Text.Trim(); ingrediente.noExistencias = noExistencias; ingrediente.ubicacion = IngredienteUbicacion.Text.Trim(); ingrediente.stockMinimo = int.Parse(StockMinimo.Text.Trim()); ingrediente.costoUnitario = precio; ingrediente.unidadMedida = UnidadMedidaCb.SelectedItem.ToString(); ServicioIngrediente.Editar(ingrediente); DeshabilitarCampos(); EstablecerInformacion(ingrediente); } else { EstablecerInformacion(ingrediente); DeshabilitarCampos(); } } catch (FormatException error) { FuncionesComunes.MostrarMensajeDeError(error.Message); } catch (OverflowException error) { FuncionesComunes.MostrarMensajeDeError(error.Message); } catch (EndpointNotFoundException) { FuncionesComunes.MostrarMensajeDeError("Ocurrió un error al tratar de guardar las modificaciones"); } }