public async Task <IActionResult> ActualizarInventario(InventarioForEdit inventarioGeneral) { var editedInventario = await _repoInventario.ActualizarInventario(inventarioGeneral); return(Ok(editedInventario)); }
public async Task <InventarioGeneral> ActualizarInventario(InventarioForEdit command) { InventarioGeneral dominio = null; AjusteInventario dominio_ajuste = new AjusteInventario(); InvLod dominio_invlod = null; DateTime Fecha_out; dominio = _context.InventarioGeneral.SingleOrDefaultAsync(x => x.Id == command.Id).Result; dominio_invlod = _context.InvLod.SingleOrDefaultAsync(x => x.Id == dominio.LodId).Result; #region validar Fechas if (command.FechaExpire == "" || command.FechaExpire == null) { dominio.FechaExpire = null; } else if (!DateTime.TryParse(command.FechaExpire, out Fecha_out)) { throw new ArgumentException("Fecha de Expiración incorrecta"); } else { dominio.FechaExpire = Convert.ToDateTime(command.FechaExpire); } #endregion dominio_ajuste.Almacenado = dominio.Almacenado; dominio_ajuste.ClienteId = dominio.ClienteId; dominio_ajuste.EstadoId = command.EstadoId; if (command.FechaExpire != null) { dominio_ajuste.FechaExpire = Convert.ToDateTime(command.FechaExpire); } dominio_ajuste.FechaHoraAjuste = DateTime.Now; dominio_ajuste.FechaIngreso = dominio.FechaRegistro; if (command.FechaManufactura != null) { dominio_ajuste.FechaManufactura = Convert.ToDateTime(command.FechaManufactura); } dominio_ajuste.HuellaId = dominio.HuellaId; dominio_ajuste.InventarioId = dominio.Id; dominio_ajuste.LineaId = dominio.LineaId; dominio_ajuste.LodNum = dominio_invlod.LodNum; dominio_ajuste.LotNum = command.LotNum; dominio_ajuste.OrdenReciboId = dominio.OrdenReciboId; dominio_ajuste.ProductoId = dominio.ProductoId; dominio_ajuste.UbicacionId = dominio_invlod.UbicacionId; dominio_ajuste.UntQty = command.UntQty; dominio_ajuste.UsuarioRegistroId = command.UsuarioActualizar; dominio.LotNum = command.LotNum; dominio.UntQty = command.UntQty; if (command.FechaExpire != null) { dominio.FechaExpire = Convert.ToDateTime(command.FechaExpire); } if (command.FechaManufactura != null) { dominio.FechaManufactura = Convert.ToDateTime(command.FechaManufactura); } dominio.EstadoId = command.EstadoId; using (var transaction = _context.Database.BeginTransaction()) { try { await _context.AddAsync <AjusteInventario>(dominio_ajuste); await _context.SaveChangesAsync(); transaction.Commit(); } catch (Exception ex) { transaction.Rollback(); throw ex; } return(dominio); } }