public Retiro Extraer(ExtraccionDto model) { var tarjeta = this.tarjetaRepository.GetByNumeroTarjeta(model.NumeroTarjeta); if (tarjeta != null) { if (tarjeta.Monto < model.Monto) { throw new Exception("El monto a extraer excede el monto actual de la tarjeta."); } else { var nuevoRetiro = new Retiro() { Monto = model.Monto, FechaRetiro = DateTime.Now, TarjetaId = tarjeta.Id }; var retiroAgregado = this.Add(nuevoRetiro); tarjeta.Monto -= model.Monto; this.tarjetaRepository.Update(tarjeta); return(retiroAgregado); } } else { throw new Exception("La tarjeta no existe en el sistema."); } }
public IActionResult Extraer(ExtraccionDto model) { try { var extraccion = this.repository.Extraer(model); return(this.Ok(extraccion)); } catch (Exception ex) { return(this.BadRequest(ex.Message)); } }