Exemplo n.º 1
0
        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");
            }
        }