//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); }
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); }
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); } }
private void RentMovie(Locacao locacao) { Filmes.Where(x => x.nome == locacao.filme.nome).First().rent(); locacao.dtDevolucaoPrevista = locacao.dtLocacao.AddDays(3); }