public SystemValidationModel Edit(InventariosEditViewModel viewModel) { var inventario = GetById(viewModel.Id); inventario.Estado = GetEstado(inventario); _context.Entry(inventario).State = EntityState.Modified; foreach (var detalle in viewModel.DetalleInventario) { var item = inventario.DetalleInventario.FirstOrDefault(x => x.Id == detalle.Id); item.StockActual = detalle.StockActual; item.StockEncontrado = detalle.StockEncontrado; _context.Entry(item).State = EntityState.Modified; } if (inventario.Estado == Constants.InventarioEstado.Terminado) { UpdateStock(viewModel); inventario.UsuarioFinId = viewModel.UsuarioId; } var success = _context.SaveChanges() > 0; var validation = new SystemValidationModel() { Id = inventario.Id, Message = success ? "Se ha guardado correctamente el inventario" : "No se pudo guardar el inventario", Success = success }; return(validation); }
private void UpdateStock(InventariosEditViewModel viewModel) { var productosIds = viewModel.DetalleInventario.Select(x => x.ProductoId).ToList(); var productosSucursal = _productos.GetProductoSucursal(productosIds, viewModel.SucursalId); foreach (var productoSucural in productosSucursal) { var inventarioDetalle = viewModel.DetalleInventario.FirstOrDefault(x => x.ProductoId == productoSucural.ProductoId); productoSucural.Stock = inventarioDetalle.StockEncontrado; _context.Entry(productoSucural).State = EntityState.Modified; } }
public IActionResult View(int id) { var viewModel = new InventariosEditViewModel() { SucursalId = SucursalId, UsuarioId = UserId }; var inventario = _inventario.GetById(id); viewModel.DetalleInventario = GetDetalleInventarioView(inventario); viewModel = Mapper.Map(inventario, viewModel); return(View(viewModel)); }