private void GuardarCompra() { ECompra beCompra = new ECompra { Proveedor = Convert.ToInt32(LblIDProveedor.Text), Empleado = Frm_Principal.AccesoUsernameID, TipoComprobante = CbxTipoComprobante.SelectedValue.ToString(), Serie = TxtSerie.Text, Numero = TxtNumero.Text, Fecha = Convert.ToDateTime(DtpFecha.Text), SubTotal = Compra_SubTotal, Igv = Compra_Igv, Total = Compra_Total, Estado = 1 }; NCompra boCompra = new NCompra(); if (boCompra.Agregar(beCompra) == true) { if (MLVDetalle.Items.Count > 0) { NDetalleCompra boDetalleCompra = new NDetalleCompra(); foreach (ListViewItem items in MLVDetalle.Items) { EDetalleCompra beDetalleCompra = new EDetalleCompra { Serie = beCompra.Serie, Numero = beCompra.Numero, Producto = items.SubItems[0].Text, PrecioUnitario = Convert.ToDouble(items.SubItems[3].Text), Cantidad = Convert.ToInt32(items.SubItems[4].Text), PrecioTotal = Convert.ToDouble(items.SubItems[5].Text) }; //Agregar dettalle compra if (boDetalleCompra.Agregar(beDetalleCompra) == true) { int cantidadfinal = 0; double costounitariofinal = 0; double costototalfinal = 0; //Obteniendo Ultimo Movimiento NMovimiento boM = new NMovimiento(); EMovimiento datos = boM.SeleccionarUltimoMovimientoProducto(beDetalleCompra.Producto); if (string.IsNullOrEmpty(datos.Producto)) { cantidadfinal = beDetalleCompra.Cantidad; costounitariofinal = beDetalleCompra.PrecioUnitario; costototalfinal = beDetalleCompra.PrecioTotal; } else { //Si hay datos cantidadfinal = datos.CantidadFinal + beDetalleCompra.Cantidad; costototalfinal = datos.CostoTotalFinal + beDetalleCompra.PrecioTotal; costounitariofinal = Math.Round((costototalfinal / cantidadfinal), 2); } EMovimiento beMovimiento = new EMovimiento { Fecha = DateTime.Now, TipoComprobante = beCompra.TipoComprobante, Serie = beCompra.Serie, Numero = beCompra.Numero, TipoOperacion = "02", Producto = beDetalleCompra.Producto, CantidadEntrada = beDetalleCompra.Cantidad, CostoUnitarioEntrada = beDetalleCompra.PrecioUnitario, CostoTotalEntrada = beDetalleCompra.PrecioTotal, CantidadSalida = 0, CostoUnitarioSalida = 0, CostoTotalSalida = 0, CantidadFinal = cantidadfinal, CostoUnitarioFinal = costounitariofinal, CostoTotalFinal = costototalfinal }; NMovimiento boMovimiento = new NMovimiento(); if (boMovimiento.Agregar(beMovimiento) == true) { EInventario beInventario = new EInventario { Producto = beMovimiento.Producto, ValorUnitario = beMovimiento.CostoUnitarioFinal, Existencias = beMovimiento.CantidadFinal, ValorInventario = beMovimiento.CostoTotalFinal }; NInventario boInventario = new NInventario(); boInventario.Modificar(beInventario); } } } } //message Frm_Buscar_Compra frm = Owner as Frm_Buscar_Compra; frm.Listar(); Close(); Frm_Principal.Main.ChangeMessage("La Compra se ingreso correctamente", "Success"); } else { Frm_Principal.Main.ChangeMessage("Algo salio mal", "Failed"); } }
private void Mostrar() { this.DataListado.DataSource = NDetalleCompra.MostrarBajoStock(); }