public CarteiraDTO GetCarteiraAtivaByUsuario(long usuarioId) { Carteira carteira = _carteiraRepository.GetCarteiraAtivaByUsuario(usuarioId); var config = new MapperConfiguration(cfg => cfg.CreateMap <Carteira, CarteiraDTO>()); var mapper = config.CreateMapper(); CarteiraDTO carteiraDto = mapper.Map <CarteiraDTO>(carteira); // carteiraDto.Status = STATUS[carteiraDto.StatusId]; return(carteiraDto); }
/* * @TODO * Aplicar regras de negócio para o cancelamento */ public void cancelarCarteira(CarteiraDTO carteiraDto) { Carteira carteira = _carteiraRepository.GetCarteira(carteiraDto.Id); List <DespesaFixa> despesas = _despesaFixaRepository.getListaCarteiraAtiva(carteira.Id); if ((carteira.StatusId == (int)STATUS.FINALIZADO || carteira.StatusId == (int)STATUS.ABERTO) && despesas.Count > 0) { throw new VerificationException("Carteira já possui despesas vinculadas"); } carteira.StatusId = (int)STATUS.CANCELADO; _carteiraRepository.Update(carteira); }
public ActionResult cancelarCarteira([FromBody] CarteiraDTO carteiraDto) { try { throw new NotSupportedException("Função não permitida"); // _carteiraService.cancelarCarteira(carteiraDto); // return NoContent(); } catch (Exception e) { return(BadRequest(e.Message)); } }
public ActionResult reativarCarteira([FromRoute] long id) { CarteiraDTO carteiraDto = new CarteiraDTO(); carteiraDto.Id = id; try { Carteira carteira = _carteiraService.reativarCarteira(carteiraDto); return(Ok(carteira)); } catch (Exception e) { return(BadRequest(e.Message)); } }
public ActionResult finalizarCarteira([FromRoute] long id) { CarteiraDTO carteiraDto = new CarteiraDTO(); carteiraDto.Id = id; try { _carteiraService.finalizarCarteira(carteiraDto); return(NoContent()); } catch (Exception e) { return(BadRequest(e.Message)); } }
public ActionResult <CarteiraDTO> GetCarteira([FromRoute] long usuarioId) { CarteiraDTO carteiraDto = new CarteiraDTO(); carteiraDto.usuarioId = usuarioId; try { CarteiraDTO carteira = _carteiraService.GetCarteiraAtivaByUsuario(carteiraDto.usuarioId); return(Ok(carteira)); } catch (Exception e) { return(BadRequest(e.Message)); } }
public ActionResult <Carteira> nova([FromRoute] long usuarioId) { CarteiraDTO carteiraDto = new CarteiraDTO(); carteiraDto.usuarioId = usuarioId; try { Carteira carteiraSalva = _carteiraService.Salvar(carteiraDto); return(Ok(carteiraSalva)); } catch (Exception e) { return(BadRequest(e.Message)); } }
public ActionResult <IEnumerable <Carteira> > GetCarteiraDoUsuarioById([FromRoute] long usuarioId) { CarteiraDTO carteiraDto = new CarteiraDTO(); carteiraDto.usuarioId = usuarioId; try { ICollection <Carteira> carteiras = _carteiraService.getCarteirasByUsuario(carteiraDto.usuarioId); return(Ok(carteiras)); } catch (Exception e) { return(BadRequest(e.Message)); } }
public Carteira Salvar(CarteiraDTO carteiraDTO) { if (_carteiraRepository.hasCarteiraAtiva(carteiraDTO.usuarioId)) { throw new DuplicateWaitObjectException("Já existe uma carteira aberta"); } var config = new MapperConfiguration(cfg => cfg.CreateMap <CarteiraDTO, Carteira>()); var mapper = config.CreateMapper(); Usuario usuario = _usuarioRepository.Get(carteiraDTO.usuarioId); Carteira carteira = mapper.Map <Carteira>(carteiraDTO); carteira.Renda = usuario.Renda; _carteiraRepository.Add(carteira); return(carteira); }
public Carteira reativarCarteira(CarteiraDTO carteiraDto) { Carteira ultimaCarteira = _carteiraRepository.getUltimaCarteira(); if (carteiraDto.Id == ultimaCarteira.Id && (ultimaCarteira.StatusId == (int)STATUS.CANCELADO || ultimaCarteira.StatusId == (int)STATUS.FINALIZADO)) { DateTime now = DateTime.Now; if (ultimaCarteira.CriadoEm?.Month == now.Month && ultimaCarteira.CriadoEm?.Year == now.Year) { ultimaCarteira.StatusId = (int)STATUS.ABERTO; _carteiraRepository.Update(ultimaCarteira); return(ultimaCarteira); } throw new ArgumentException(paramName: "Carteira", message: "A carteira precisa ser do mesmo mês e ano da data de reativação"); } throw new ArgumentException(paramName: "Carteira", message: "A carteira enviada não foi a última criada ou não foi finalizada"); }
public void finalizarCarteira(CarteiraDTO carteiraDto) { Carteira carteira = _carteiraRepository.GetCarteira(carteiraDto.Id); if (carteira.StatusId != (int)STATUS.ABERTO) { throw new VerificationException("Carteira não está aberta"); } List <DespesaFixa> despesas = _despesaFixaRepository.getDespesaFixaContinuaPorCarteira(carteira.Id); foreach (var despesa in despesas) { if (despesa.StatusId == (int)STATUS.ABERTO) { throw new VerificationException("Carteira possui despesa(s) contínua(s) sem finalizar com valor final"); } } carteira.StatusId = (int)STATUS.FINALIZADO; _carteiraRepository.Update(carteira); }