コード例 #1
0
        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");
            }
        }
コード例 #2
0
 private void Mostrar()
 {
     this.DataListado.DataSource = NDetalleCompra.MostrarBajoStock();
 }