Ejemplo n.º 1
0
        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.");
            }
        }
Ejemplo n.º 2
0
        public IActionResult Extraer(ExtraccionDto model)
        {
            try
            {
                var extraccion = this.repository.Extraer(model);

                return(this.Ok(extraccion));
            }
            catch (Exception ex)
            {
                return(this.BadRequest(ex.Message));
            }
        }