示例#1
0
        private void btnRestar_Click(object sender, EventArgs e)
        {
            if (nudCobro.Value > 0)
            {
                var pedido = pedidoServicio.Buscar(PedidoId);

                if (nudCobro.Value > pedido.Adelanto)
                {
                    MessageBox.Show("No Se Puedo Restar Dinero, Lo Que Quiere Restar Es Mayor Al Adelanto", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);

                    return;
                }

                if (MessageBox.Show("Esta Seguro De Restar Dinero A La Cuenta?", "Pregunta", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                {
                    var Resto = nudCobro.Value * -1;

                    //Total Cta Cte

                    var cuentaId = ctaCteServicio.ObtenerPorIdDePedidosId(pedido.Id);

                    ctaCteServicio.SumarLoQueDebe(nudCobro.Value, pedido.ClienteId, cuentaId.Id);

                    //caja

                    var detalle = new DetalleCajaDto
                    {
                        Descripcion = $"{lblPersona.Text} - Dinero Devuelto",
                        Fecha       = DateTime.Now.ToLongDateString(),
                        Total       = Resto,
                        CajaId      = detalleCajaServicio.BuscarCajaAbierta()
                    };

                    TipoPago(detalle);

                    detalleCajaServicio.AgregarDetalleCaja(detalle);

                    cajaServicio.RestarDineroDeCaja(nudCobro.Value);

                    pedidoServicio.RestarAdelanto(nudCobro.Value, PedidoId);

                    MessageBox.Show("Dinero Regresado Al Cliente...", "Devuelto", MessageBoxButtons.OK, MessageBoxIcon.Information);

                    nudCobro.Value = 0;

                    Datos(PedidoId);
                }
            }
        }
        private void btnTerminar_Click(object sender, EventArgs e)
        {
            if (dgvGrilla.RowCount > 0)
            {
                if (MessageBox.Show("Esta Seguro de Agregar Productos a Este Pedido?", "Pregunta", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                {
                    ProductoDto producto = new ProductoDto();

                    string  segunda = string.Empty;
                    decimal total   = 0;

                    foreach (var item in ListaVenta)
                    {
                        producto = productoServicio.ObtenerPorId(item.Id);

                        segunda += " " + producto.Descripcion + " ";

                        //stock
                        productoServicio.BajarStock(producto.Id, item.Cantidad);

                        total += item.Precio * item.Cantidad;
                    }

                    pedidoServicio.SumarTotal(_PedidoId, total);//sumar el total del pedido

                    foreach (var item in ListaVenta)
                    {
                        var aux = new Producto_Pedido_Dto
                        {
                            Cantidad    = item.Cantidad,
                            ProductoId  = productoServicio.ObtenerPorId(item.Id).Id,
                            Estado      = AccesoDatos.EstadoPedido.Esperando,
                            Talle       = item.Talle,
                            PedidoId    = _PedidoId,
                            Descripcion = segunda,
                            TalleId     = talleServicio.BuscarNombreDevuelveId(item.Talle),
                            Precio      = item.Precio
                        };

                        var _Id_Pedido = producto_Pedido_Servicio.NuevoProductoPedido(aux);

                        if (_Pedido.Proceso != AccesoDatos.Proceso.Guardado || _Pedido.Proceso != AccesoDatos.Proceso.Retirado)
                        {
                            if (_Semaforo)
                            {
                                //datos
                                if (productoServicio.ObtenerPorId(item.Id).Creacion)
                                {
                                    for (int i = 0; i < item.Cantidad; i++)
                                    {
                                        var dato = new Producto_Dato_Dto
                                        {
                                            EstadoPorPedido   = AccesoDatos.EstadoPorPedido.EnEspera,
                                            Producto_PedidoId = _Id_Pedido
                                        };

                                        producto_Dato_Servicio.Insertar(dato);
                                    }
                                }
                            }
                        }

                        var ctacte = ctaCteServicio.ObtenerPorIdDePedidosId(_PedidoId);

                        ctaCteServicio.SumarLoQueDebe(total, _clienteId, ctacte.Id);
                    }

                    Bandera = true;

#pragma warning disable CS0436 // El tipo 'Afirmacion' de 'C:\Users\Pepe\Source\Repos\JoseSabeckis\KosakoJean\Presentacion.Core\Mensaje\Afirmacion.cs' está en conflicto con el tipo importado 'Afirmacion' de 'Presentacion, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'. Se usará el tipo definido en 'C:\Users\Pepe\Source\Repos\JoseSabeckis\KosakoJean\Presentacion.Core\Mensaje\Afirmacion.cs'.
                    var mensaje = new Afirmacion("Guardado", "Se Agregaron Productos");
#pragma warning restore CS0436 // El tipo 'Afirmacion' de 'C:\Users\Pepe\Source\Repos\JoseSabeckis\KosakoJean\Presentacion.Core\Mensaje\Afirmacion.cs' está en conflicto con el tipo importado 'Afirmacion' de 'Presentacion, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'. Se usará el tipo definido en 'C:\Users\Pepe\Source\Repos\JoseSabeckis\KosakoJean\Presentacion.Core\Mensaje\Afirmacion.cs'.
                    mensaje.ShowDialog();

                    btnVolver.PerformClick();
                }
            }
        }