private void dgv_pedidosPendientes_CellClick(object sender, DataGridViewCellEventArgs e) { if (dgv_pedidosPendientes.CurrentRow != null) { int PedidoID = (Int32)dgv_pedidosPendientes.CurrentRow.Cells[0].Value; Database.Fechas_Estados_Pedido MiEstadoPedido = new Database.Fechas_Estados_Pedido(); //update datagrid dgv_detallePedido.DataSource = null; var queryDatagrid = (from c in dc.Pedidos_Productos join p in dc.Productos on c.Producto_Cod equals p.Prod_Cod join w in dc.Pedidos on c.Pedido_Id equals w.Pedido_Id where c.Pedido_Id == PedidoID select new { Codigo = c.Producto_Cod, Descripcion = p.Prod_Desc, Cantidad = c.Cantidad_Producto, PrecioUnitario = p.Prod_Precio, //no habria que mostrar el precio unitario porque es el precio unitario actual y no el de momento del pedido, lo mismo para descripción AbonaCon = w.AbonaCon, TotalACobrar = w.TotalACobrar }).ToList(); dgv_detallePedido.DataSource = (queryDatagrid.Select(i => new { i.Codigo, i.Descripcion, i.Cantidad, i.PrecioUnitario })).ToList(); //calcular total Decimal total = queryDatagrid.Select(i => i.TotalACobrar).FirstOrDefault(); text_TotalCompra.Text = total.ToString(); //obtener abonacon Decimal AbonaCon = queryDatagrid.Select(i => i.AbonaCon).FirstOrDefault(); text_AbonaCon.Text = AbonaCon.ToString(); //calcular vuelto if (AbonaCon != 0) { text_Vuelto.Text = (AbonaCon - total).ToString(); } else { text_Vuelto.Text = "0.00"; } } else { //System.Console.WriteLine("daragrid2: no selecciono fila"); } }
private void ConfirmarPedido_Click(object sender, EventArgs e) { // Validacion de los campos, mas precisamente con cuanto abona. if (ValidarDatosPagos()) { //verificar existe seleccionado un cliente y al menos 1 producto en carrito if (CarritoPedidos.Count == 0) { MessageBox.Show("Debe agregar al menos un producto al pedido!"); return; } //generar un nuevo pedido Database.Pedido MiPedido = new Database.Pedido(); MiPedido.Cliente_Id = dc.Clientes.Where(w => w.Telefono == txt_Telefono.Text).Select(x => x.Id).FirstOrDefault(); MiPedido.Enviar = checkBox_Enviar.Checked; Decimal TotalDeCompra = 0; Decimal AbonaCompraCon = 0; Decimal.TryParse(text_TotalCompra.Text, out TotalDeCompra); Decimal.TryParse(text_AbonaCon.Text, out AbonaCompraCon); MiPedido.TotalACobrar = TotalDeCompra; MiPedido.AbonaCon = AbonaCompraCon; dc.Pedidos.InsertOnSubmit(MiPedido); dc.SubmitChanges(); int PedidoID = MiPedido.Pedido_Id; //Guardar productos de pedido foreach (Database.Pedidos_Producto carr in CarritoPedidos) { carr.Pedido_Id = MiPedido.Pedido_Id; dc.Pedidos_Productos.InsertOnSubmit(carr); } //Guardar Estado_Pedido Database.Fechas_Estados_Pedido MiEstadoPedido = new Database.Fechas_Estados_Pedido(); MiEstadoPedido.Estado_Id = 1; //Recibido MiEstadoPedido.Pedido_Id = MiPedido.Pedido_Id; MiEstadoPedido.Fecha = DateTime.Now; dc.Fechas_Estados_Pedidos.InsertOnSubmit(MiEstadoPedido); dc.SubmitChanges(); limparFormularios(); } }
private void comboBox_Estado_SelectedIndexChanged(object sender, EventArgs e) { if (dgv_pedidosPendientes.CurrentRow != null) { int PedidoID = (Int32)dgv_pedidosPendientes.CurrentRow.Cells[0].Value; Database.Fechas_Estados_Pedido MiEstadoPedido = new Database.Fechas_Estados_Pedido(); MiEstadoPedido.Estado_Id = (Int32)comboBox_Estado.SelectedValue; MiEstadoPedido.Pedido_Id = PedidoID; MiEstadoPedido.Fecha = DateTime.Now; dc.Fechas_Estados_Pedidos.InsertOnSubmit(MiEstadoPedido); dc.SubmitChanges(); updateGridStatusList(); } else { //System.Console.WriteLine("no selecciono fila"); } }