public ActionResult <VentaViewModel> Post(VentaInputModel ventaInput)
        {
            /* var lista= new List<DetalleVenta>();
             * foreach (var item in ventaInput.Detalles)
             * {
             *     var detalleVenta= new DetalleVenta();
             *     detalleVenta.ProductoId=item.ProductoId;
             *     detalleVenta.Cantidad=item.Cantidad;
             *     detalleVenta.Precio=item.Precio;
             *     detalleVenta.TotalVenta=item.TotalVenta;
             *     //ventaNueva.Productos.Add(detalleVenta);
             *     lista.Add(detalleVenta);
             * } */
            // ventaInput.Detalles=lista;
            Venta venta    = MapearVenta(ventaInput);
            var   response = _ventaService.Guardar(venta);

            //var response = _ventaService.Guardar(ventaInput);
            if (response.Error)
            {
                //------------------------------------------------------------------------------------
                //Retornar los mensajes de validación adicionales en el mismo fomato que el ModalState
                ModelState.AddModelError("Guardar Venta", response.Mensaje);
                var problemDetails = new ValidationProblemDetails(ModelState)
                {
                    Status = StatusCodes.Status400BadRequest,
                };
                return(BadRequest(problemDetails));
                //------------------------------------------------------------------------------------
                // return BadRequest(response.Mensaje);
            }
            //var ventaViewModel = ConsultarUltimaVenta(venta.ClienteId)

            return(Ok(response.Venta));
        }
示例#2
0
        public ActionResult <VentaViewModel> Post(VentaInputModel ventaInput)
        {
            Venta venta    = MapearVenta(ventaInput);
            var   response = _ventaService.Guardar(venta);

            if (response.Error)
            {
                return(BadRequest(response.Mensaje));
            }
            return(Ok(response.Venta));
        }
示例#3
0
        public ActionResult <Venta> Post(VentaInputModel ventaInput)
        {
            Venta venta    = MapearVenta(ventaInput);
            var   response = _ventaService.Guardar(venta);

            if (response.Error)
            {
                return(BadRequest(response.Mensaje));
            }
            var response_ = _vendidoService.Guardar(ventaInput.Productos, response.Venta.Id);

            return(Ok(response.Venta));
        }
示例#4
0
        internal async Task GuardarAsyn()
        {
            CobroForm cobroForm = new CobroForm(Total);

            if (cobroForm.ShowDialog() == DialogResult.OK)
            {
                ModeloVenta.Pago pago = new ModeloVenta.Pago(cobroForm.FormaPago, Total, cobroForm.MontoPago, 0, 0);

                IList <ModeloVenta.VentaItem> ventaItems = VentaItems.Select(x => new ModeloVenta.VentaItem(x.Producto, x.Cantidad, x.Precio)).ToList();

                ModeloVenta.Venta venta = new ModeloVenta.Venta(Sesion.Usuario.Alias, ventaItems, pago);
                venta.DisminuirStock();
                await VentaService.Guardar(venta);

                Imprimir(venta);

                VueltoForm vueltoForm = new VueltoForm(pago.Vuelto);
                vueltoForm.ShowDialog();

                VentaItems.Clear();
                NotifyPropertyChanged(nameof(VentaItems));
            }
        }
示例#5
0
        private void BtnGuardar_Click(object sender, EventArgs e)
        {
            Venta venta = CrearVenta();

            string mensaje = ventaService.Guardar(venta);

            if (mensaje.Equals("Se guardaron los datos correctamente"))
            {
                MessageBox.Show(mensaje, "Información", MessageBoxButtons.OK, MessageBoxIcon.Information);
                Limpiar();
            }
            else
            {
                MessageBox.Show(mensaje, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }

            foreach (var detalleVenta in venta.DetalleVenta)
            {
                string mensajeDetalleVenta = detalleVentaService.Guardar(detalleVenta);
                MessageBox.Show(mensajeDetalleVenta, "Información", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }

            DescuentoMateriaPrima();
        }
 internal async System.Threading.Tasks.Task AnularAsync()
 {
     Venta.Anular(MotivoAnulacion, Sesion.Usuario.Nombre);
     await VentaService.Guardar(Venta);
 }