public static void Actualizar(MovimientoDet objEntidad) { using (SqlConnection con = GetConnection.UNITE()) { bool openConn = (con.State == ConnectionState.Open); if (!openConn) { con.Open(); } using (SqlCommand cmd = new SqlCommand("usp_MovimientoDet_Update", con)) { cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.Add("@pIdMovimientoDet", SqlDbType.Int).Value = objEntidad.IdMovimientoDet; cmd.Parameters.Add("@pIdProducto", SqlDbType.Int).Value = objEntidad.IdProducto; cmd.Parameters.Add("@pCantidad", SqlDbType.Int).Value = objEntidad.Cantidad; cmd.Parameters.Add("@pPrecioUnit", SqlDbType.Decimal).Value = objEntidad.PrecioUnit; cmd.Parameters.Add("@pPrecioConDscto", SqlDbType.Decimal).Value = objEntidad.PrecioConDscto; cmd.Parameters.Add("@pImporte", SqlDbType.Decimal).Value = objEntidad.Importe; cmd.ExecuteNonQuery(); } if (con.State == ConnectionState.Open) { con.Close(); } } }
public async Task <IActionResult> Create(int id, [Bind("IdMovimiento,IdArticulo,IdAlmacen,Cantidad,Precio")] MovimientoDet movimientoDet) { try { if (ModelState.IsValid) { movimientoDet.IdMovimiento = id; var movimiento = await _context.Movimiento .AsNoTracking() .FirstOrDefaultAsync(m => m.IdMovimiento == id); if (movimiento == null) { return(NotFound()); } if (movimiento.Tipo == TipoMovimiento.S) { var inventario = _context.Inventario .Where(m => m.IdArticulo == movimientoDet.IdArticulo && m.IdAlmacen == movimientoDet.IdAlmacen) .SumAsync(a => a.Cantidad); if (inventario.Result < movimientoDet.Cantidad) { ModelState.AddModelError("", "La Existencia es menor a la cantidad."); return(View(movimientoDet)); } } _context.Add(movimientoDet); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Edit), "Movimiento", new { id = movimientoDet.IdMovimiento })); } } catch (DbUpdateException /* ex */) { //Log the error (uncomment ex variable name and write a log. ModelState.AddModelError("", "No se pueden guardar los cambios. " + "Inténtalo de nuevo y si el problema persiste" + "consulte al administrador de su sistema."); } PopulateArticulosDropDownList(movimientoDet.IdArticulo); PopulateAlmacenDropDownList(movimientoDet.IdAlmacen); return(View(movimientoDet)); }
public async Task <IActionResult> DeleteConfirmed(int id) { try { var movimiento = await _context.MovimientoDet .AsNoTracking() .FirstOrDefaultAsync(m => m.IdMovimientoDet == id); var IdMovimiento = movimiento.IdMovimiento; MovimientoDet movimientoDet = new MovimientoDet() { IdMovimientoDet = id }; _context.Entry(movimientoDet).State = EntityState.Deleted; await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Edit), "Movimiento", new { id = IdMovimiento })); } catch (DbUpdateException /* ex */) { //Log the error (uncomment ex variable name and write a log.) return(RedirectToAction(nameof(Delete), new { id = id, saveChangesError = true })); } }