public IActionResult Edit(int id) { var viewModel = Mapper.Map <PedidosEditViewModel>(_pedidos.GetById(id)); viewModel.SucursalId = SucursalId; return(View(viewModel)); }
public SystemValidationModel Save(VentasAddViewModel viewModel) { var venta = Mapper.Map <Venta>(viewModel); venta.DateCreated = DateTime.Now; //var timbrado = _timbrados.GetValidTimbrado(viewModel.SucursalId, viewModel.CajaId); //if (timbrado == null) // return new SystemValidationModel() { Success = false, Message = "No existe un timbrado valido registrado" }; //venta.Timbrado = timbrado; //var nroFactura = GetValidNroFactura(timbrado); //if (nroFactura == null) // return new SystemValidationModel() { Success = false, Message = "No existen numeros validos para el timbrado actual" }; if (viewModel.PagoVenta.Cambio != 0) { venta.Cambio = viewModel.PagoVenta.Cambio; } DescontarStock(viewModel.DetalleVenta, viewModel.SucursalId); venta.Estado = viewModel.CondicionVenta == Constants.CondicionVenta.Contado ? Constants.EstadoVenta.Pagado : Constants.EstadoVenta.PendientedePago; if (venta.Estado == Constants.EstadoVenta.Pagado) { SaveDetalleCaja(venta, viewModel); } if (venta.CondicionVenta == Constants.CondicionVenta.Credito) { AumentarSaldoCliente(venta); } _context.Entry(venta).State = EntityState.Added; foreach (var detalle in venta.DetalleVenta) { _context.Entry(detalle).State = EntityState.Added; } foreach (var cuota in venta.Cuotas) { _context.Entry(cuota).State = EntityState.Added; } if (viewModel.PedidoId != null) { var pedido = _pedidos.GetById(viewModel.PedidoId.Value); ChecForUpdatePedido(pedido, venta.DetalleVenta); pedido.Estado = pedido.Delivery ? Constants.EstadoPedido.EntregadoPorDelivery : Constants.EstadoPedido.Finalizado; _context.Entry(pedido).State = EntityState.Modified; } var success = _context.SaveChanges() > 0; var validation = new SystemValidationModel() { Id = venta.Id, Message = success ? "Se ha guardado correctamente la venta" : "No se pudo guardar la venta", Success = success }; return(validation); }
public IActionResult Edit(int id) { var viewModel = Mapper.Map <PedidosClienteEditViewModel>(_pedidos.GetById(id)); viewModel.Sucursales = _sucursales.GetAll().Select(x => new DropDownViewModel <int>() { Text = x.Nombre, Value = x.Id }).ToList(); return(View(viewModel)); }
public IActionResult GenerateVentaFromPedido(int pedidoId) { var pedido = _pedidos.GetById(pedidoId); var productosIds = pedido.DetallePedido.Select(x => x.ProductoId).ToList(); var productos = _productos.GetAll().Where(x => productosIds.Contains(x.Id)); var viewModel = Mapper.Map <VentasAddViewModel>(pedido); viewModel.CajaId = CajaId; viewModel.SucursalId = SucursalId; viewModel.CajaId = CajaId; viewModel.CajaAperturaCierreId = CajaAperturaCierreId; var timbrado = _timbrados.GetValidTimbrado(SucursalId, CajaId); viewModel.NroFactura = _ventas.GetValidNroFactura(SucursalId, CajaId); viewModel.NroFacturaString = _ventas.GetNroFacturaString(SucursalId, CajaId, viewModel.NroFactura); viewModel.TimbradoId = timbrado.Id; if (timbrado != null) { viewModel = Mapper.Map(timbrado, viewModel); } foreach (var detalle in viewModel.DetalleVenta) { var producto = productos.FirstOrDefault(x => x.Id == detalle.ProductoId); var detallePedido = pedido.DetallePedido.FirstOrDefault(x => x.ProductoId == detalle.ProductoId); detalle.PorcentajeIva = producto.PorcentajeIva; detalle.Nombre = detallePedido.Descripcion; detalle.Id = 0; } return(View("~/Areas/Platform/Views/Ventas/Add.cshtml", viewModel)); }