Ejemplo n.º 1
0
        private async void btnEliminar_Clicked(object sender, EventArgs e)
        {
            //Si se esta eliminando un pedido ya persistido
            if (btnEliminar.Text == "Eliminar")
            {
                //Se confirma la eliminacion del pedido
                var respuesta = await DisplayAlert("Confirmar eliminacion del pedido", "¿Está seguro que desea eliminar este pedido con sus respectivos detalles?", "Si", "Cancelar");

                if (respuesta)
                {
                    //Se eliminan todos los detalles de ese pedido
                    using (var detControlador = new ControladorDetalle())
                    {
                        var detallesAEliminar = detControlador.FindByPedido(this.tempPedido.IdPedido);

                        foreach (Detalle det in detallesAEliminar)
                        {
                            detControlador.Delete(det);
                        }
                    }

                    //Se elimina el pedido en si
                    using (var pedControlador = new ControladorPedido())
                    {
                        pedControlador.Delete(this.tempPedido);
                    }

                    await Navigation.PopModalAsync();
                }
            }
            else
            {
                //Se confirma que se quiera cancelar la creacion del pedido
                if (this.tempPedido.Editable)
                {
                    var respuesta = await DisplayAlert("Confirmar cancelacion del pedido", "¿Está seguro que desea cancelar la creacion de ste pedido?", "Si", "Cancelar");

                    if (respuesta)
                    {
                        await Navigation.PopModalAsync();
                    }
                }
                else
                {
                    await Navigation.PopModalAsync();
                }
            }
        }
Ejemplo n.º 2
0
        //Cuando se presiona el boton guardar pedido
        private void btnGuardar_Clicked(object sender, EventArgs e)
        {
            bool puedoGuardar = validarCamposObligatorios();

            if (puedoGuardar)
            {
                if (lblTitulo.Text == "Agregar Pedido")
                {
                    //Se crea un pedido nuevo y se guardan los datos ingresados
                    tempPedido.IdPedido  = Convert.ToInt32(lblNumero.Text);
                    tempPedido.Editable  = true;
                    tempPedido.IdCliente = clientes[pickerCliente.SelectedIndex].IdCliente;

                    using (var cliControlador = new ControladorCliente())
                    {
                        var clienteSeleccionado = cliControlador.FindById(tempPedido.IdCliente);
                        tempPedido.Cliente = clienteSeleccionado.RazonSocial;
                    }

                    tempPedido.IdVendedor   = this.IdVendedor;
                    tempPedido.Estado       = pickerEstado.Items[pickerEstado.SelectedIndex];
                    tempPedido.FechaPedido  = dateFechaPedido.Date;
                    tempPedido.FechaEntrega = dateFechaEntrega.Date;
                    tempPedido.Subtotal     = Convert.ToDouble(lblSubTotal.Text);
                    tempPedido.GastosEnvio  = Convert.ToDouble(txtGastosEnvio.Text);
                    tempPedido.Total        = Convert.ToDouble(lblTotal.Text);
                    tempPedido.Pagado       = switchPagado.IsToggled;

                    //Se persiste el pedido a la base de datos
                    using (var pedControlador = new ControladorPedido())
                    {
                        pedControlador.Insert(tempPedido);
                    }
                }
                else
                {
                    tempPedido.IdCliente = clientes[pickerCliente.SelectedIndex].IdCliente;
                    using (var cliControlador = new ControladorCliente())
                    {
                        var clienteSeleccionado = cliControlador.FindById(tempPedido.IdCliente);
                        tempPedido.Cliente = clienteSeleccionado.RazonSocial;
                    }

                    tempPedido.Estado       = pickerEstado.Items[pickerEstado.SelectedIndex];
                    tempPedido.FechaPedido  = dateFechaPedido.Date;
                    tempPedido.FechaEntrega = dateFechaEntrega.Date;
                    tempPedido.Subtotal     = Convert.ToDouble(lblSubTotal.Text);
                    tempPedido.GastosEnvio  = Convert.ToDouble(txtGastosEnvio.Text);
                    tempPedido.Total        = Convert.ToDouble(lblTotal.Text);
                    tempPedido.Pagado       = switchPagado.IsToggled;

                    //Se persiste el pedido a la base de datos
                    using (var pedControlador = new ControladorPedido())
                    {
                        pedControlador.Update(tempPedido);
                    }
                }

                //Persistir detalles
                foreach (Detalle det in detalles)
                {
                    if (det.IdDetalle == 0)
                    {
                        det.IdPedido = tempPedido.IdPedido;
                        using (var detControlador = new ControladorDetalle())
                        {
                            detControlador.Insert(det);
                        }
                    }
                    else
                    {
                        using (var detControlador = new ControladorDetalle())
                        {
                            detControlador.Update(det);
                        }
                    }
                }

                //Eliminar detalles eliminados
                foreach (Detalle det in detallesEliminados)
                {
                    using (var detControlador = new ControladorDetalle())
                    {
                        detControlador.Delete(det);
                    }
                }

                Navigation.PopModalAsync();
            }
        }