Beispiel #1
0
        private bool RegistrarListadoArticulos()
        {
            if (!VerificarDatosObligatorios())
            {
                MessageBox.Show(@"Por favor ingrese los campos Obligatorios.", @"Atención", MessageBoxButtons.OK,
                                MessageBoxIcon.Error);
                return(false);
            }
            /////////////////
            ///COMPROBANTE///
            /////////////////
            ///
            long clienteId   = _clienteServicio.ObtenerClientePorDni("99999999").Id;
            long proveedorId = _proveedorServicio.ObtenerRazonSocial(txtRazonSocial.Text).Id;

            ComprobanteCompraDTO comprobante = new ComprobanteCompraDTO
            {
                Fecha       = DateTime.Now,
                ProveedorId = proveedorId,
                UsuarioId   = DatosSistema.UsuarioId,
                ClienteId   = clienteId,
                Descuento   = nudDescuento.Value,

                Items = detalles.Values.ToList()
            };

            long comprobante_id;

            comprobante_id = _comprobanteServicio.GenerarComprobanteCompra(comprobante);

            DetalleCajaDTO detalleCaja = new DetalleCajaDTO
            {
                CajaId   = DatosSistema.CajaId,
                Monto    = comprobante.Total,
                TipoPago = TipoPago.Efectivo
            };

            _detalleCajaServicio.Generar(detalleCaja);

            //////////////
            //Movimiento//
            //////////////
            MovimientoDTO movimiento = new MovimientoDTO
            {
                CajaID        = DatosSistema.CajaId,
                ComprobanteID = comprobante_id,
                Tipo          = TipoMovimiento.Egreso,
                UsuarioID     = DatosSistema.UsuarioId,
                Monto         = comprobante.Total,
                Fecha         = DateTime.Now,
            };

            _movimientoServicio.GenerarMovimiento(movimiento);


            Close();

            return(true);
        }
        public long GenerarComprobanteCompra(ComprobanteCompraDTO dto)
        {
            using (var context = new ModeloXCommerceContainer())
            {
                var nuevoComprobante = new ComprobanteCompra
                {
                    ClienteId           = dto.ClienteId,
                    Descuento           = dto.Descuento,
                    ProveedorId         = dto.ProveedorId,
                    Fecha               = dto.Fecha,
                    Numero              = 0,
                    SubTotal            = dto.SubTotal,
                    Total               = dto.Total,
                    TipoComprobante     = TipoComprobante.A,
                    UsuarioId           = dto.UsuarioId,
                    DetalleComprobantes = new List <DetalleComprobante>()
                };

                nuevoComprobante.Numero = 100_000_000 + (int)nuevoComprobante.Id;

                context.Comprobantes.Add(nuevoComprobante);

                var list = new List <DetalleComprobante>();
                foreach (var it in dto.Items)
                {
                    var detalle = new DetalleComprobante
                    {
                        ComprobanteId  = nuevoComprobante.Id,
                        SubTotal       = it.SubtotalLinea,
                        Codigo         = it.CodigoProducto,
                        Cantidad       = it.CantidadProducto,
                        PrecioUnitario = it.PrecioUnitario,
                        Descripcion    = it.DescripcionProducto,
                        ArticuloId     = it.ProductoId
                    };
                    list.Add(detalle);
                    context.DetalleComprobantes.Add(detalle);
                }
                nuevoComprobante.DetalleComprobantes = list;
                context.SaveChanges();

                return(nuevoComprobante.Id);
            }
        }