Esempio n. 1
0
        //regra 1: Um locador não pode se repetir
        private bool isPossibleToRent(Locacao locacao)
        {
            bool result = true;

            foreach (var loc in GetLocacaoNaoFinalizada())
            {
                if (loc.cliente.Id == locacao.cliente.Id)
                {
                    result = false;
                    break;
                }
            }

            return(result);
        }
Esempio n. 2
0
        public bool Update(Locacao Locacao)
        {
            if (Locacao == null)
            {
                throw new ArgumentNullException("Locacao");
            }
            int index = Locacoes.FindIndex(s => s.Id == Locacao.Id);

            if (index == -1)
            {
                return(false);
            }
            Locacoes.RemoveAt(index);
            Locacoes.Add(Locacao);
            return(true);
        }
Esempio n. 3
0
        public bool Add(Locacao Locacao)
        {
            bool addResult = false;

            if (Locacao == null)
            {
                return(addResult);
            }
            int index = Locacoes.FindIndex(s => s.Id == Locacao.Id);

            if (index == -1 && isPossibleToRent(Locacao) && isMovieAvailable(Locacao.filme))
            {
                Locacoes.Add(Locacao);
                RentMovie(Locacao);
                addResult = true;
                return(addResult);
            }
            else
            {
                return(addResult);
            }
        }
Esempio n. 4
0
 private void RentMovie(Locacao locacao)
 {
     Filmes.Where(x => x.nome == locacao.filme.nome).First().rent();
     locacao.dtDevolucaoPrevista = locacao.dtLocacao.AddDays(3);
 }